0 / 0 / 0
Регистрация: 23.05.2016
Сообщений: 6
|
|
1 | |
Дизассемблирование: получение кода asm из com25.05.2016, 21:05. Показов 3993. Ответов 32
Метки нет (Все метки)
Здравствуйте!
По учёбе очень нужно из программы в формате .com получить исходный код в формате .asm. В Ассемблере я смыслю чуть лучше, чем никак, и сейчас смотрю в IDA и Hiew и не представляю, что делать: IDA показывает одно, а Hiew совершенно другое. Можете подсказать алгоритм действий и/или полезные статьи на тему добычи и очистки исходного кода программы на языке Assembler?
0
|
25.05.2016, 21:05 | |
Ответы с готовыми решениями:
32
Дизассемблирование кода Дизассемблирование кода Дизассемблирование кода команды с префиксом Дизассемблирование jar файла, отладка байт-кода |
183 / 121 / 26
Регистрация: 18.05.2015
Сообщений: 509
|
|
25.05.2016, 21:35 | 2 |
QWERTYfish, а большой код ? сколько байт ?
0
|
0 / 0 / 0
Регистрация: 23.05.2016
Сообщений: 6
|
|
25.05.2016, 21:59 [ТС] | 3 |
tahir_, .com весит 959 байт.
0
|
183 / 121 / 26
Регистрация: 18.05.2015
Сообщений: 509
|
|
25.05.2016, 22:12 | 4 |
QWERTYfish, а IDA Free пробывал?
Добавлено через 6 минут QWERTYfish, кинь файл
0
|
0 / 0 / 0
Регистрация: 23.05.2016
Сообщений: 6
|
|
25.05.2016, 22:16 [ТС] | 5 |
tahir_, ну да, выше же написано, но IDA ведь не весь исходный код показывает? Или я не так понимаю?
0
|
183 / 121 / 26
Регистрация: 18.05.2015
Сообщений: 509
|
|
25.05.2016, 22:22 | 6 |
QWERTYfish, кинь файл, уж любопытно посмотреть,
tahir-s@yandex.ru
0
|
183 / 121 / 26
Регистрация: 18.05.2015
Сообщений: 509
|
|
26.05.2016, 06:54 | 8 |
0
|
Модератор
|
|
26.05.2016, 07:57 | 10 |
Лучше уточнить у ТС исходную постановку задачи. Почему-то ощущение, что требуется сделать лабу по массивам или текстовым режимам. ТС не смог найти исходник, но "нашёл" готовую com-программу...
Ну невозможно представить другую ситуацию, когда IDA даёт мусор - IDA интуитивно понятна (если чуть знать ассемблер).
1
|
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
||||||
26.05.2016, 08:49 | 11 | |||||
QWERTYfish, Ненада Иду обижать, Ида хорошая, Ида умеет делать asm-файлы.
FILE | Produce | Create ASM File . . . или просто Alt + F10 Получается, чтото вроде:
0
|
Эксперт Hardware
|
|
26.05.2016, 10:07 | 12 |
Вполне возможно..
Интересно, сможет она дизассемблировать такой файл? Штатные дизасмы тут бесполезно юзать, только если в отладчике посмотреть на регистры и записывать на бумажку. Могу заручиться, что файл чистый.. Исходник нашёл в сети и переписал его под свой лад. Если кому интересен - могу выложить. Обычный "Hello World!"
0
|
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
26.05.2016, 10:27 | 13 |
R71MT,
дизассемблировала сплошные CALL
0
|
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
||||||
26.05.2016, 10:59 | 15 | |||||
R71MT,
Взяла она его, вот.
0
|
Эксперт Hardware
|
|
26.05.2016, 11:12 | 16 |
..новая метка и так до конца. Нужен отладчик.. Вот что показывает W32Dasm. Больше ничего нет:
Кликните здесь для просмотра всего текста
Код
Disassembly of File: Hello.COM Code Offset = 00000000, Code Size = 00000061 Data Offset = 00000000, Data Size = 00000000 +++++++++++++++++++ ASSEMBLY CODE LISTING ++++++++++++++++++ //********************** Start of Code in Object BinaryCode ************** Program Entry Point Not Available //********************** Start of Code in Segment: 1 ************** :0001.0100 E80100 call 0104 :0001.0103 E8F7DC call DDFD :0001.0106 E80100 call 010A :0001.0109 E8B048 call 49BC :0001.010C E80100 call 0110 :0001.010F E8CD29 call 2ADF :0001.0112 E80100 call 0116 :0001.0115 E8B065 call 66C8 :0001.0118 E80100 call 011C :0001.011B E8CD29 call 2AEB :0001.011E E80100 call 0122 :0001.0121 E8B06C call 6DD4 :0001.0124 E80100 call 0128 :0001.0127 E8CD29 call 2AF7 :0001.012A E80100 call 012E :0001.012D E8B06C call 6DE0 :0001.0130 E80100 call 0134 :0001.0133 E8CD29 call 2B03 :0001.0136 E80100 call 013A :0001.0139 E8B06F call 70EC :0001.013C E80100 call 0140 :0001.013F E8CD29 call 2B0F :0001.0142 E80100 call 0146 :0001.0145 E8B021 call 22F8 :0001.0148 E80100 call 014C :0001.014B E8CD29 call 2B1B :0001.014E E80100 call 0152 :0001.0151 E831C0 call C185 :0001.0154 E80100 call 0158 :0001.0157 E8CD16 call 1827 :0001.015A E80100 call 015E :0001.015D E8C3C3 call C523 :0001.0160 C3 ret :0001.0161 00000000000000000000 BYTE 10 DUP(0) :0001.016B 00000000000000000000 BYTE 10 DUP(0) :0001.0175 00000000000000000000 BYTE 10 DUP(0) :0001.017F 00000000000000000000 BYTE 10 DUP(0) :0001.0189 00000000000000000000 BYTE 10 DUP(0) :0001.0193 00000000000000000000 BYTE 10 DUP(0) :0001.019D 00000000000000000000 BYTE 10 DUP(0) :0001.01A7 00000000000000000000 BYTE 10 DUP(0) :0001.01B1 00000000000000000000 BYTE 10 DUP(0) :0001.01BB 00000000000000000000 BYTE 10 DUP(0) :0001.01C5 00000000000000000000 BYTE 10 DUP(0) :0001.01CF 00000000000000000000 BYTE 10 DUP(0) :0001.01D9 00000000000000000000 BYTE 10 DUP(0) :0001.01E3 00000000000000000000 BYTE 10 DUP(0) :0001.01ED 00000000000000000000 BYTE 10 DUP(0) :0001.01F7 00000000000000000000 BYTE 10 DUP(0) :0001.0201 00000000000000000000 BYTE 10 DUP(0) :0001.020B 00000000000000000000 BYTE 10 DUP(0) :0001.0215 00000000000000000000 BYTE 10 DUP(0) :0001.021F 00000000000000000000 BYTE 10 DUP(0) :0001.0229 00000000000000000000 BYTE 10 DUP(0) :0001.0233 00000000000000000000 BYTE 10 DUP(0) :0001.023D 00000000000000000000 BYTE 10 DUP(0) :0001.0247 00000000000000000000 BYTE 10 DUP(0) :0001.0251 00000000000000000000 BYTE 10 DUP(0) :0001.025B 00000000000000000000 BYTE 10 DUP(0)
0
|
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
26.05.2016, 11:14 | 17 |
0
|
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
26.05.2016, 11:51 | 19 |
R71MT, но мой XVGA ни HIEW, ни IDA без лишних телодвижений не возьмут. Там шифровка от шрифтов Adobe Type1(.PFB) — спасибо Вадиму Суворову, автору FontLab'a и моему учителю. Руссификатр, кстати, не жмётся ни одним архиватором.
0
|
Эксперт Hardware
|
|
26.05.2016, 12:32 | 20 |
..как-то скачал я его, но пока не разбирался что-к-чему. Надо будет посмотреть.
Там 2 архива: "XVGA_SRC" и "EVA_FONT". Ты про них говоришь?
0
|
26.05.2016, 12:32 | |
26.05.2016, 12:32 | |
Помогаю со студенческими работами здесь
20
Что выполняется в приведённом фрагменте кода (дизассемблирование программы на C++) Дизассемблирование DLL, правка кода и компиляция его в DLL Получение serial number CPU/HDD asm Упрощение кода ASM Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |