pozdrav
necu da patchujem neki jmp (sto bi isto bilo interesantno :)), jer necu da me anti virus lako detektuje (ako je na pocetku) i ne bih da pratim program (pretpostavljam da bi trebalo da pravim potpuni disasembler i za to da bih pronasao jmp ??). Videcu, jos nista nisam odlucio, tek planiram... pravo pitanje je i bilo : kako da otkrijem da li ce se nesto u .code sekcije relocirati (ne kapiram bas ni kada / kako se to desava ??).
Tablice za disasembl vec studiram :) ako neko ima nesto sto bi mi pomoglo, bio bih vrlo zahvalan.
necu ni koristiti glupave jednobajtne nopove ili nesto slicno... pre mi je palo na pamet, nesto ovako:
Code:
push eax
push ecx
mov eax, 22111984h ; nije random, vec se broj u svakoj generaciji menja, nece valjda neko potrefiti datume ?? :)
mov eax, random ; random komanda
add eax, random ; random komanda
add ecx, random ; random komanda (ovde bi moglo cak da bude i random mnogo komandi...)
cmp ecx, eax
jcc Vrati_se_nazad ; random
sub ecx, 3
xor eax, eax
jmp Vrati_se_nazad
Vrati_se_nazad:
pop ecx
pop eax
Stvaran_kod:
...
tako nesto, pa onda moj program gleda da li ima negde push eax, push ecx, i onaj odredjen broj. par slicnih izmena i vecih blokova, pa onda ima i onih manjih... (tipa cmp reg, reg1; jge label sa cmp reg1, reg; jbe label i slicno).
Kod od metafora jeste ogroman, ali kada se bolje pogleda, najveci deo otpada na disasembler / asembler i na pe infekciju. nisam ga bas celog detaljno citao, ali na pocetku pise i da je polimorfan, pa su i to par linija... imam jos 3 meseca da ovo odradim, jel mislis/mislite da nema sanse ?? u slucaju da nema sanse da uspem, koliko daleko bi mogao da stignem ? (ok, ne znate te me, nije poznato koliko brzo programiram itd. al eto, neka procena...)