|
|
| Тема |
Re: работа с WinDasm и хекс редактор [re: voyager] |
|
| Автор | Гeнчo (Нерегистриран) | |
| Публикувано | 27.12.02 17:34 |
|
|
|
Ами опитай следното:
Първо, прочети малко за структурата на EXE-файла и за PE-headera. Важно е за по-нататъшната работа.
Различните части от кода са записани в ЕХЕ-то в секции. В началото на ЕХЕ-то има таблица на секциите, в която е записано кое парче от кода къде във файла се намира, и от кой виртуален адрес се зарежда в паметта. Поглеждаш виртуалния адрес на НАЧАЛОТО на кода, който дисасмваш (обикновено е 00401000h, но може и да е различен). Намираш секцията, и определяш от къде във файла почва. После с проста сметка определяш необходимото ти парче къде е във файла (секцията е непрекъсната, има секция за код, данни и т.н., дисасемблера някъде е споменал името и).
Има и друг начин, за по-напреднали :))
С HEX-редактора поглеждаш от къде почва кода (в началото на ЕХЕ-то, където свършват данните, разредени с много нули, и винаги е на адрес, кратен на 16, обикновено е кратен на 1024 = 400h). Обикновено това е началото на кода (с много малки изключения) и съответства на виртуалния адрес на код-секцията (00401000 в случая). От тук нататък по същия начин.
Успех!
| |
| |
|
|
|