Показать полную графическую версию : builder и asembler
как билдере вставить код после дизасемблера asm не помогает пишет ошибки *в исходном тексте асемблера.
может это ида не так дизасемблирует?
shurikan
25-01-2003, 03:12
Valerik
Давай по порядку.
Что именно дизассемблировал?
На чём написано то, что дизассемблировал?
Дизассемблированный текст будет использоваться как отдельный модуль?
asm? Это на самом деле tasm в Buildere?
Какой версией IDA пользуешься?
Какие имена сегментов в дизассемблированном тексте?
Исправлено: shurikan, 3:14 25-01-2003
ruslandh
25-01-2003, 06:28
Valerik
IDA и не дает такого кода, который можно прямо вставить в программу - просто она дает код, который может понять человек, а привидение синтаксиса к удобоваримому виду - на Вашей совести :)
shurikan
25-01-2003, 06:45
ruslandh
Ну это только если весь exe-шник сразу дизассемблируешь. Для небольших модулей выходной результат вполне приемлем. Я дизассемблировал библиотеку от LabWindows, естественно отдельно по каждому объектнику. Они под Builder хорошо встали. А саму библиотеку я использовать не мог, т.к. она в VC собиралась.
Исправлено: shurikan, 6:47 25-01-2003
shurikan
А ты не думал, что Borland предоставлет тул для конвертирования библиотек от VC в их собственный формат? И никаких проблем не было бы...
shurikan
имеется 2 ехе-шника один виндовый а другой досовский!
это файлы раскодировки некоторых текстовых файлов
одни с расширением bin а другой lib
вот их то я и пытаюсь дешифровать
Добавлено:
shurikan
Дизассемблированный текст будет использоваться как отдельный модуль?
я просто сбираюсь выдирать некоторые отрывки асемблера
asm? Это на самом деле tasm в Buildere?
вот про енто я ненаю!
Какой версией IDA пользуешься?
4.15
Какие имена сегментов в дизассемблированном тексте?
dword_70dd 2B80A67h; DATA XREF: seg000:BB7Br
dword_74dd 2350A67h; DATA XREF: seg000:A423r seg000:A431r ...
db 67h; g
word_79dw 0E90Ah; DATA XREF: sub_BFC0+Br sub_BFC0+3Cr...
db 1;
db 67h; g
word_7Ddw 980Ah; DATA XREF: seg000:BBAFw seg000:D536w ...
db 1;
db 67h; g
db 0Ah;
db 70h; p
word_83dw 6701h; DATA XREF: sub_C040+7r sub_C07F+20r...
word_85dw 4E0Ah; DATA XREF: sub_C040+3r sub_C07F+1Cr
word_87dw 6701h; DATA XREF: sub_BFC0+26w sub_C07F+Ar...
word_89dw 390Ah; DATA XREF: sub_BFC0+2Aw sub_C07F+6r...
word_8Bdw 6701h; DATA XREF: sub_BFC0+6Fw sub_C040+1Ar ...
word_8Ddw 0DE0Ah; DATA XREF: sub_BFC0+36r sub_BFC0+75w ...
db 0;
db 67h; g
db 0Ah;
byte_92db 0BDh; DATA XREF: sub_BAD2+22r seg000:BB22r
db 0;
db 67h; g
db 0Ah;
db 0A5h; Ґ
db 0;
db 67h; g
db 0Ah;
db 88h; ?
db 0;
db 67h; g
db 0Ah;
word_9Edw 69h; DATA XREF: seg000:BAC1w
db 67h; g
примерно так выглядет!
vasketsov
25-01-2003, 23:52
Valerik
Приведи код, на что ругается.
shurikan
26-01-2003, 04:20
ivank
Конвертер предназначен только для библиотек, связок с dll, к сожалению. Нормальный бинарник они не берут.
Valerik
lib ты как один модуль не дизассемблируешь. IDA работает с отдельными объектниками из библиотеки. Если это 32-х разрядные модули IDA вставит вверху оператор model flat, но забывает при этом упомянуть тип проца, а tasm на это матерится. Добавь над той строкой .386p, потом компилируй tasm-ом, он должен быть в каталоге <BCB...>\BIN. Ещё проверь, чтобы остались только сегменты кода и данных, а также ссылки на внешние функции и данные. Всё остальное повырежь. А то, что будешь вырезать из бинарника придётся оформлять самому. Не забудь строки про модель и проц. Всё, что относится к коду помести в сегмент кода, ну а данные - в сегмент данных. Только отследи все ссылки, а то прога не слинкуется. Ну а если это DOS-овские примочки, а ты собираешься вставлять их прямо в виндовый код, то придётся сначала дизассемблированный код преобразовать из 16-разрядного в 32-разрядный.
Кстати то, что ты привёл в качестве примера - явно из DOS, и это только данные...
Исправлено: shurikan, 4:25 26-01-2003
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.