Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   builder и asembler (http://forum.oszone.net/showthread.php?t=30696)

Valerik 25-01-2003 01:24 209746

как билдере вставить код после дизасемблера asm не помогает пишет ошибки *в исходном тексте асемблера.
может это ида не так дизасемблирует?

shurikan 25-01-2003 03:12 209747

Valerik
Давай по порядку.
  1. Что именно дизассемблировал?
  2. На чём написано то, что дизассемблировал?
  3. Дизассемблированный текст будет использоваться как отдельный модуль?
  4. asm? Это на самом деле tasm в Buildere?
  5. Какой версией IDA пользуешься?
  6. Какие имена сегментов в дизассемблированном тексте?


[s]Исправлено: shurikan, 3:14 25-01-2003[/s]

ruslandh 25-01-2003 06:28 209748

Valerik
IDA и не дает такого кода, который можно прямо вставить в программу - просто она дает код, который может понять человек, а привидение синтаксиса к удобоваримому виду - на Вашей совести :)

shurikan 25-01-2003 06:45 209749

ruslandh
Ну это только если весь exe-шник сразу дизассемблируешь. Для небольших модулей выходной результат вполне приемлем. Я дизассемблировал библиотеку от LabWindows, естественно отдельно по каждому объектнику. Они под Builder хорошо встали. А саму библиотеку я использовать не мог, т.к. она в VC собиралась.


[s]Исправлено: shurikan, 6:47 25-01-2003[/s]

ivank 25-01-2003 14:29 209750

shurikan
А ты не думал, что Borland предоставлет тул для конвертирования библиотек от VC в их собственный формат? И никаких проблем не было бы...

Valerik 25-01-2003 14:30 209751

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 209752

Valerik
Приведи код, на что ругается.

shurikan 26-01-2003 04:20 209753

ivank
Конвертер предназначен только для библиотек, связок с dll, к сожалению. Нормальный бинарник они не берут.

Valerik
lib ты как один модуль не дизассемблируешь. IDA работает с отдельными объектниками из библиотеки. Если это 32-х разрядные модули IDA вставит вверху оператор model flat, но забывает при этом упомянуть тип проца, а tasm на это матерится. Добавь над той строкой .386p, потом компилируй tasm-ом, он должен быть в каталоге <BCB...>\BIN. Ещё проверь, чтобы остались только сегменты кода и данных, а также ссылки на внешние функции и данные. Всё остальное повырежь. А то, что будешь вырезать из бинарника придётся оформлять самому. Не забудь строки про модель и проц. Всё, что относится к коду помести в сегмент кода, ну а данные - в сегмент данных. Только отследи все ссылки, а то прога не слинкуется. Ну а если это DOS-овские примочки, а ты собираешься вставлять их прямо в виндовый код, то придётся сначала дизассемблированный код преобразовать из 16-разрядного в 32-разрядный.

Кстати то, что ты привёл в качестве примера - явно из DOS, и это только данные...


[s]Исправлено: shurikan, 4:25 26-01-2003[/s]


Время: 11:30.

Время: 11:30.
© OSzone.net 2001-