Сейчас на форуме: bartolomeo, -Sanchez-, morgot, sashalogout (+5 невидимых) |
eXeL@B —› Софт, инструменты —› Capstone - The Ultimate Disassembler |
<< . 1 . 2 . 3 . 4 . 5 . >> |
Посл.ответ | Сообщение |
|
Создано: 03 марта 2017 00:47 · Личное сообщение · #1 2 марта 2017 года, была выпущена версия 3.0.5-rc2 дизассемблера Capstone. Предыдущий релиз был в Скачать: Компактный пример на питоне: Code:
Запуск и выхлоп: Code:
Описание изменений: 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 |
|
Создано: 25 февраля 2018 12:19 · Личное сообщение · #2 Vamit Вы меня походу игнорите, но не в этом суть. Ранее для тестов дизасма длин использовалась железячная фича(страничная ловушка). Только так можно было протестить на стабильность декодер - он крутился часами на рандом буфере, длина сравнивалась с тестируемым декодером. Крутившись в цикле десятки часов, оказалось что викс мотор(Malum) декодирует длину без ошибок. Остальные декодеры данный тест не проходили. ----- vx |
|
Создано: 25 февраля 2018 12:37 · Поправил: Bronco · Личное сообщение · #3 |
|
Создано: 25 февраля 2018 12:48 · Личное сообщение · #4 Bronco Там исходники небольшие компилируются сразу в сам дбж. Пока только такой вызов Zydis через командную строку dbg: zydis addr дизасмит инструкцию по указанному адресу и выдает инфу в лог. Но в плаг можно подключить весь Zydis. ----- Everything is relative... | Сообщение посчитали полезным: Bronco |
|
Создано: 25 февраля 2018 13:08 · Поправил: Bronco · Личное сообщение · #5 Vamit пишет: dbg: zydis addr дас..феньк конечно, но в лог можно было бы и получше оформить, хотя бы так: x64 BTC BX, 0xE7 Code:
mak пишет: x64 btc bx,E7 та же самая ебала, ипать это подстава, мигрируем на зудис хз значит надо имм сводит в инт. а что делать с имм где знака нет? add ахах, сюрпрайзы то не все, "BTC BX, -0x19" асмил через фейс дбг, в окне диза "btc bx,E7", куда теперь мигрировать? ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 25 февраля 2018 17:58 · Поправил: mak · Личное сообщение · #6 Vamit пишет: а Capstone уже почти год как не обновлялся. Latest commit aeda70f 5 days ago Vamit пишет: !!!ошибка на размере 2го операнда, в итоге берется его значение FFE7 вместо требуемого E7 Мог бы и отписать на гитхаб, с размерами у них почему-то уже годами одинаковые проблемы, вот новый тест на новой длл 5ти дневной давности. x86 - btc bx,E7 Code:
x64 btc bx,E7 Code:
Code:
x86 - push FFFFFFA7 Code:
x64 - push FFFFFFA7 Code:
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 25 февраля 2018 20:50 · Личное сообщение · #7 |
|
Создано: 25 февраля 2018 20:50 · Поправил: Bronco · Личное сообщение · #8 Vamit, тут наверное проще свитч тыкнуть при дизе инструкции, чем таблицы мутить, для эмуля больше же и не надо. //исправил, так для кворда не потери данных Code:
раньше ксед отказывал в асме, если в оп_стр было отрицательное число без знака (в 16ричном) и вот прикол с асмом, где в инструкции с имм есть знак, я пока не знаю как разруливать. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 25 февраля 2018 20:58 · Личное сообщение · #9 Bronco пишет: в окне диза "btc bx,E7", куда теперь мигрировать? Я же говорил что в окно диза выводится Zydis Добавлено спустя 4 минуты Bronco пишет: где в инструкции с имм есть знак, я пока не знаю как разруливать Там ничего делать не нужно, всё работает правильно, т.к. число должно быть sign-extended то так капстон и делает, а размер его тут в принципе не имеет значения, т.к. в любом формате будет правильное значение. ----- Everything is relative... |
|
Создано: 25 февраля 2018 21:04 · Поправил: Bronco · Личное сообщение · #10 Vamit, погоди, тут вздроч какой-то, зудис это диз, а я асемблю, причём сознательно в строке число со знаком,а в листинге дизасма, оно уже без знака. упс...кажется вкурил, для каждого размера операнда свой предел максимального числа без знака. для imm32 = 0x80000000, и тп. add Vamit,зачем так знущаться? BX - это слово, 2 байта. 0хFFE7, это тоже правильный формат, число со знаком. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 12 апреля 2018 14:39 · Поправил: Bronco · Личное сообщение · #11 обратил внимание что при cs_option() диз становиться шибко прожорлив с памятью. что не так делаю? в отладчике сам файл то побольше. выделил листинг на 3,5 мг, это порядка ляма инструкций Code:
после прохода апи, в памяти процесса порядка 2,5 гига. это нормально? ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 12 апреля 2018 17:34 · Личное сообщение · #12 |
|
Создано: 12 апреля 2018 18:47 · Личное сообщение · #13 |
|
Создано: 12 апреля 2018 20:05 · Личное сообщение · #14 Jupiter пишет: Попробуй в цикле дизасмить меньшими блоками дык...)) смысл в том, чтобы всё и сразу, выделение кода ведь интерактивное. rmn пишет: при детальном декодировани хз, как то много на 1 инстр, где то 3 кб описания, по самой структуре инстр, так не скажешь. ?ну байткод понятно, но он весь на 3 мега. ?и не уверен, что лям строк на гигабайты потянет. есть опции, но мало описания для них. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 12 апреля 2018 20:23 · Личное сообщение · #15 Bronco пишет: по самой структуре инстр, так не скажешь Она не фиксированного размера. Выделяется необходимый буфер, в начале которого находится структура инстр (типа header), а в самой структуре хранятся указатели на данные после структуры. | Сообщение посчитали полезным: Bronco |
|
Создано: 13 апреля 2018 15:19 · Личное сообщение · #16 |
|
Создано: 13 апреля 2018 16:46 · Личное сообщение · #17 Щас глянул - там даже без детальной инфы больше 200 байт на инструкцию выделяется. Code:
Bronco пишет: но и такой мешок такскать нет желания Зато в резюме добавишь модный сейчас пункт - bigdata |
|
Создано: 13 апреля 2018 20:42 · Личное сообщение · #18 |
|
Создано: 14 апреля 2018 07:58 · Личное сообщение · #19 Bronco, используйте Code:
размещая cs_insn, cs_detail на стеке. Затем, если необходимо, конвертируйте в свои структуры, избавляясь от массивов | Сообщение посчитали полезным: Bronco |
|
Создано: 14 апреля 2018 08:47 · Личное сообщение · #20 |
|
Создано: 14 апреля 2018 21:54 · Личное сообщение · #21 Bronco, я же тебе ровно то же самое предложил в Jupiter пишет: Попробуй в цикле дизасмить меньшими блоками ----- EnJoy! |
|
Создано: 14 апреля 2018 22:07 · Личное сообщение · #22 |
|
Создано: 18 апреля 2018 04:56 · Личное сообщение · #23 awlost пишет: конвертируйте в свои структуры памяти реально раз в 5 меньше, но... хз почему, но в связке с опциями не очень стабильна. на последней инструкции, при выходе из цикла, у меня "ломается", всё детальное описание в списке. без конверта в свои структуры по ходу никак. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 18 апреля 2018 09:05 · Личное сообщение · #24 |
|
Создано: 18 апреля 2018 09:14 · Личное сообщение · #25 |
|
Создано: 18 апреля 2018 09:27 · Личное сообщение · #26 |
|
Создано: 18 апреля 2018 10:18 · Личное сообщение · #27 |
|
Создано: 18 апреля 2018 10:20 · Личное сообщение · #28 Да вот интересно - зачем его прикручивать, если на странице Добавлено спустя 2 минуты Хотя из билдов вроде как он удалён (Remove capstone) ----- IZ.RU |
|
Создано: 18 апреля 2018 10:29 · Личное сообщение · #29 |
|
Создано: 18 апреля 2018 13:32 · Личное сообщение · #30 |
|
Создано: 18 апреля 2018 13:34 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . >> |
eXeL@B —› Софт, инструменты —› Capstone - The Ultimate Disassembler |