Page 1 of 2

Дизассемблер

Posted: Wed Oct 06, 2010 12:51 pm
by Mario
Занявшись переписыванием kpack на FASM столкнулся с проблемой - линковщика для линковки LIB бибилотек нет в нашем компиляторе. Зашел с другой стороны - распаковал kpack (сжатый самим-же kpack) получил бинарник размером в 13001 байт.

Посокольку IDA у меня нет, брал то что было под рукой - http://wasm.ru - список доступных дизассемблеров. Проверял только с теми, которые идут в виде бинарников. Как результат самый лучший результат получил в HDasm 1.06 rev B

Если кому интересно вот файлы:
kunpack.7z (53.96 KiB)
Downloaded 455 times
Дизассемблированный файл kpack_dis.txt, точка входа (метка START) обозначена как:

Code: Select all

* Entry Point:

0000239F: E8ECFFFFFF           call 00002390

* String: "/RD/1/"

000023A4: BE57000000           mov esi, 00000057 ;'W'
000023A9: BF98410000           mov edi, 00004198
000023AE: C747FC06000000       mov dword ptr [edi-04], 00000006
000023B5: 66A5                 movsw 
000023B7: A5                   movsd 
В исходнике это:

Code: Select all

_start:
	call	clear_messages
; set default path = /RD/1/
	mov	esi, offset defpath
	mov	edi, offset path
	mov	dword ptr [edi-4], 6
	movsw
	movsd
Как видно - вполне читабельный результат.

Re: Дизассемблер

Posted: Wed Oct 06, 2010 8:52 pm
by popovpa
Здравствуйте!

На сайте производителя появилась бесплатная версия IDA pro free 4.9.

http://www.hex-rays.com/idapro/idadownfreeware.htm

Простите, как обычно не подумал :)

Re: Дизассемблер

Posted: Wed Oct 06, 2010 8:54 pm
by Mario
Вообще-то как-бы принято ссылку размещать к тексту.

Re: Дизассемблер

Posted: Thu Apr 14, 2011 2:10 pm
by XVilka
Уже не ко времени, но все же - теперь бесплатно доступна и версия 5.0

Re: Дизассемблер

Posted: Sat May 21, 2011 6:54 am
by XVilka
Нашел в сети исходники простеньких дизассемблеров на ассемблере :)

Re: Дизассемблер

Posted: Sat May 21, 2011 7:01 am
by XVilka
Вот еще

А вот исходники довольно неплохого дизасма на Си http://rghost.net/7261291

Re: Дизассемблер

Posted: Sat May 21, 2011 4:29 pm
by Mario
Спасибо, может со временем пригодится.
В данный момент завален работой на основном месте получения трудового дохода. :(

Re: Дизассемблер

Posted: Sat Jun 11, 2011 7:59 pm
by XVilka
Вот еще один дизассемблер - на этот раз для формата Gorf32 (взято отсюда http://board.flatassembler.net/topic.php?t=12976 )

Re: Дизассемблер

Posted: Wed Jun 15, 2011 9:51 pm
by Михаил
Помогите кто-нибудь приведите пример заполнения всех трёх строк программы kpack чтобы можно было декомпилировать какую-нибудь программу заранее благодарен.

Re: Дизассемблер

Posted: Wed Jun 15, 2011 9:59 pm
by Mario
Вообще-то Kpack это упаковщик, а никак не дизассемблер. В Колибри нет дизассемблера (ну, если не считать отладчик, который на лету расшифорвывает команды) в данный момент. Зато есть исходники практически 99% кода.

З.Ы. Все существующие программы которые работают в самой Колибри размещены в разделе форума - Программы

Re: Дизассемблер

Posted: Thu Jun 16, 2011 1:26 am
by Михаил
1) у меня по данной ссылке программы неполучилось найти неодного исходного кода програм, в частности FASM
2) можно ли при помощи отладчика вносить изменения в программы?

Re: Дизассемблер

Posted: Thu Jun 16, 2011 2:42 am
by art_zh
1) http://www.flatassembler.net
2) нет, надо править код, а потом компилировать. Это совсем не страшно.

Re: Дизассемблер

Posted: Thu Jun 16, 2011 3:58 am
by Михаил
протите но по этой ссылке http://www.flatassembler.net был обнаружен виндосовский FASM со своим стандартным пакетом примеров, меня-же интересуют исходники для Колибри конкретно сейчас исходник FASM
попробовал воспользоватся отладчиком который выдал что-то отдалённа похожее на код программы однако даже после прочтения справки по отладчику для меня осталось загадкой как править код.

Re: Дизассемблер

Posted: Thu Jun 16, 2011 4:45 am
by XVilka
svn co svn://kolibrios.org

Re: Дизассемблер

Posted: Thu Jun 16, 2011 7:20 am
by Mario
Михаил
Функция отладчика не в том чтобы править код (это делает программист в исходниках, затем компилирует при помощи FASM), а в том чтобы увидеть как выполняется программа в определенном месте и найти причину некорректной работы, чтобы потом опять-же поправить исходный код. Опытный программист в большинстве случаев обходится без отладчика - происходит как-бы эмуляция выполнения кода в голове человека, но иногда требуется отладчик, чтобы понять то что мозгом не осилить.

Насчет SVN есть статья http://wiki.kolibrios.org/wiki/How_to_u ... _server/ru