RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > можно ли реально бинарник (драйвер или EXE в формате LX) прогнать через дизассемблер; > > > > Это можно. > > > > > полученный сорец на ассемблере модифицировать (конкретно надо файл на ассемблере прогнать через некий преобразователь, на выходе которого получается опять файл на ассемблере), > > > > И это. > > > > > и затем снова прогнать через ассемблер и линкер, > > > > Без проблем. > > > > > и чтобы после этого опять получился рабочий исполняемый файл? > > > > А вот с этим уже могут быть проблемы. Пример: где-то в программе в качестве операнда используется размер некоей структуры или смещение поля в ней, а ты эту структуру модифицировал, да так, что её размер изменился (или смещение того поля изменилось). А дизассемблер имеет только голое число и понятия не имеет, откуда оно взялось. > > > Или изменение адресов функций после перекомпиляции - тоже может оказаться существенным. > > А если (как мне уже подсказали) взять EXE не один, а с .sym-файлом -- и взять IDA, то по идее, адреса функций дизассемблер заменит на их имена? -- тогда изменение адресов функций несущественно, ведь ассемблер заново по расположению меток вычислит эти адреса -- так ведь?
_, _, _, _, _ _ _,_
(_ | / \ |\ | | |_/
, ) | , \ / | \| | | \
~ ~~~ ~ ~ ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.