Salt la conținut

SUBIECTE NOI
« 1 / 5 »
RSS
La mulți ani @A_Stere!

Vrabia a infundat cosul centralei

Lipsa semnal decodor Kaon NA1000B

Recomandare sursa!
 Avanti Delta Vox

20 de miliarde de euro ingropati ...

Costuri PUZ

Varsta Biologica vs Varsta Fizica
 Disjunctor maxilar - lipsa aparit...

Mutare sediu PFA

Recomandare clinica/medic pentru ...

Imbatranire prematura
 Ranjetul la oameni

recomandare AC 2 dormitoare mici

Ce femeie are si zahar si miere

Vas wc care nu inchide
 

Asamblare

- - - - -
  • Vă rugăm să vă autentificați pentru a răspunde
26 răspunsuri în acest subiect

#1
bobyca2003

bobyca2003

    Member

  • Grup: Members
  • Mesaje: 519
  • Înscris: 04.02.2006
Pentru win32 cei care cunosc programul Masm32 sau orice program de asmblare.Pentru microcontrolere din seria avr ,in special programul AVR STUDIO.Pentru cei care nu cunosc, sunt dispus sa le arat cate ceva.Am cunostinte de baza din win32 si avr, multe idei in cap si poate cu ajutorul meu si al vostru punem ceva programe simple la punct.Nu accept pe cei care vor sa faca lucruri complexe,ca asa au vazut ei pe net, dar nu au habar de programare sau ce e ala un procesor si cum functioneaza.Momentan sunt implicat de unul singur intr-un proiect de cnc, dar mere greu si nu prea am motivatie.:)
Va astept sa-mi vizitati pagina XXX si daca va intereseaza si ne strangem mai multi putem face face si o miniconferinta pe mess. Id-ul meu este bobyca2003.

Editat de ciuly, 31 ianuarie 2007 - 12:28.
reclama


#2
Gurban_Dan

Gurban_Dan

    Active Member

  • Grup: Members
  • Mesaje: 1.267
  • Înscris: 13.07.2005
Tare !

Eu "ma arunc primul".

Am probleme cu virusii pe calculator.
Programele antivirus sunt cam varza.

Eu propun asa, sa facem o banala suma de verificare pentru fiecare fisier.
Adica executabilul sa se autoverifice daca a fost modificat sau nu.

Asta, stiu, fac si unii antivirusi, dar deja algoritmul e cunoscut si virusul il poate modifica.
Eu zic asa: face o suma de stare, dupa un algoritm aleator, pe care virusul sa nu-l stie plecand de la un cod introdus de la tastatura. Codul nu e retinut nicaieri el doar e o "cheie" de criptare a sumei de stare.


Sau:
Virusul se copiaza.
->daca se copiaza Soft/Bios cum fac marea majoritate folosind functiile / intreruperile sistemului ( chiar si int 13h BIOS), am putea modifica aceste intreruperi astfel incat sa arate orice incercare de modificare a unui executabil.

-> scria pe HDD se poate face de altfel si prin scria direct la port de genul in /out dx,ax, bme nu mai stiu cat e portul hardului dar sigur se poate scrie/citi si asa.



Dar nu garantez ca voi sta asa bine cu tipul.

#3
Gurban_Dan

Gurban_Dan

    Active Member

  • Grup: Members
  • Mesaje: 1.267
  • Înscris: 13.07.2005
Ati lasat-o balta cu antivirusul ?

Atitia au nevoie de un antivirus bun.

Eu zic asa : Orice drum, oricat de greu incepe cu un pas. Hadeti sa facem primul pas.

#4
cprogrammer2005

cprogrammer2005

    Member

  • Grup: Members
  • Mesaje: 329
  • Înscris: 29.07.2005

 Gurban_Dan, on Feb 26 2007, 20:46, said:

Ati lasat-o balta cu antivirusul ?

Atitia au nevoie de un antivirus bun.

Eu zic asa : Orice drum, oricat de greu incepe cu un pas. Hadeti sa facem primul pas.

  Si pe mine ma incanta ideea de a creea un nou antivirus dar eu nu stiu asm aproape deloc ,numai C. -_-  Oricum mi-ar face placere sa lucrez la un asemenea proiect. :rolleyes:

#5
bobyca2003

bobyca2003

    Member

  • Grup: Members
  • Mesaje: 519
  • Înscris: 04.02.2006
Am deschis si eu cateva fisiere cu niste virusi scrisi in asm mai demult, dar se pot scrie foarte usor si in alte limbaje de programare.Problema este ca atunci cand dezasamblezi programul ai in fata foarte multe linii de cod.La un fisier de 100k daca media pe linie linia de cod este de 1 DWORD rezulta 25k linii adica 250.000 de linii de cod.Daca fisierul e facut in c sa spunem ca mai reducem din ele dar dac e in asm ,va dati seama ca hackerul nu a facut risipa de spatiu si orice locatie e folosita la maximum.Oricum parerea mea este ca e mult mai usor sa faci un virus(de fapt este un exe...nu?) decat sa cauti acel virus in calculatorul tau.Este exact ca piatra aruncata intr-un lac.Eu nu zic ca nu e posibil...dar 90% sunt sanse sa abdicati din prima clipa.Nu e totul sa stiti limbajul de asamblare, ca e usor de invatat, ci sa lucrati cu el! Eu unul m-as baga,trimite-ti un virus mic , daca exista sub 10k sa discutam pe marginea lui.Ca teoretic pare simplu...dar practic...nu!Si inca o data va avertizez ca cunostintele mele sunt spre medii... nu spre avansate! Bafta la toata lumea!

#6
Gurban_Dan

Gurban_Dan

    Active Member

  • Grup: Members
  • Mesaje: 1.267
  • Înscris: 13.07.2005
< eu nu stiu asm aproape deloc ,numai C >
E forte bine ! Iti multumesc ca ni te alaturi in acesta ofensiva impotriva virusilor.


<100k daca media pe linie linia>
E lasa, ca nu-l citesti tu tot. Faci un program care sa ti-l citesca.


< Eu unul m-as baga,trimite-ti un virus mic , daca exista sub 10k sa discutam pe marginea lui. >

E, nu vorbi asa ca ne rashcheteaza administratorul !
Eu pot sa-ti dau o baza de date care e publica dar pana la logica ....


http://www.totallyge...390dc8097abb435


Sunt in ordine alfabetica, f. frumos aranjati, sunt si in C.

Deci noi facem un program care citeste fisierele pe rand si cauta codul sau semnatura acestor virusi.

Nu reface fisierul, ca ar fi prea complicat, ci doar il strge sau il pune in "carantina" adica il modifica sa nu mai poata fi executat.

< Ca teoretic pare simplu...dar practic...nu >
Nu prea e bine sa pui virusi in calculator. Eu unul am "scapat" cativa si atrebuit sa dau Format.
EU zic sa folosim ujn emulator de calculator daca are cineva.

#7
ciuly

ciuly

    dus cu pluta pe apa sambetei

  • Grup: Senior Members
  • Mesaje: 7.848
  • Înscris: 17.03.2004

 Gurban_Dan, on Feb 27 2007, 12:29, said:

[...]
< Eu unul m-as baga,trimite-ti un virus mic , daca exista sub 10k sa discutam pe marginea lui. >

E, nu vorbi asa ca ne rashcheteaza administratorul !
[...]
< Ca teoretic pare simplu...dar practic...nu >
Nu prea e bine sa pui virusi in calculator. Eu unul am "scapat" cativa si atrebuit sa dau Format.
EU zic sa folosim ujn emulator de calculator daca are cineva.
1. administratorii n-au vreme sa se uite peste tot ce discutati voi, dar moderatorii da ;)
2. microsoft virtual pc. e free. sau VMWare pt cine are bani (e mai bun ca vpc)

#8
Gurban_Dan

Gurban_Dan

    Active Member

  • Grup: Members
  • Mesaje: 1.267
  • Înscris: 13.07.2005
Multumesc.
Si o lista cu instructiunile procesorului :
http://en.wikipedia....uction_listings
Cele la care scrie "Floating Point" si sunt prefixate cu f sunt pentru coprocesor (notat FCPU).

Deci sa facem primul pas.

Programul va rula sub windows. In ce limbaj il scriem ?
Delphi, Visula C ?
Trebuie sa imi gasesc si eu compilatorul.

CE trebuie sa faca programul:
1. Afiseaza o imagine - "emblema" care dispare;
2. Apare o fereastra Windows;
3. Selectezi ce folder vrei sa scanezi;
4. Deschide pe rand fiecare fisier din acel folder si din subfolderele lui.
Sa zicem ca deschidem numai executabilele, pe care le citim caracter cu caracter.
(asta e primul pas)

Editat de Gurban_Dan, 27 februarie 2007 - 13:15.


#9
cspot

cspot

    Guru Member

  • Grup: Senior Members
  • Mesaje: 12.855
  • Înscris: 22.07.2004
Pana cand te apuci sa faci un antivirus trebuie sa fii tare pe dezansamblare . Eventual sa mai ai cativa baieti destepti care sa te ajute .
   Nu este suficient sa afli ca un oarecare fisier exe a fost modificat . Trebuie sa afli si ce anume a fost modificat si unde se afla virusul respectiv in corpul executabilului .
   Vedeti voi ...? Virusii nu mai sunt ca altadata programele de sine statatoare sau secvente de cod care se adaugau la coada unor executabile . Nici executabilele nu mai sunt ca pe vremea lui MS-DOS 6.3 .
  
   Sistemele moderne de operare nu prea te mai lasa sa pui mana pe intreruperi , iar ca sa captezi software toate intreruperile doar ca sa prinzi cateodata un virus care face ceva pe-acolo este dezastruos pentru viteza sistemului respectiv .

#10
bobyca2003

bobyca2003

    Member

  • Grup: Members
  • Mesaje: 519
  • Înscris: 04.02.2006
Eu nu inteleg o chestie! Deci daca iau un kit de instalare ,scot executabilul si-l modific,de exemplu sa-mi schimbe data la calculator sau sa umble prin registri  si fac kitul inapoi si-l pun pe net pe emule sau dc++ ...inseamna ca am facut un virus? Pai daca asta inseamna virus... e mai usor sa faci decat sa-l cauti prin acel program, sau pot sa-l fac sa se transfere in alt program ,sau in mai multe.... Lamuriti-ma si pe mine! Ca nu-mi "sclipeste" mintea la capitolul asta!Mi se pare foarte usor sa mai adaug cateva linii de cod sau ca sa nu se observe la lungime ,sa scot atatea linii cate adaug si apoi sa-ti dau sa cauti acele linii de cod printre milioanele de lini ... Si nu mai inteleg ce este "semnatura unui virus" si la ce ajuta ea... ca daca m-as pune as face in fiecare zi cate 10 virusi... si altii sa-i caute... Dar cred ca lucrurile nu-s chiar asa de simple cum i-mi inchipui...plus ca acest subiect e declarat...tabu!!!

#11
Gurban_Dan

Gurban_Dan

    Active Member

  • Grup: Members
  • Mesaje: 1.267
  • Înscris: 13.07.2005
< Deci daca iau un kit de instalare ,scot executabilul si-l modific,de exemplu sa-mi schimbe data la calculator >
MMM. Nu e asa simplu. Tu de fiecare data lansezi in exacutie un program executabil.

Crezi ca poti modifica asa usor un exacutabil ?
Asa cum am mai spus el are o zona de header care codifica de unde incep intrusctiunile in fisier, realoca jump-uri,..

Tu ai reusit sa mai atasezi niste intructiuni (cod) unui executabil  ?

Eu am incercat si am reusit doar "pacalind" calculatorul. Am facut eu programul l-am compilat/ linkediat/executat, dar am avut grija sa pun in el un "bloc" de nop-uri. Apoi am inlocuit nop-urile cu coduri in EXE.
E simplu asa.  

sau sa fii "maniac" si sa scrii programul in assembler cu db 30,2f, 34 si tot asa  :D



<Si nu mai inteleg ce este "semnatura unui virus" si la ce ajuta ea... ca daca m-as pune as face in fiecare zi cate 10 virusi...>
Daca faci un virus nou, antivirusul nu-l va detecta.
Unele dintre ele mai fac o "suna de verificare" si au sanse sa observe ca fisierul a fost modificat.  

<Sistemele moderne de operare nu prea te mai lasa sa pui mana pe intreruperi , iar ca sa captezi software toate intreruperile doar ca sa prinzi cateodata un virus care face ceva pe-acolo este dezastruos pentru viteza sistemului respectiv . >

Mai asta cam asa e. Dar oricum sunt modificate ele ( intreruperile ) de alte procese incat tot greu merge.
Eu vreu sa "controlez" copierea pe HDD care se poate face soft prin n intreruperi, bios prin 13h si hard prin in/out port asta nu stiu cum se poate controla.

Alta ideie ar fi ca intreruperea 1a care se genereaza la fiere a 18.5a parte din secunda sa citesca codul ce va fi executat de procesor si ... tot nu prea ai ce face.

