• XSS.stack #1 – первый литературный журнал от юзеров форума

Вопрос по отделения данных от кода

porky365

RAID-массив
Пользователь
Регистрация
02.02.2010
Сообщения
92
Реакции
0
Всем привет, прошу помощи. Разрабатываю двигло для одной особой цели, требуется как то находить и детектить код.

То есть где то есть
Код:
mov edi, loc_10011EE

Код:
.text:010011EE                         loc_10011EE:                           ; DATA XREF: .text:0100108Co
.text:010011EE A1 3C 20 00 01                          mov     eax, __newmode
.text:010011F3 68 2C 20 00 01                          push    offset dword_100202C
.text:010011F8 FF 35 38 20 00 01                       push    __dowildcard
.text:010011FE A3 2C 20 00 01                          mov     dword_100202C, eax
.text:01001203 68 1C 20 00 01                          push    offset unk_100201C
.text:01001208 68 20 20 00 01                          push    offset unk_1002020
.text:0100120D 68 18 20 00 01                          push    offset unk_1002018
.text:01001212 FF 15 7C 10 00 01                       call    ds:__imp____wgetmainargs
.text:01001218 83 C4 14                                add     esp, 14h
.text:0100121B A3 28 20 00 01                          mov     dword_1002028, eax
.text:01001220 C3                                      retn

Как видно, тут нету стандарт пролога, вот думал как детектить этот код. как пример можно находить инструкции call ds:__imp__ и дальше дизасмить код, но тогда я узнаю граф тот что будет ниже этой инструкции, а вот как детектить то что выше не знаю. Вот нужна реальная помощ, кто советом, кто линками.
 
в общем тему можно закрывать, так как мой двиг проверяет весь код и обнаруживает не верный код, тема закрыта, все равно никто ничего не хочет писать :cry2:
 
учитывая ds:__imp____ это не просто код и данные в сферически вакуумном адресном пространстве а кодосекция пе-модуля, в котором есть такая инструкция ссылающаяся на поле с адресом функции в таблице импорта. пе-модули не нужно рассматривать тыкая ссылкой хз куда ибо у них есть точка входа. начните с нее, например
 
TrashGen при всем уважении, но ты пойми, я этот вопрос поднял не оттого что этого не знаю, а от того что часно встречаются файлы, на функции которых ведут оффсеты из .data секции, а мне важно парсить все блоки пе файла, все дата директори паршу норм и все такое, не должно быть после парсинга мест в стиле UNKNOWN_SPACE, это критично если придется внедрять код, тогда просто могут вылезти баги, ибо надо будет правит все каллы а именно этот ты пропустиш. Так что ладно, сам разберусь
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх