Witam wszystkich serdecznie, jako, ze jest to mój pierwszy post. Mam kilka pytań. Po pierwsze co się stało z crackerską sceną czemu nie działa strona ctrl-d,ani woodmann? Drugie pytanie jest poważniejsze i mam nadzieje, że znajdzie się ktoś kto pomoze.
Jak wiadomo mnemoniki asemblerowe tlumaczone sa na ich odpowiedniki szesnastkowe tzw opcody. Wiadomo tez, ze korzystając z wielopostaciowości języka i wskakiwania w srodek instrukcji można tworzyc samomodyfikujacy sie kod. Dla przykladu:
00400000: jmp 00400001
00400002: mov al,93
Wykonanie tej sekwencji spowoduje ze instrukcja mov al,93 zostanie zinterpretowana jako xchg eax,ebx. Gdyż instrukcja mov ma opcody: B0 93, natomiast z uwagi, że przeskakujemy pierwszy bajt zostaje nam 93 czyli własnie xchg eax,ebx.
Mam nadzieje, ze zbytnio nie gmatwam
Problem jest taki, że przygotowałem sobie malutkie crackme. Osiedziałem się chwile, żeby kilka linijek same się modyfikowało. I teraz chce to zakodzic. Oczywiście nie mgoe tego zrobić w RadAsm, gdyz na moje oko tammoge zrobic jmp etykieta, a nie jmp adres. W RadAsm wiec dalem sobie troche nopów. Odpaliłem Olly'ego i wstukałem w miejsce nopów te instrukcje. Po naciśneiciu ctrl-A (analiza kodu). Olly robi, no rzeczy dziwne. Nici z smc w kazdym razie. Pomyslalem ze oszukam olly'ego i wstukalem w mijesca tych nopow odpowiednie wartosci bezposrednio w HexEdytorze, ale wtedy Olly zinterpretowal to tak jak bylo czyli bez efektu SMC (samomodyfikowalnosci kodu) a zbedne bajty wykryl jako dane:
db 83
db f0
itd
Takze bardzo nie dobrze. Zauwazylem ze wszystko w ollym jest ok pokazuje instrukcje tak jak trzeba nawet najbardziej kosmiczne w stylu mov, eax, dword ptr[ebp + esi*8 + 25d5f5cch] zgodnie z tym jak je umyslilem opcodami ale zaczyna sie sypac w momencie napisania dowolnej instrukcji skoku (jmp, je, jnz, jg itd.). Jak olly wykryje odwolanie do srodka instrukcji automatycznie wszystkie pominiete bajty zmienia w dane a z reszty robi zwykle instrukcje i psuje w ten sposob caly efekt SMC:/
Mam nadzieje, ze ktos mnie zrozumie Pozdrawiam
PS. Dałem taki post także na innym forum, przepraszam jeśli głupio to wygląda, ale nei chce mi sie dwa razy pisać tego samego na inny sposób