Dar, eu zic sa ne apucam de treaba si sa facem un program.
Castigi sau pierzi, negustor te numesti !
Iese sau nu iese antivirusul noi incercam sa-l facem.

Editat de Gurban_Dan, 27 februarie 2007 - 19:57.


#12
Gurban_Dan

Gurban_Dan

    Active Member

  • Grup: Members
  • Mesaje: 1.267
  • Înscris: 13.07.2005
< Eventual sa mai ai cativa baieti destepti care sa te ajute . >

Adica voi !

#13
cspot

cspot

    Guru Member

  • Grup: Senior Members
  • Mesaje: 12.855
  • Înscris: 22.07.2004

 Gurban_Dan, on Feb 27 2007, 19:53, said:

<Sistemele moderne de operare nu prea te mai lasa sa pui mana pe intreruperi , iar ca sa captezi software toate intreruperile doar ca sa prinzi cateodata un virus care face ceva pe-acolo este dezastruos pentru viteza sistemului respectiv . >

Mai asta cam asa e. Dar oricum sunt modificate ele ( intreruperile ) de alte procese incat tot greu merge.
Eu vreu sa "controlez" copierea pe HDD care se poate face soft prin n intreruperi, bios prin 13h si hard prin in/out port asta nu stiu cum se poate controla.

Alta ideie ar fi ca intreruperea 1a care se genereaza la fiere a 18.5a parte din secunda sa citesca codul ce va fi executat de procesor si ... tot nu prea ai ce face.


      Intreruperile preprogramate din BIOS nu te ajuta cu nimic . Asta era odata pe vremea programelor in 16 biti .
     Acum intreruperile sunt modificate dinamic de catre sistemul de operare . Si chiar sa nu fie asa , nu ti-ar folosi la nimic .
     13 h ? Bleah ! Intreruperea pentru accesarea discurilor fixe . Ce faci cu ea , in conditiile in care exista o gramada de discuri virtuale , removabile sau mapate . O sa ai surpriza ca windowsul nu foloseste deloc intreruperea respectiva , ci acceseaza direct discul in cauza prin intermediul unui driver . Daca un program doreste sa foloseasca intreruperea 13h , sistemul de operare o va simula pentru el , sistem de operare care presupunem ca a fost compromis de un virus si in care nu poti avea incredere .
     Apoi vine memoria RAM. Sistemul de operare aloca memorie dinamic pentru fiecare program in parte . Daca este un virus in memorie nu prea ai cum sa-l descoperi dupa ce a compromis modul de alocare al memoriei si iti arata doar ceea ce doreste el sa vezi .

#14
bobyca2003

bobyca2003

    Member

  • Grup: Members
  • Mesaje: 519
  • Înscris: 04.02.2006
Deci... eu stiu din practica (ca am mai scos pe ici pe colo cate un messagebox sau cum i-i zice sau m-am mai chinuit la programele mai simple sa sar peste codul care cere parola sau serial)ca un exe incepe cu header care are informatii despre zonele de date din executabil.
Primul pachet este programul al doilea datele ,s.a.m.d.
Eu vad programul asezat "virtual" si anume :De la adresa 400000  este headerul de care spuneai apoi de la adresa 401000 este programul propriu zis si in functie de lungimea programului sun asezate apoi datele.
La date ,intr-adevar ,e mai complicat de lucrat,pentru ca daca am un .db un sir de caractere de o lungime anume,nu pot scrie decat in lungimea acelui sir,ptr ca daca scriu mai departe pot altera datele de la locatia urmatoare.Dar la programul propriu zis,pot sterge cateva linii si le inlocuiesc cu programasul meu,bineinteles stirbesc din cateva functii ale programului ,dar pot face asta.
Si in general la terminarea unei "zone " de memorie din executabil nu incepe imediat alta zona ,ci de obicei mai are cateva zeci de locatii"goale" pe care le poti folosi!
Deci posibilitati ar fi...dar de ce sa ma apuc de asa ceva?A face rau e foarte usor!
Am observat la programele mai "tari" ca sunt criptate, dar si ele sunt oarecum "vulnerabile" cu attach process, cred ca la ele e mai greu de pus cod in executabil, cu toate ca nu am incercat.
Si apropo de intreruperi, eu nu am vazut nici o intrerupere in win32, intreruperile au fost pe cand era pe 16 biti.Nici eu nu inteleg chiar toate "chichitele" din calculator, dar i-ti spun sigur ca se poate foarte usor virusa un exe, daca acea virusare consta in "modificarea" catorva linii de cod din program.

#15
Africanul

Africanul

    Active Member

  • Grup: Members
  • Mesaje: 1.739
  • Înscris: 24.10.2003
Ca sa faci un antivirus pentru un sistem de operare - Windows de exemplu - iti trebuie:
1) Cunostinte SOLIDE (scris cu bold, Arial, 72) despre arhitectura OS;
2) Cunoscand pasul 1, automat trebuie aruncat un ochi in NTOSKRNL.EXE, si in cel mai tare dll al Windows-ului: HAL.DLL;
3) Evident ca trebuie sa programati niste driveri pentru a putea monitoriza harddisk-ul, traficul pe retea, etc, numai de pe RING 0 (kernel mode) se poate face acest lucru.
4) Programatori experimentati, capabili sa produca niste algoritmi eficienti (siguri si rapizi) pentru engine-ul antivirusului (scanare de fisiere, de exemplu);
5) Evident ca este recomandat C-ul pentru acest lucru, n-are rost sa explic pentru a mia oara de ce, macar pentru partea de engine - un antivirus ar trebui sa aiba niste dll-uri macar, care constituie nucleul lui, ceva intermediar intre drivere si interfata; partea de interfata poate fi scrisa in orice limbaj usurel de programare;
6) Avand in vedere ca se lucreaza cu drivere, testarea trebuie facuta extrem de bine, orice scapare poate busi instantaneu sistemul de operare;
7) Un antivirus nu-l scrie orice elev de clasa a X-a, care daca a reusit sa faca ecuatia de gradul 2 singur, deja se viseaza cel mai tare programator... Sunt deja firme consacrate, cu sute de angajati (oare cati angajati are Softwin?), cu background solid, iar orice idee revolutionara va trece voua prin cap acum in mod sigur a fost analizata sau implementata acum 10 ani de una din aceste firme.

EDIT: Stiati ca cei de la SoftWin sunt chemati si noaptea la serviciu, daca se descopera vreun cod suspect nou? Asta inseamna mentenanta real-time!

Editat de Africanul, 27 februarie 2007 - 22:33.


#16
trident

trident

    Active Member

  • Grup: Members
  • Mesaje: 1.185
  • Înscris: 15.01.2006
Mi se pare normal sa se lucreze in 3 schimburi la partea de analiza de chestii suspecte pentru raspuns rapid, nu peste tot este acelas fus orar

Editat de trident, 28 februarie 2007 - 14:24.


#17
Bytencoder

Bytencoder

    Junior Member

  • Grup: Members
  • Mesaje: 202
  • Înscris: 04.10.2005

 Africanul, on Feb 27 2007, 22:28, said:

2) Cunoscand pasul 1, automat trebuie aruncat un ochi in NTOSKRNL.EXE, si in cel mai tare dll al Windows-ului: HAL.DLL;

Eu cred ca aici gresesti. Acest "dll" exista tocmai pentru ca programatorii de drivere WDM sa NU trebuiasca sa arunce un ochi in el. Poate fi util numai celor interesati sa aprofundeze un pic si arhitectura hardware pe care lucreaza (ceea ce nu e deloc un lucru rau, dar nu e obligatoriu pentru un programator WDM).
O sa vi se para ciudat, dar modelul WDM a fost creat tocmai pentru a decupla progrmatorii (de drivere) de hardware, si asta in ideea de a face codul portabil pe platforme hardware complet diferite.
In teorie, acelasi cod sursa de driver poate functiona fara nici o modificare atat pe IA-386, cat si pe ARM, IA-64, sau orice alta platforma hardware suportata de Windows (versiunile bazate pe WDM).

#18
anxiety

anxiety

    Junior Member

  • Grup: Members
  • Mesaje: 54
  • Înscris: 21.02.2007
Deci sunt trei mari sectiuni :

  -  Softul de reverse-engine cu ajutorul caruia se desfac executabilele si se indentifica virusul propriuzis .
  -  un analizor rapid de executabile capabil sa identifice coduri malitioase
  - antivirusul propriuzis care sa faca analiza fisierelor pe baza de semnaturi .

   Mai sunt necesari cateva sute de betatesteri care sa puna umarul ca doar virusii astia nu se gasesc pe toate drumurile.

Anunturi

Bun venit pe Forumul Softpedia!

Utilizatori activi: 1

0 membri, 1 vizitatori, 0 utilizatori anonimi

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate