Pozwoliłem sobie odświeżyć ten temat, bo niepierwszy raz spotykam się z disassemblingiem w dziwnej postaci.
1. Inżynieria wsteczna w większości programów (licencji) jest nielegalna, wykorzystuje się ją na potrzeby cracków, keygenów, activatorów i podczas testów aplikacji docelowej u developerów pod kątem luk w programie. W związku z tym należy zapomnieć o W32DASM ( dissambler ) czy SoftICE( np. oczekuje na sygnały z systemu[wyświetlenie okna, uruchomienie exeka, skok do rejestru], swoisty debugger )
2. Kod wygenerowany w postaci binarnej jest nieczytelny (niezupełnie, ale zgubić się można już po kilkunastu bitach)
3. Ten który otrzymujemy w assemblerze czyli instrukcje typu MOV i inne są czytelne, ale przykładowo instrukcja w C++/Pascalu zajmująca jedną linijkę może zająć od kilku do kilkudziesięciu, a nawet więcej linii w ASM.
Stąd Krom, Lewin i inni skrobią w Object Pascalu IDE -> Delphi lub we Free Pascalu IDE -> Lazarus. Mogli wykorzystać Qt/C++, ale im dłużej wgłębiam się w Pascala tym bardziej go doceniam.
Przydatne natomiast są programy do 'wyciągania' resourców bezpośrednio spakowanych w exekach.
Ja tam miałem i c++ i pascala w szkole ale wszystko zależy od tego jak cie belfer nauczy a nam się trafiła taka kobita która tego nie potrafiła choć pascala do grafiki nauczyła nas na odpierdol się to c++ wprowadziła w połowię semestru a miał o być od 3 kl i co się potem okazało? pomijając to że przeleżała w szpitalu pół roku i mieliśmy wykłady w szkole średniej ale w każdym razie oddaje jej coś w C jako zaliczenie na C++ myślicie ,że widziała różnicę?. Podstaw c++ żadnych napisz głupią wizytówkę bez przechodzenia do następnej lini jak nie wiesz co i jak. Jednak mimo wszystko to czego wymagają w technikum to jest nic w porównaniu z projektami studenckimi czy grami jak quake 3 arena czy gta 4 napisanej w c++ bodaj.