дизассемблирование exe-шников
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
дизассемблирование exe-шников - 2005-03-03 09:48:54
|
|
|
tm100
Сообщений: 5
Оценки: 0
Присоединился: 2005-03-03 09:26:35
|
НАРОД!!![sm=14.gif] Такая просьба - дайте кто-нибудь ссылки на парный ассемблер/дизассемблер, работающий с asm-файлами и желательно не имеющий ограничений по размеру ассемблируемого файла (у меня asm около 45 метров). Заранее признателен.
|
|
|
дизассемблирование exe-шников - 2005-03-04 02:17:40
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
Берёшь Interactive Disassembler Pro, и любой асм, чем такая комбинация не нравится?
|
|
|
дизассемблирование exe-шников - 2005-03-06 01:28:15
|
|
|
tm100
Сообщений: 5
Оценки: 0
Присоединился: 2005-03-03 09:26:35
|
Э-э…вообще-то IDA это дизассемблер (у меня v3.7) и из asm рабочего exe-шника он не сделает [sm=sm128.gif](там по-моему даже в readme написано). Мне же необходимо перегнать exe в asm, а затем обратно в exe, поэтому мне нужна именно пара ассемблер/дизассемблер.
|
|
|
дизассемблирование exe-шников - 2005-03-06 06:51:10
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
Поясняю. Берёшь IDA. Дизассемблируешь.
Вариант No. 1. Программа дизассемблирована полностью. Открываешь в текстовом редакторе правишь, компилируешь совместимым ассемблером.
Вариант No. 2. В процессе дизассемлирования найдено место которое надо изменить. Насколько я помню, IDA позволяет менять байтики в исходном *exe. Берёшь и меняешь. А для добавления кучи байтиков надо как-то выпендриваться отдельно, например написав скрипт на встроенном в IDA скрипт-языке. А ежели я помню неправильно и IDA не позволяет менять байтики. То этот-самый скрипт-язык + C (maybe + libBFD) — создаём патч для *exe.
|
|
|
дизассемблирование exe-шников - 2005-03-06 16:48:14
|
|
|
tm100
Сообщений: 5
Оценки: 0
Присоединился: 2005-03-03 09:26:35
|
Вот то-то и оно, что совместимым. А какой из них совместимый и где его взять? P.S. А на счет написания патча где-то слышал…надо будет подумать.
|
|
|
дизассемблирование exe-шников - 2005-03-07 07:09:02
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
любой с интеловским синтаксисом. masm32, tasm, nasm, as. ищи на гугле
|
|
|
дизассемблирование exe-шников - 2005-03-08 15:43:12
|
|
|
tm100
Сообщений: 5
Оценки: 0
Присоединился: 2005-03-03 09:26:35
|
Что-то инструкций в моем asm-файле они совершенно не понимают - выдают ошибки[sm=em88.gif]. пробовал в NASM и TASM.
|
|
|
дизассемблирование exe-шников - 2005-03-08 15:46:32
|
|
|
jEnizix
Сообщений: 1797
Оценки: 0
Присоединился: 2004-12-30 11:03:50
|
а MASM не пробовал =)))
|
|
|
дизассемблирование exe-шников - 2005-03-09 06:22:14
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
бывает… Так ты просто запусти в IDA поиск всех таких инструкций и как найдёшь говори чтоб они записывались как данные. Кстати а есть кто-нибудь кто объяснит что это за инструкция `icebp'? Если я правильно помню название, то насколько лет назад, именно эта инструкция вылезла в IDA, и её не понимал ни один asm.
|
|
|
дизассемблирование exe-шников - 2005-03-10 23:50:43
|
|
|
tm100
Сообщений: 5
Оценки: 0
Присоединился: 2005-03-03 09:26:35
|
1)На счет icebp вот ссылка: http://www.x86.org/secrets/opcodes/icebp.htm. На гугле можно еще кучу всякого базара найти. 2)masm32 пробовал - аналогично. 3)По поводу автозамены - понятно, но что-то много всего разного, да и файл длинный, наверно что-то неправильно делаю. С помощью тулзов в masm32 или tasm32 можно asm из exe получить или нет, а то я только дебаггеры вижу?
|
|
|
дизассемблирование exe-шников - 2005-03-11 01:17:11
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
В masm и tasm есть "локальный" дизассемблер внутри дебуггера: он просто умеет переводить опкоды в более читабельный вид. А насчёт того что не компиляется: а ты уверен что дизассеблёж проведён до конца? Это может помешать обратной компиляции. Я вообще не советую дизассемблировать до конца, нашёл кусок который надо сменить, и сменил прямо в бинарнике.
|
|
|
|
|