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

 eXeL@B —› Софт, инструменты —› Capstone - The Ultimate Disassembler
<< . 1 . 2 . 3 . 4 . 5 . >>
Посл.ответ Сообщение


Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 03 марта 2017 00:47
· Личное сообщение · #1

2 марта 2017 года, была выпущена версия 3.0.5-rc2 дизассемблера Capstone.

Предыдущий релиз был в 2015 году.

Скачать:
www.capstone-engine.org/download.html

Компактный пример на питоне:
Code:
  1. # test1.py
  2. 2 from capstone import *
  3. 3 
  4. 4 CODE = b"\x55\x48\x8b\x05\xb8\x13\x00\x00"
  5. 5 
  6. 6 md = Cs(CS_ARCH_X86, CS_MODE_64)
  7. 7 for i in md.disasm(CODE, 0x1000):
  8. 8     print("0x%x:\t%s\t%s" %(i.address, i.mnemonic, i.op_str))

Запуск и выхлоп:
Code:
  1. $ python test1.py
  2.  
  3. 0x1000: push    rbp
  4. 0x1001: mov rax, qword ptr [rip + 0x13b8]


Описание изменений:
www.capstone-engine.org/changelog.html

Version 3.0.5-rc2

March 2, 2017
Release 3.0.5-RC2 is a release candidate version, with important fixes in the core & several bindings.

Library

Fix build for Visual Studio 2012
Fix X86_REL_ADDR macro
Add CS_VERSION_MAJOR, CS_VERSION_MINOR, CS_VERSION_EXTRA
Better support for embedding Capstone into Windows kernel drivers
Support to embedded Capstone into MacOS kernel
Support MacOS 10.11 and up
Better support for Cygwin
Support build packages for FreeBSD & DragonflyBSD
Add a command-line tool "cstool"
Properly handle switching to Endian mode at run-time for Arm, Arm64, Mips & Sparc

X86

Some random 16-bit code can be handled wrongly.
Remove abundant operand type X86_OP_FP
Fix instructions MOVQ, LOOP, LOOPE, LOOPNE, CALL/JMP rel16, REPNE LODSD, MOV *AX, MOFFS, FAR JMP/CALL
Add X86_REG_EFLAGS for STC and STD
Fix instruction attributes for SYSEXIT, MOVW, ROL, LGS, SLDT
Rename registers ST0-ST7 to be consistent with asm output

Arm

Properly handle IT instruction
Fix LDRSB
Fix writeback for LDR
Fix Thumb BigEndian setup
Fix arith extender
Fix writeback for LDR
Rename enum arm64_mrs_reg to arm64_sysreg

PowerPC

Print 0 offset for memory operand

Sparc

Fix POPC instruction

Python binding

Better PyPy support
Add __version__
Better support for Python 3
Fix CS_SKIPDATA_CALLBACK prototype
Cast skipdata function inside binding to simplify the API

Java binding

Better handle input with invalid code

PowerShell binding

New binding

-----
EnJoy!


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

Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 18 апреля 2018 13:58
· Личное сообщение · #2

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




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 18 апреля 2018 15:16
· Личное сообщение · #3

RoKZaR пишет:
Почему нельзя выбрать Диз который хочется?
Хочется испытать и выбрать для себя подходящий.


Качай предыдущую версию x64dbg, в которой использовался Capstone, и тестируй, сколько нужно.

-----
EnJoy!




Ранг: 14.3 (новичок), 5thx
Активность: 0.070
Статус: Участник

Создано: 18 апреля 2018 15:29
· Личное сообщение · #4

Jupiter пишет:
Качай предыдущую версию

Мерси за совет




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

Создано: 18 апреля 2018 17:18
· Личное сообщение · #5

Bronco пишет:
при выходе из цикла, у меня "ломается", всё детальное описание в списке.

Code:
  1. 2. Notes.
  2. Internally, csdisasmiter behaves exactly like cs_disasm if we call cs_disasm with argument count = 1. However, csdisasmiter is faster because it reuses (and also overwrites) the same memory to store disassembled instruction, avoiding all the malloc/realloc in the loop above. So if we just need to do some quick iteration through all the instructions, csdisasmiter should be considered.

данные в структуре самой инструкции, не изменяются, а вот подробное описание, при вкл опции переписывается след инстр, на этом экономия времени и выделенной памяти. собственно ссылки из DETAIL последней инстр, во всём списке инструкций выше по списку. Насколько понял, API можно юзать для быстрого анализа_разбора, и поиска. дублировапть капстоновские структуры, считай переписать весь модуль,+ к этому переписывать весь проект..дофуя...НЕ ХОЧУ..

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





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

Создано: 18 апреля 2018 21:51 · Поправил: difexacaw
· Личное сообщение · #6

Bronco

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

-----
vx





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

Создано: 18 апреля 2018 22:43
· Личное сообщение · #7

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

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





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

Создано: 18 апреля 2018 22:51
· Личное сообщение · #8

Bronco

А когда сборка начала являться проблемой ?

Найдите конечный билд.

А есчо ксед давно саппортится и апдейтится, это лучший дизасм, всё остальное - уг. Да и по профайлу/стабу тоже лучший.

-----
vx


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


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

Создано: 18 апреля 2018 23:21
· Личное сообщение · #9

difexacaw пишет:
А когда сборка начала являться проблемой ?

бу-бу..бу-бу... БУ... прочитай весь пост, грамотей..
или грамоты хватает только на одно предложение?
difexacaw пишет:
Найдите конечный билд.

ты же пиаришь, тебе и искать. мне пока не горит, и если не найдёшь, цена твоему посту ЗЕРО.

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





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

Создано: 18 апреля 2018 23:41 · Поправил: Модератор
· Личное сообщение · #10

Bronco

Вот тебе билд что бы не парился", линкуй и юзай. Документация там просто чудесная.

Главное мозги не еби и не будь мудаком.

От модератора: Полегче, а то бан

df24_19.04.2018_EXELAB.rU.tgz - xed.7z

-----
vx


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


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

Создано: 19 апреля 2018 00:14 · Поправил: Модератор
· Личное сообщение · #11

difexacaw пишет:
и не будь мудаком.

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

От модератора: Не ведись на провокации

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




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 19 апреля 2018 05:04
· Личное сообщение · #12

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

Чаще всего приступы проявляются в виде аффективных расстройств. Это приводит к периодам депрессии или мании. Даже здоровый человек чувствует себя в весенне-осеннее время, испытывая меланхолию, снижение работоспособности и слабость. Но если здоровый человек вполне способен своими силами справляться с сезонным унынием, то человеку, страдающему эндогенным процессом преодолеть эмоциональную неустойчивость под силу только с помощью специалистов в области психиатрии.

Осеннее и весеннее обострение шизофрении может быть связано с настолько незначительными причинами, что предотвратить это практически не удается. Стрессы, конфликты в семье, алкоголизация, резкие звуки и яркий свет вполне способны вывести такого человека из психического равновесия. Единственно правильным решением будет профилактический прием у врача-психиатра и обязательная поддерживающая медикаментозная терапия.

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

Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 22 апреля 2018 06:57
· Личное сообщение · #13

difexacaw пишет: А когда сборка начала являться проблемой ?

собрать не проблема, но кто будет писать бридж для голого xed'a?
движок ради движка сомнительная трата времени, к нему нужно еще пилить интерфейсы, которые +- должны соответствовать остальным движкам, есть брать родные структуры xed'a, по размеру выйдет еще больше чем у capstone, у первого выхлоп подробней чем у последнего. с дизасм длин орнул, человеку вообще то выхлоп нужно асмить. когда таргет сильно переваливает за 100 мегабайт x64 кода накрытого парой-тройкой говнопротов, внезапно мир розовых пони начинает рушиться.

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


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 01 мая 2018 05:11 · Поправил: plutos
· Личное сообщение · #14

