Сейчас на форуме: bartolomeo, -Sanchez-, morgot, sashalogout (+4 невидимых)

 eXeL@B —› Софт, инструменты —› Zydis - fast and lightweight x86/x86-64 disassembler
Посл.ответ Сообщение

Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 02 октября 2019 17:30
· Личное сообщение · #1



The ultimate, open-source X86 & X86-64 decoder/disassembler library.

-Supports all x86 and x86-64 (AMD64) instructions and extensions
-Optimized for high performance
-No dynamic memory allocation ("malloc")
-Thread-safe by design
-Very small file-size overhead compared to other common disassembler libraries
-Complete doxygen documentation (master, stable)
-Absolutely no third party dependencies - not even libc
-Should compile on any platform with a working C99 compiler
-Tested on Windows, macOS, FreeBSD, Linux and UEFI, both user and kernel mode

--> GitHub V3.00 Download + Detailed changelog (since v2.0.3) <--

--> Site (Online disasm test) <--

Official bindings exist for a selection of languages:
Pascal
Python 3
Rust
Unofficial but actively maintained bindings:
Go
LuaJIT

PS
Наконец-то официально вышла версия 3.0, по такому случаю решил запостить и не нашлось достаточно подходящей темы, поэтому держите
Пока в полной версии документации (stable) 2.0, новые фичи смотрите в мастере.
Чтобы не делать из поста портянку все детали смотрим там и на гите.

Сабж хорош, хотя я, бывает, отдаю предпочтение дисторму.

| Сообщение посчитали полезным: mak, plutos, sim_19, =TS=, Artem_N, Ate

Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 02 октября 2019 19:08
· Личное сообщение · #2

VOLKOFF пишет:
не нашлось достаточно подходящей темы

--> Link <--

| Сообщение посчитали полезным: VOLKOFF

Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 02 октября 2019 20:27 · Поправил: VOLKOFF
· Личное сообщение · #3

Ее поиск не нашел, тк Zydis там упоминался в 2015, я про нее забыл ибо ищу софт в разделе "софт" чяднт?




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 02 октября 2019 21:05
· Личное сообщение · #4

SReg пишет:
VOLKOFF пишет:
не нашлось достаточно подходящей темы
--> Link <--


Там всё в куче, как обзор удобно, но для обсуждения практических примеров лучше иметь отдельную тему как эта .. ИМХО

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube


| Сообщение посчитали полезным: plutos, VOLKOFF


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 03 октября 2019 20:08 · Поправил: difexacaw
· Личное сообщение · #5

Я использую ксед, зачем это нужно ?

Это не новый двиг, можно поискать тесты. Диз от вендора IA делает бессмысленным остальное. Это табличный диз, раскодирующий любой набор быстро(табличная трансляция). Никакой иной мотор не проходит без ошибок тесты на рандом, такой существует только один и под 86.

-----
vx




Ранг: -18.1 (нарушитель), 1thx
Активность: 0.070.08
Статус: Участник

Создано: 03 октября 2019 20:21
· Личное сообщение · #6

difexacaw пишет:
Я использую ксед, зачем это нужно ?


Ну Инди прям мысли читает, а я как раз хотел у VOLKOFF'а спросить, что он думает о Кседе и сослаться на то, что Ксед - это все-таки, как ни крути, а любимый дизасм Инди.



Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 03 октября 2019 21:45
· Личное сообщение · #7

Я в общем-то не против когда ты общаешься со своими мультами в своих темах, но тут мог бы и без поддержки обойтись

difexacaw пишет:
зачем это нужно ?

Zydis легче и ощутимо быстрее, мне часто и дисторма хватает. Не всегда и не всем нужен кседъ.




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 04 октября 2019 06:16
· Личное сообщение · #8

VOLKOFF пишет:
Наконец-то официально вышла версия

года 2 назад были намёки на асм двиг. в этом направлении есть перемены?

-----
Чтобы юзер в нэте не делал,его всё равно жалко..




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 04 октября 2019 08:07
· Личное сообщение · #9

Bronco пишет:
были намёки на асм двиг

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

| Сообщение посчитали полезным: Bronco


Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 04 октября 2019 19:17 · Поправил: Bronco
· Личное сообщение · #10

VOLKOFF пишет:
Про работу над ассемблером не слышал.

да было как то в сорцах пару хидеров, с жирным намёком на асм двиг, но не более.
Глянул в семплы, вроде фейсы для простого диза стали проще. Но для меня важен размер дитейла, а он в зудисе был поболе чем в капстоне. И ещё в то время диз не зацепил, шибко длинными именами переменных в структуре дитейла.
difexacaw пишет:
Я использую ксед,

Credits
Intel (for open-sourcing XED, allowing for automatic comparision of our tables against theirs, improving both)


-----
Чтобы юзер в нэте не делал,его всё равно жалко..




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 04 октября 2019 20:11 · Поправил: VOLKOFF
· Личное сообщение · #11

--> Capstone, Intel XED, and Zydis, which is faster at decoding x86? <--

| Сообщение посчитали полезным: SReg, plutos, mak

Ранг: 15.8 (новичок), 3thx
Активность: 0.030.01
Статус: Участник

Создано: 05 октября 2019 22:33
· Личное сообщение · #12

diStorm3? Там, пишут, даже всякие call $5 реально смекает и реальный дизасм получается. На 2 порядка меньше ошибок и быстрее всех, если верить https://github.com/moflow/disassembler-benchmarks
API из двух функций кажись, прям как udis, такой же суперлегкий.



Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 05 октября 2019 23:32
· Личное сообщение · #13

bizkitlimp пишет:
https://github.com/moflow/disassembler-benchmarks

Я этот бэнч уже --> постил <-- полтора года назад, там тоже небольшое обсуждение дизасмов было. Для не "академических" задач сам его юзаю, 90кб кода и шустрый как скотина




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 09 декабря 2019 21:05 · Поправил: Bronco
· Личное сообщение · #14

парни, а как по декодированному буферу смещаться, или диз только для одной инструкции?
он не даёт кол-во декодированных инструкций.

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 09 декабря 2019 22:13 · Поправил: Vamit
· Личное сообщение · #15

Bronco
Для одной, задаешь адрес инструкции - получаешь структуру её параметров (мнемоника, операнды и прочее), в ней же получаешь и длину инструкции, увеличиваешь свой адрес на длину и получаешь следующую инструкцию и так сколько нужно.

-----
Everything is relative...





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 09 декабря 2019 23:03 · Поправил: Bronco
· Личное сообщение · #16

Vamit
Ок. Спасибо. ну на самом деле это вздроч 100500 раз шагать по одному буферу.
А если мне надо снизу вверх?
В капсе элементарно:
for (int i = 0; i < insn_count; ++i)
{
cs_insn *insn = insn_buffer + insn_count - i -1;
}

-----
Чтобы юзер в нэте не делал,его всё равно жалко..



 eXeL@B —› Софт, инструменты —› Zydis - fast and lightweight x86/x86-64 disassembler
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати