LINUX.ORG.RU

Interactive Disassembler Pro 6.0

 , , ,


0

1

IDA Pro — это интерактивный дизассемблер и отладчик. Он позволяет превратить бинарный код программы в ассемблерный текст, который может быть применён для анализа работы программы.

Новая версия IDA Pro вышла 1 октября 2010 года. Основное изменение — графический интерфейс программы переписан с библиотеки VCL на Qt. Стоить отметить, что версия IDA Pro с псевдографическим интерфейсом для Linux и Mac OS X существует уже довольно давно. Также дизассемблер поддерживает запуск сервера отладки на Linux x86, x86-64, ARM, Mac OS X и отладку через gdbserver, gdbserver-интерфейс виртуальных машин Bochs, QEMU, VMWare.

Небольшое описание процесса портирования с VCL на Qt в течении 7 месяцев можно прочитать в блоге разработчика (Daniel Pistelli) нового интерфейса.

>>> Подробности



Проверено: anonymous_incognito ()
Последнее исправление: Zhbert (всего исправлений: 3)
Ответ на: комментарий от anonymous

> Новость-то может и хорошая, но только не говорите, что вы сабж покупаете.

Пока не собираюсь. Но знаете - фотошоп за 43 (37?) тыр я тоже покупать не собираюсь, мне гимпа хватает за глаза. Однако же, если Адоб линукс-версию запилит, я с ОГРОМНЫМ удовольствием сообщу всем, кто жаловался на плохой линукс, в котором нет фотошопа: «Вот он появился, кто хотел - готовьте ваши денежки».

// Пока сие писал, ещё раз посмотрел на цену и подумал, что хоть вероятности мной покупки в будущем IDA и невысока, она, по крайней мере, отлична от нуля. В отличие от фотошопа :)

hobbit ★★★★★
()
Ответ на: комментарий от gloomdemon

> Ядро еще ничего, я вот с miranda im ковырялся, там в исходниках такой треш из макросов, обратной совместимости и г* кода, что проще было pdb прицепить и посмотреть что происходит. =)

Да, помню, весёлые исходнички, я ещё во времена миранды 0.3.x хотел их вместо вижуал студии откомпилировать в mingw. В итоге плюнул. Больше всего запомнился нестандартный синтаксис директивы inline, который mingw тогда не понимал...

hobbit ★★★★★
()
Ответ на: комментарий от AX

> многие драйверы под линукс получены путём реверс-инжиниринга виндовых? Взять хотя бы Nouveau…

В случае с Nouveau, во-первых, не виндовых дров, а линуксных проприетарных дров. И, во-вторых, не дизассемблировали сам блоб, а трейсили его обмены с видюхой. IDA именно в данном случае не помог бы, хотя для некоторых других вещей он практически незаменим, ога.

vadic
()

> По поводу проприетарщины, на самом деле у него, если мне не изменяет память - есть триальный период. Для простого обывателя, который не каждый день занимается подобным - вполне достаточный период времени, что бы сделать что надо и снести.

Не знаю как сейчас, но лет десять назад в триальном IDA были какие-то ограничение, достаточно существенные, насколько я помню. Вроде бы сохранять результат дизассемблирования нельзя было и еще что-то...

vadic
()
Ответ на: комментарий от unsigned

например, есть объявленная переменная:

.data
A:      .word   20
Заношу ее значение в регистр %ax:
movw    A, %ax
Хочу посмотреть значение переменной в режиме отладки:
12      _start: movw    A, %ax
(gdb) next
13              sal     $2, %ax
(gdb) print A
$1 = 327700
(gdb) info registers
eax            0x14     20
ecx            0x0      0
edx            0x0      0
ebx            0x0      0
esp            0xbffff380       0xbffff380
ebp            0x0      0x0
esi            0x0      0
edi            0x0      0
eip            0x804807a        0x804807a <_start+6>
eflags         0x212    [ AF IF ]
cs             0x73     115
ss             0x7b     123
ds             0x7b     123
es             0x7b     123
fs             0x0      0
gs             0x0      0

пытался пользоваться ald, ddd — результат один и тот же.

Odin
()
Ответ на: комментарий от Odin

забыл добавить, что при попытке посмотреть по адресу получаю ошибку, что дебагер не может получить доступ к области памяти.

Odin
()
Ответ на: комментарий от gloomdemon

>хотя может и GPL мешает.

В каком месте в GTK GPL?

Ttt ☆☆☆☆☆
()
Ответ на: Не нужно от obvious-kun

>Тут же взламывать нечего, все бесплатное, кроме иды.

Guitar Pro, BricsCAD, ARES … Это из вроде-как-ещё-невзломанного.

Только вот кажется немного странным, что выпускаются платные проприетарные программы, предназначенные для взлома платных проприетарных программ. Это не только к сабжу относится, а ещё к вендовым эмуляторам CD с поддержкой обхода DеRьMа.

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от AX

А причём тут реверс-инженеринг драйверов, если тот анонимус говорил не про него, а про ломаный проприетарный софт.

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

> Реально хороша новость, тем что IDA вообще жива. Ничего лучше не видел.

Это да, самый лучший дизассемблер который я когда либо юзал. А с другой стороны, эти бессонные ночи и тысячи человекочасов потраченного времени, а нужно то было всего лишь перейти на линух

Да, для ковыряния проприетарщины. Но, благодаря в том числе этому инструменту вы все пользуетесь ломаным софтом от фотошопа до игр.


см.выше

В основном конечно используется oggy, но и без IDA порой не обойтись.


Может таки olly? ) А до олли сайс был, вот были времена...

FollowTheRabbit
()
Ответ на: комментарий от Odin
$gdb  test
GNU gdb 6.3
......
(gdb) break main
Breakpoint 1 at 0x1c0006f8
(gdb) disassemble main
Dump of assembler code for function main:
0x1c0006f8 <main+0>:	mov    $0x3c001014,%eax
0x1c0006fd <main+5>:	push   %eax
0x1c0006fe <main+6>:	call   0x1c000478 <__init+24>
0x1c000703 <main+11>:	add    $0x4,%esp
0x1c000706 <main+14>:	push   $0x0
0x1c000708 <main+16>:	call   0x1c000498 <__init+56>
0x1c00070d <main+21>:	nop    
0x1c00070e <main+22>:	nop    
0x1c00070f <main+23>:	nop    
End of assembler dump.
(gdb) r
Starting program: /home/omich/fasm/test

Breakpoint 1, 0x1c0006f8 in main ()
(gdb) si
0x1c0006fd in main ()
(gdb) print $eax
$1 = 1006637076
(gdb) printf "%s", $eax
Hello, World
(gdb) quit
The program is running.  Exit anyway? (y or n) y
$cat test.asm 
format ELF

public main as 'main'

extrn 'printf'  as printf
extrn 'exit'	as exit

section '.text' executable

main:

mov eax, _hello
push eax 
call printf
add esp, 4

push 0
call exit

section '.data' writable
_hello	db	"Hello, World", 0Ah, 0 
 

Собрано FASM

AptGet ★★★
()
Ответ на: комментарий от AptGet

вижу что сгенерить plain-text.asm файл gdb может. Однако, в иде, в «онлайн» режиме, с переименованием функцей, задания имен переменным, удобным «браузингом» по коду, и, особенно, с ручным анализом указанной части кода, модификацией кода скриптом и кучей других плюшек тд и тп, со всей этой фигней, приходится неделями сидеть. А в текстовом файле можно и год ковырятся наверное, ИМХО.

FollowTheRabbit
()

> IDA Pro — это интерактивный дизассемблер и отладчик. _ Он _

В оригинале было «Она». По идее это все таки программа, да и на офф. сайте русском (http://idapro.ru/) написано «Она» =)

gloomdemon
() автор топика
Ответ на: комментарий от FollowTheRabbit

>вижу что сгенерить plain-text.asm файл gdb может. Однако, в иде, в «онлайн» режиме, с переименованием функцей, задания имен переменным, удобным «браузингом» по коду, и, особенно, с ручным анализом указанной части кода, модификацией кода скриптом и кучей других плюшек тд и тп, со всей этой фигней, приходится неделями сидеть. А в текстовом файле можно и год ковырятся наверное, ИМХО.

gdb - это отладчик, а не дизассемблер. С полезностью IDA в качестве дизассемблера я не спорю.

AptGet ★★★
()
Ответ на: комментарий от AptGet

>gdb - это отладчик

И весьма хреновый, надо сказать. Даже если не брать во внимание проблемы отладки плюсового кода (распечатать содержимое контейнеров та еще веселуха), пользоваться им в консольном режиме ооочень неудобно, а хороших морд, сравнимых хотя бы td.exe лохматых 90-х годов я не знаю.

linuxfan
()
Ответ на: комментарий от linuxfan

>>gdb - это отладчик

И весьма хреновый, надо сказать. Даже если не брать во внимание проблемы отладки плюсового кода (распечатать содержимое контейнеров та еще веселуха), пользоваться им в консольном режиме ооочень неудобно, а хороших морд, сравнимых хотя бы td.exe лохматых 90-х годов я не знаю.

Есть небольшой опыт использования WinDbg, не сказал бы, что он очень удобный, имхо gdb лучше. С другими отладчиками сравнить не могу, к сожалению :)

AptGet ★★★
()
Ответ на: комментарий от linuxfan

> а хороших морд, сравнимых хотя бы td.exe лохматых 90-х годов я не знаю.

DDD При отладке с сырцами, td.exe нервно курит в сторонке, ida тоже.

проблемы отладки плюсового кода (распечатать содержимое контейнеров та еще веселуха)

Внимательно смотрим на картинку http://www.gnu.org/software/ddd/all.png =)

Странно, что про него мало кто вспоминает.

gloomdemon
() автор топика
Ответ на: комментарий от gloomdemon

> DDD При отладке с сырцами, td.exe нервно курит в сторонке, ida тоже.

Тот же GDB с его глюками. Лучший отладчик под линукс, который мне приходилось использовать называется TotalView. Правда морда у него тоже очень страшная. Но по функционалу он превосходен. Единственный минус - его стоимость.

andreyu ★★★★★
()
Ответ на: комментарий от PavelAnd

> под Mac OS допилили глядишь и под linux вытянут ))

Открою страшную тайну : под Mac OS он появился даже раньше, чем под винду 3.1.

awoland
()
Ответ на: комментарий от awoland

> Открою страшную тайну : под Mac OS он появился даже раньше, чем под винду 3.1.

пятерка в дневник за внимательность )) попутал с AutoCAD ))

PavelAnd
()
Ответ на: комментарий от eXOR

> А что SI когда-то был открыт :-[ ]?

Я не в том смысле ;) Я в смысле, что развитие прекратилось. R.I.P., короче.

Bod ★★★★
()
Ответ на: комментарий от Reaper

>Интересно, он читает этот форум?
когда-то его можно было на wasm.ru увидеть, кажется.

dimon555 ★★★★★
()
Ответ на: комментарий от pevzi

> А еще Valgrind есть. Как оно, например?

Valgrind отличная утилита. Очень помогает.

andreyu ★★★★★
()
Ответ на: комментарий от Censo

Он в плане юниксов БСДун вроде. Во всяком случае, примеры внедрения кода в ELF-бинарниках он на примере фрибсд делал, те что я читал.

anonymous
()

Хорошая новость. Надо скачать.

anonymous
()
Ответ на: комментарий от Ttt

>Только вот кажется немного странным, что выпускаются платные проприетарные программы, предназначенные для взлома платных проприетарных программ.

Надо еще кухонные ножи запретить - ими зарезать можно.

anonymous
()
Ответ на: комментарий от Ttt

Вот это я понял как завуалированный призыв к запрету дизасемблера:

Только вот кажется немного странным, что выпускаются платные проприетарные программы, предназначенные для взлома платных проприетарных программ.

Дизасемблер - это инструмент. Он не только для взлома. Отсюда и аналогия с кухонными ножами, которые предназначены для одного, но использовать можно для другого.

anonymous
()
Ответ на: комментарий от anonymous

>Он не только для взлома.

Но, в основном, сабж ориентирован для взлома и реверс-инженеринга, то есть для преодоления технических ограничений проприетарного ПО.

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

Visual Studio 2010 Professional Edition. Мне же надо домашку по информатике в чем-то делать.

obvious-kun
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.