в этой теме несколько раз уже упоминался xed.
До недавнего времени я о нем ничего не слышал, но вдруг столкнулся с этой штукой совсем с другой стороны. Мне нужно было парсить совсем небольшие фрагменты бинарного кода, стал писать свой "лисапет", но неожиданно заметил, что у сарая нет одной стены, а именно, что имеется X86 Encoder Decoder by Intel. Вспомнил про эту тему и решил спросить:

-- про тот ли самый X86 Encoder Decoder здесь идет речь?
и
-- каковы общие впечатления у тех, кто пользовался? Плюсы, минусы...

-----
Give me a HANDLE and I will move the Earth.




Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 01 мая 2018 05:51
· Личное сообщение · #15

plutos пишет: про тот ли самый X86 Encoder Decoder здесь идет речь?

У intel'a он один:
https://software.intel.com/en-us/articles/xed-x86-encoder-decoder-software-library

plutos пишет:каковы общие впечатления у тех, кто пользовался? Плюсы, минусы...

Плюсы: информативность, скорость работы, точность.
Минусы: в некоторых случаях информативность избыточна, интерфейсы существенно сложней чем у сабжа, а значит кода больше писать, таблицы транслируются питоновскими скриптами которые пишут индусы, раз через раз ломаются из-за того, что они никак не определятся с кодировкой. В остальном нормальный двиг.

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


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 01 мая 2018 06:03
· Личное сообщение · #16

-->X86 Encoder Decoder<--

--> XED Build Guide <--

если кому вдруг надо...

-----
Give me a HANDLE and I will move the Earth.





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

Создано: 01 мая 2018 08:53
· Личное сообщение · #17

plutos пишет:
если кому вдруг надо...

да неплохо бы енкодер мистера обновить, а то он на avx512 спотыкается. а так если правильно подать, на остальном отлично работает, и судя по отчётам в одиночку, остальные 2 двига отдыхают.

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


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


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 01 мая 2018 09:03
· Личное сообщение · #18

Bronco пишет:
остальные 2 двига отдыхают.


ну первый, это, конечно, capstone, а второй?

-----
Give me a HANDLE and I will move the Earth.





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

Создано: 01 мая 2018 09:29
· Личное сообщение · #19

plutos пишет:
ну первый, это, конечно, capstone, а второй?

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

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





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

Создано: 28 мая 2018 07:57 · Поправил: Bronco
· Личное сообщение · #20

shellstorm пишет:
но кто будет писать бридж для голого xed'a?

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

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




Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 28 мая 2018 11:30
· Личное сообщение · #21

Bronco пишет: ты прав, чуваку по ходу даже мнемоника не нужна, только длины, и он с ними носится.

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

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


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

Создано: 01 июня 2018 19:21
· Личное сообщение · #22

shellstorm

Не соглашусь. Я во первых не рекламировал двиг, а указал на самый эффективный по профайлу, учитывая прошлый опыт. Интерфейсы не имеют значения.

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

-----
vx




Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 01 июня 2018 23:32
· Личное сообщение · #23

difexacaw пишет: Интерфейсы не имеют значения

Естественно, если решать сферические задачи, но реальный мир сложнее.

difexacaw пишет: Пересборка, те вызов конструктора - в любом возможном случае этого следует избегать

Конечно, особенно если ничего не знать о деобфускации и девиртуализации. Сама по себе снятая трасса не сильно полезна, её ещё нужно привести до удобоваримого состояния.




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

Создано: 02 июня 2018 00:46
· Личное сообщение · #24

shellstorm

Работа с кодом в данном случае делится на фазы. Первая получается маркировка линейных блоков. Вторая фаза это свёртка кода, когда выделяется маркированный код. На этом этапе резолвится задача data vs code через слежение за исполнением. Третья фаза - абстрагирование от выделенного кода, это именно через конструктор можно сделать, например деморфить. Но это столь специфические задачи, что общее решение врядле вообще возможно.

-----
vx





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

Создано: 02 июня 2018 04:15
· Личное сообщение · #25

shellstorm пишет:
Сама по себе снятая трасса не сильно полезна

+1, и ксед, в текущем состоянии, пока не подходит, для решения даже простых задач.
да и на этот не структурированный выхлоп, лочат памяти на 1 инстр, на порядок больше чем в капстоне всё вместе взятое с подробным описанием.

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





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

Создано: 02 июня 2018 09:13 · Поправил: difexacaw
· Личное сообщение · #26

Bronco

Что значит лочат память" ?

Имеется ввиду размер выходных структур ?

Какое это имеет значение, если вы берёте от туда нужную инфу и буфер затирается и используется вновь, нп стек ?

Тут где то есть соответствующая тема про диз профайлы, там я выбирал самый лучший. А есчо были железячные тесты, был реализован аппаратный декодер длин(он медленный из за механизма исключений), который определял длину инструкций аппаратным путём(страничный PF). Только через этот мотор проводились тесты всяких других дизасмов. Все тестируемые были анстаб и возникали ошибки на первых секундах диза рандомом заполненного буфера, лишь несколько моторов являются стабильными, из них это во первых очень старый декодер длин 86 Malum'a, но он медленный, dizahex(не раскодирует NPX) и ксед. Остальные не являются стабильными, это значит что для произвольного кода применяться не могут.

-----
vx





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

Создано: 10 июня 2018 19:56 · Поправил: Bronco
· Личное сообщение · #27

взято из этого поста
0F 2F 81 88 01 00 00
zydis:
Code:
  1. comiss xmm0, dword ptr ds:[rcx+0x188]
  2. size: 7, id: 105, opcount: 3
  3. operand 1 (size: 32, access: read, visibility: explicit) "xmm0", register: xmm0
  4. operand 2 (size: 32, access: read, visibility: explicit) "rcx+0x188", memory segment: ds, base: rcx, index: none, scale: 0, displacement: 0x0000000000000188
  5. operand 3 (size: 64, access: write, visibility: hidden) "rflags", register: rflags

сабж:
Code:
  1.    COMISS XMM0, XMMWORD(!) PTR [RCX + 0x188]
  2.    instruction->size : 0x07 byte
  3.    CS_AC_READ  ( 1 )
  4.    x86->operands[0].type: X86_OP_REG
  5.    x86->operands[0].reg : X86_REG_XMM0
  6.    x86->operands[0].size: 0x10 byte(!)
  7.    CS_AC_READ  ( 1 )
  8.    x86->operands[1].type: X86_OP_MEM 
  9.    x86->operands[1].size: 0x10 byte(!)
  10.    x86->operands[1].mem.base: X86_REG_RCX
  11.    x86->operands[1].mem.disp: 0x188
  12.    REG WRITE:[0] X86_REG_RFLAGS (0x620001a)|

слинковал свежий cstool:
Code:
  1. 0  0f 2f 81 88 01 00 00                    comiss       xmm0, xmmword(!) ptr [rcx + 0x188]
  2.         Prefix:0x00 0x00 0x00 0x00
  3.         Opcode:0x0f 0x2f 0x00 0x00
  4.         rex: 0x0
  5.         addr_size: 8
  6.         modrm: 0x81
  7.         disp: 0x188
  8.         sib: 0x0
  9.         op_count: 2
  10.                 operands[0].type: REG = xmm0
  11.                 operands[0].size: 16(!)
  12.                 operands[1].type: MEM
  13.                 operands[1].mem.base: REG = rcx
  14.                 operands[1].mem.disp: 0x188
  15.                 operands[1].size: 16(!)
  16.         Groups: sse1

--> Online-Disassembler<--
--> Online-Assembler <--
сейчас даже асмджит не берёт этот выхлоп капстона.
плезир, оформите исузу на гитхабе капстона --> Link <--
--------
66 0F 19 04 00 | NOP WORD PTR DS:[RAX + RAX], AX
мелочь, но сабж по своему декодирует
Code:
  1. NOP WORD PTR CS:[RAX + RAX]
  2.    instruction->size : 0x05 byte
  3.    CS_AC_READ  ( 1 )
  4.    x86->operands[0].type: X86_OP_MEM 
  5.    x86->operands[0].size: 0x02 byte
  6.    x86->operands[0].mem.segment: X86_REG_CS
  7.    x86->operands[0].mem.base: X86_REG_RAX
  8.    x86->operands[0].mem.index: X86_REG_RAX

--------
difexacaw пишет:
Какое это имеет значение

да как то на тебя, нет больше желания время тратить. проходи просто мимо.

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




Ранг: 19.9 (новичок), 16thx
Активность: 0.040.01
Статус: Участник

Создано: 18 декабря 2018 20:48
· Личное сообщение · #28

Version 4.0

--> Link <--




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

Создано: 19 декабря 2018 18:03
· Личное сообщение · #29

RevCred

Толку от ссылки, нет самого важного - тестов.

-----
vx




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 27 января 2020 15:55
· Личное сообщение · #30

То ли лыжи не едут, то ли RVA в операнде нужно самому достраивать:
Инструкции с displacement операндами
Code:
  1. 00000000004010C8  | 48:8D0D 01FE0400      | lea rcx,qword ptr ds:[450ED0]               |
  2. 00000000004010CF  | 48:8D15 CA030300      | lea rdx,qword ptr ds:[4314A0]               |

делаю, как в примере (адрес инструкции корректно подается)
Code:
  1. count = cs_disasm(handle, buff, size, address, 0, &insn);

на выходе
Code:
  1. lea rcx, [rip + 0x4fe01]
  2. lea rdx, [rip + 0x303ca]

соостветственно костылю сам:
Code:
  1. size_t right_operand = instruction->detail->x86.operands[1].mem.disp + instruction->address + instruction->size;





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

Создано: 05 мая 2020 04:23 · Поправил: Bronco
· Личное сообщение · #31

ELF_7719116 пишет:
соостветственно костылю сам:

в структуре дитейла выделено 32 бита
// Displacement value, or 0 when irrelevant.
int32_t disp;
мне удобней disp со знаком преобразовать в положительное, а в какую сторону смещение брать из оп_стр.
для физ адреса есть апи
// Calculate relative address for X86-64, given cs_insn structure
#define X86_REL_ADDR
но если инструкция "lea reg,mem_pointer", часто меняет расположение в листинге, лучше своё:
Code:
  1. uint64_t DecodeRipForAddr(cs_insn *current)
  2. {
  3.          x86ripaddr = &(current->detail->x86);
  4.          uint64_t addr = 0;
  5.          size_t disp = 0;
  6.          std::string sig = sign(current);
  7.          bool sign = false;
  8.          if(sig == "+")
  9.                  sign = true;
  10.          if (x86ripaddr->operands[0].type == X86_OP_MEM)
  11.                  disp = x86ripaddr->operands[0].mem.disp;
  12.          if (x86ripaddr->operands[1].type == X86_OP_MEM)
  13.                  disp = x86ripaddr->operands[1].mem.disp;
  14.          if (sign == false)
  15.                  addr = current->address + current->size - disp;
  16.          if (sign == true)
  17.                  addr = current->address + current->size + disp;
  18.          return addr;
  19. }
  20. std::string sign(cs_insn *current)
  21. {
  22.          std::string msg = current->op_str;
  23.          size_t pos = msg.find("+");
  24.          if (pos != -1)
  25.          {
  26.                  msg = "+";
  27.                  return msg;
  28.          }
  29.          pos = msg.find("-");
  30.          if (pos != -1)
  31.          {
  32.                  msg = "-";
  33.                  return msg;
  34.          }
  35.          else
  36.                  msg = " ";
  37.          return msg;
  38. }

---------
обновленный капс стал как то тяжелее, ради AVX добавили в дитейл новые поля и структуры.
а прежние ошибки так и остались.

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


| Сообщение посчитали полезным: plutos
<< . 1 . 2 . 3 . 4 . 5 . >>
 eXeL@B —› Софт, инструменты —› Capstone - The Ultimate Disassembler
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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