Сейчас на форуме: bartolomeo, -Sanchez-, morgot, sashalogout (+5 невидимых) |
eXeL@B —› Софт, инструменты —› GHIDRA software reverse engineering (SRE) suite of tools |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >> |
Посл.ответ | Сообщение |
|
Создано: 06 марта 2019 04:20 · Поправил: DimitarSerg · Личное сообщение · #1 A software reverse engineering (SRE) suite of tools developed by NSA's Research Directorate in support of the Cybersecurity mission It helps analyze malicious code and malware like viruses, and can give cybersecurity professionals a better understanding of potential vulnerabilities in their networks and systems. GHIDRA 9.1.1 released ! Using Code:
Cisco Talos is releasing two new tools for IDA Pro: Code:
Список видео на канале: Code:
Code:
Ghidra ----- ds | Сообщение посчитали полезным: SReg, sefkrd, CyberGod, Vnv, Gideon Vi, cppasm, mak, v00doo, Rio, Orlyonok, sergio12, kp0m, memadm, Hugo Chaves, DICI BF, HandMill |
|
Создано: 28 апреля 2019 22:06 · Личное сообщение · #2 sergeu пишет: Power Architecture Набор инструкций PowerPC гидра из коробки поддерживает. sergeu пишет: Кстати как гидра работает с Variable length encoding (VLE), allowing mixed 16-bit and 32-bit ins ppc_64_isa_vle_be.slaspec ("PowerISA-VLE-64-32addr") ppc_64_isa_altivec_vle_be.slaspec ("PowerISA-VLE-Altivec-64-32addr") Посмотри это ли. sergeu пишет: Да и есть опыт работы с хитрыми процессорами фрескале с переключаемыми банками кода и епрома? Вобще возможно ли реализавать это для плагина гидры? Все, что не потянет сам движок sleigh, можно закостылить плагином-анализером. (например для расстановки delay slot'ов в зависимости от msb следующей инструкции недавно делал плугин, на движке этого сделать нельзя, получилось) Так что потенциально поддерживает что угодно. Регистрируешься как AnalyzerType.INSTRUCTION_ANALYZER, подкручиваешь значение в контексте, дизасмишь заново (Disassembler.getDisassembler'ом, чтоб эвент не создавало еще один). ----- 2 оттенка серого | Сообщение посчитали полезным: sergeu |
|
Создано: 28 апреля 2019 22:31 · Личное сообщение · #3 f13nd Спасибо. Не обращал на эти позиции. В принципе автопоиска нету, но есть вариант самому обозначить секцию кода или данных. Да команды как из даташита или 32 или 16 битные идут. Попробуем конечно проверить качество дизасма тестом своего кода для начала. Чтобы видеть где что размечается в коде. Потому как адреса расположения памяти и кода не нашёл на этот проц. |
|
Создано: 28 апреля 2019 22:39 · Личное сообщение · #4 sergeu пишет: Попробуем конечно проверить качество дизасма тестом своего кода для начала. Даже в худшем варианте, если придется свой дизасм делать, 140 всего форматов инструкций. После тренировки за пару вечеров управишься В плане анализа динамической адресации ида сольет гидре всухую. Я уже полностью на гидру перешел и доволен. ----- 2 оттенка серого |
|
Создано: 28 апреля 2019 22:49 · Поправил: sergeu · Личное сообщение · #5 Научится бы плагины ваять как под копирку,много есть интересных процов которые хотелось бы добавить. Особенно из за псевдоси. На мой взгляд за ней будущее, хоть пока она и сыровата. Кстати есть ли по ней статейки, ну там как типа глянуть дерево вызывов функций ну и прочие мелочи? Кстати ида так и не открыла данный проц. Ну или есть какие то фичи неочевидные, ну или очевидные только разработчику ида. |
|
Создано: 28 апреля 2019 23:03 · Личное сообщение · #6 |
|
Создано: 30 апреля 2019 11:37 · Поправил: f13nd · Личное сообщение · #7 ЗЫ: насчет функционала был неправ, а баг действительно баг. ----- 2 оттенка серого |
|
Создано: 08 мая 2019 09:08 · Личное сообщение · #8 Плагин для пакетной замены адресных пространств в референсах. Для профилактики артрита. Берет выделение из code viewer'а, либо подставляет максимальный/минимальный адрес адресного пространства. В гидре можно создавать любое количество адресных пространств (через add memory block - overlay в memory map, либо file - add to program с галкой overlay) адреса в которых могут совпадать с другими. Полезно, если в одно и то же место помещаются разные данные/код, в иде из-за этого получается каша из референсов, в которую можно загрузить только что-то одно. ----- 2 оттенка серого | Сообщение посчитали полезным: sergeu, plutos, mak, dma, DICI BF |
|
Создано: 08 мая 2019 09:46 · Личное сообщение · #9 |
|
Создано: 08 мая 2019 17:59 · Личное сообщение · #10 |
|
Создано: 10 мая 2019 23:22 · Личное сообщение · #11 Three Heads are Better Than One: 75% of this presentation was live tutorials, so watching the video is best the way to experience it. ----- Give me a HANDLE and I will move the Earth. | Сообщение посчитали полезным: bartolomeo |
|
Создано: 19 мая 2019 06:00 · Поправил: plutos · Личное сообщение · #12 Пока этот plugin поддерживает Dynamorio and Intel Pin binary instrumentation tools. Смотрится симпатично. ----- Give me a HANDLE and I will move the Earth. | Сообщение посчитали полезным: dma, mak |
|
Создано: 19 мая 2019 08:27 · Поправил: dma · Личное сообщение · #13 |
|
Создано: 19 мая 2019 14:36 · Личное сообщение · #14 f13nd пишет: Декомпиль очень просто устроен. В \Ghidra\Processors\<name>\data\languages\ есть *.slaspec и *.sinc файлы иполученные из них промежуточные *.sla, А поподробнее возможно? я так понял для создания плагина под нужный проц необходимо только эти два файла отредактировать? Потому как посмотрел на некоторые исходники там только эти файлы из папки дата и больше ничего. |
|
Создано: 19 мая 2019 16:28 · Личное сообщение · #15 sergeu пишет: А поподробнее возможно? Скачай эклипс с ant'ом, установи в него Extensions\Eclipse\GhidraDev\GhidraDev-2.0.0.zip (help-install new software вроде). В эклипсе появится пункт меню GhidraDev, GhidraDev -> New -> Ghidra module project, галки все можешь снять. В c:\Users\<username>\eclipse-workspace\<имя проекта>\data\languages будет шаблон процессорного модуля, затаскиваешь файл c:\Users\<username>\eclipse-workspace\<имя проекта>\data\build.xml в еклипс, правой кнопкой по нему -> Run As -> Ant build сборка .sla файлов. Сам модуль в *.slaspec, в котором могут быть подключены *.sinc в качестве инклудов. *.ldefs - файл-манифест, где подмодули описаны (которые в меню при выборе процессорного модуля), *.pspec - специфичные для подмодуля параметры: ip-регистр, группы регистров, адреса системных регистров и области памяти, которые надо объявить при создании проекта этим профилем. *.cspec - директивы для декомпиля. Таким образом все файлы кроме .sla редактируются руками, *.sla компилится из *.slaspec и *.sinc антом. Писать как *.slaspec/*.sinc устроены и как работают долго, но скорей всего сам разберешься. Ну и если плагины будешь делать, класс Plugin основной, Analyzer - для различных костылей, в нем можно выбить высокий приоритет, чтоб не мешать другим анализаторам, Loader, Filesystem, Exporter - не особенно нужные. ----- 2 оттенка серого | Сообщение посчитали полезным: sergeu, plutos |
|
Создано: 23 мая 2019 12:52 · Личное сообщение · #16 Итаг... Хотя я так себе реверсер (ну для меня это сопутствующий скил), но мени есть, что сказать =) Закончил проектик по реверсу на гидре. Могу сказать, что лично МЕНЯ оно боле-менее устроило. Есть странности с декомпилем - в одной функе оно проебало else ветку..., на некоторых функах странно работает с переменными, хотя в асме очевидно (ну тут уже приводили баги по декомпилю), не распознает коллинг конвеншоны - но тут не минус скорее, менять очень все удобно. Да! Я работаю только на интеле (32/64 бита) и только винда и почти всегда виндовый компилер смотрится (иногда кланг). Очень порадовала тема с проектом. Те есть несколько версий дллок - засунул в проект и работаешь, а не открываешь идб (если еще и забыл куда положил, то караул). Ну это такое. НО! Что меня сцуко просто убило и я вот хз кто виноват - гидра или сам рантайм джавы (та которая опен), это глюки с гуем. Те 2 монитора, перетащил на другой дисплей - в окне гидры начинается тайл-шоу отрисовки гуя, те кусками рисует, то не рисует. И так на всех диалогах тоже. Но иногда может и час норм работать, закономерности не выявил (да и не старался). Если кто знает в чем дело - плиз не держите в себе (линукс не предлагать, там я только сетевое пилю) Еще не ясно с графиком выхода версий. Те хз, когда след версию выкатят (9_0_3), те какие тикеты блочат итд (хотя ясно что у них есть своя разработка внутренняя и она вот влияет по тикетам). Все бобра! |
|
Создано: 23 мая 2019 13:08 · Поправил: f13nd · Личное сообщение · #17 superakira пишет: в одной функе оно проебало else ветку Следи за аргументами и значением на выходе. Если гидра почует unreachable code (такой детектор мусора) - уберет этот код из декомпиля (за это отвечает галка eliminate unreachable code, но ей лучше быть включенной, так гидра подметает лишние фреймы п-кода, которые неизбежно образуются при дизасме инструкций с условными переходами внутри). Так что следи за прототипом функции. ЗЫ: кстати обо всех выброшенных ветках гидра в начале листинга в декомпиле сигнализирует. ----- 2 оттенка серого |
|
Создано: 23 мая 2019 16:21 · Поправил: difexacaw · Личное сообщение · #18 Я немного подумал, обобщил все текущие задачи и последние проблемы и сложности. Все темы и всё сводится к двум проблемным задачам - построить cfg(те накопить инструкции) и главная сформировать DFG. Ранее это было не особо нужно, так как например все подряд темы по протекторам я не трогал. Собственно какие для этого есть инструменты, сабж может строить графы данных ? Накопление инструкций это второстепенная задача, это можно сделать в динамике и статике, но на выхлопе д-граф будет не завесить от источника потока инструкций. Судя по всему задача не проста. Короче говоря есть ли мотор, который на основе cfg строит dfg пригодный для обработки ? ----- vx |
|
Создано: 23 мая 2019 21:19 · Личное сообщение · #19 superakira пишет: Хотя я так себе реверсер Ну, это смотря P.S. Есть хороший анекдот. Сборная России по футболу! Снимайте коньки, мы вас узнали!... |
|
Создано: 23 мая 2019 22:00 · Поправил: BfoX · Личное сообщение · #20 вышла Ghidra v9.0.4 для тех, у кого ----- ...или ты работаешь хорошо, или ты работаешь много... | Сообщение посчитали полезным: mak, plutos, DimitarSerg |
|
Создано: 31 мая 2019 02:05 · Личное сообщение · #21 Implementing a New CPU Architecture for Toshiba MeP-c4 for ----- Give me a HANDLE and I will move the Earth. | Сообщение посчитали полезным: DimitarSerg, mak |
|
Создано: 07 июня 2019 23:42 · Личное сообщение · #22 Ghidra Various modules for Ghidra to assist with PC firmware reverse-engineering. This was accepted as a coreboot project for GSoC 2019. ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 17 июня 2019 12:43 · Личное сообщение · #23 На счет бага с гуем. Спасло добавление VMARGS=-Dsun.java2d.noddraw=true VMARGS=-Dsun.java2d.d3d=false в launch.properties Невозбранно спер из тикета с гитхаба, народ уже сталкивался. Есть еще баг, может кто решал - иногда при смене раскладки она не меняется, те был русский ввод, поменя на английский - не меняется, тайпается все равно русский. Странности с декомпилем. TEST dword ptr [ESI + 0x8],IMAGE_DOS_HEADER_10000000 = 00 00 00 10 те замена в асме неким сгенерированным представлением (понятно что константа) но вот в декомпиле if ((param_1[2] & 0x10000000) == 0) { <-- те тут не поменял.. можно ли как-то синхронизировать? Добавлено спустя 3 часа Хотя конструкции типа ulonglong LdrLoadDll(wchar_t *param_1,uint *param_2,ulonglong *******param_3,ulonglong ****param_4) // <--- откуда он нарожал стоко указателей... =( { uint uVar1; ulonglong uVar2; wchar_t *pwVar3; ulonglong *******pppppppuVar4; // <-- wtf wchar_t *pwVar5; ulonglong *****local_res8; undefined4 uVar6; ulonglong ******local_28 [2]; // <-- wtf Вгоняют меня в уныние... =( Может я галку где не поставил хитрожопую... |
|
Создано: 21 июня 2019 22:36 · Личное сообщение · #24 |
|
Создано: 21 июня 2019 23:22 · Личное сообщение · #25 |
|
Создано: 21 июня 2019 23:47 · Поправил: PhilXe · Личное сообщение · #26 f13nd пишет: речь об \Ghidra\Features\Decompiler\os\win64\decompile.exe, файл есть, декомпилер в 8051 тоже работает файл такой имеется, но декомпилятор не работает -- может это быть из-за того, что я запустил Гидру в 32-битной ОС ? P.S. сделал копию папки win64 и переименовал ее в win32 -- ошибка исчезла, но в окне декомпилятора вместо текста появилась объясняющая "подсказка" "C:\ghidra_9.0.4_PUBLIC_20190516\ghidra_9.0.4\Ghidra\Features\Decompiler\os\win32\decompile.exe": CreateProcess error=216, This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher Интересно, а возможно ли из исходников собрать под 32-битную ОС или возни будет больше с отладкой и быстрее поставить 64-битную ОС? |
|
Создано: 21 июня 2019 23:54 · Поправил: f13nd · Личное сообщение · #27 PhilXe пишет: я запустил Гидру в 32-битной ОС ? Очевидно да, х86 версии там нету. Добавлено спустя 5 минут PhilXe пишет: а возможно ли из исходников собрать под 32-битную ОС А ты ознакомься с перечнем того, что надо для этого установить и как настроить ----- 2 оттенка серого |
|
Создано: 22 июня 2019 00:28 · Личное сообщение · #28 |
|
Создано: 21 июля 2019 02:49 · Поправил: plutos · Личное сообщение · #29 Using Code:
Download the Pharos Binary Analysis Framework in ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 25 июля 2019 10:11 · Личное сообщение · #30 sergeu В иде 7.2 таки добавили vle (он был в 7.0, просто не включался сегментным регистром). Гидра не поддерживает весь набор инструкций для SPC5746R например, ида тоже, но там вроде как всего у одной инструкции неизвестный формат замечен. Если еще не сделал модуль для гидры можешь попробовать. ----- 2 оттенка серого | Сообщение посчитали полезным: sergeu |
|
Создано: 06 августа 2019 18:01 · Личное сообщение · #31 Как и PhilXe сделал попытку запустить Гидру в 32-битной ОС: Гидра установилась, запустилась, открылось её главное окно - Браузер кода, затем она дизассемблировала исследуемую программу, привела таблицы функций, символов и типов. Но правая панель, в которой должен быть декомпилированный текст, осталась пустой. Ответственный за эту панель файл decompile.exe работает только для 64-битной ОС. |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >> |
eXeL@B —› Софт, инструменты —› GHIDRA software reverse engineering (SRE) suite of tools |