Описание тега ghidra

Ghidra - это набор инструментов для обратного проектирования программного обеспечения (SRE), разработанный NSA и выпущенный как Open Source (Apache License 2.0) в 2019 году.
0 ответов

Гидра: как получить статические переменные, используя Python API Гидра?

У меня есть следующий код c (из теста): int main(int argc, char *argv[]) { static char buf[10] = ""; /* OK */ buf[9] = 'A'; return 0; } Я использую ghidra api, чтобы получить некоторую информацию из двоичного файла (предварительно скомпилированный с…
01 авг '19 в 03:23
1 ответ

Два скомпилированных двоичных файла с одним и тем же кодом сборки по-разному ведут себя при взломе двоичного файла? Или я что-то упускаю?

У меня есть два exe-файла: один - оригинальный, а другой - взломанный exe-файл программного обеспечения Vector magic, а взломанный файл - vmbe.zip. Оба файла имеют точно такой же размер. Я использую ghidra для декомпиляции этих двоичных файлов. Зате…
18 июн '20 в 08:18
1 ответ

Почему строки имеют значение, но не используются в декомпилированном EXE?

Я RE исполняемый файл игры с Ghidra, и я искал strings. Я нашел много строк в разделе.rdata, которые имеют читаемое значение, но если я поищу"references to this address", результатов нет. Почему они включены вbinary, если для них нет использования? …
25 сен '19 в 21:49
1 ответ

Вызов функции из dll с неработающим указателем

Я сделал тестовую программу и сделал функцию, которая просто печатает какой-то текст, и я пытаюсь вызвать ее из DLL, изменив ее направление с помощью IDA/Ghidra и получив указатель на нее. Как это выглядит в Гидре Я подумал, что IDA дает неправильны…
19 апр '20 в 17:17
0 ответов

Как я могу настроить Ghidra как ida pro?

Я использую Гидру. У меня кое-что вопрос. Когда я открывал бинарный IDA pro, код был очень хорош для анализа. Это код декомпиляции IDA pro printf("Tell me something about yourself: "); fgets(&s, 32, edata); std::string::operator=(&input, &am…
07 май '20 в 18:37
0 ответов

Где в стеке хранится fread?

У меня небольшое сомнение, я делаю ctf, который предоставляет мне только файл ELF. Мне удалось декомпилировать его с помощью Ghidra, но вот проблема: в какой-то момент я прочитал:fread(flag,0x400,1,__stream); (раньше было: __stream = fopen("./flag",…
09 май '20 в 14:19
1 ответ

Разборка bin-файла с помощью Ghridra

У меня проблема. У меня есть bin-файл, который я хочу разобрать. Процессор - Intel Atom® x5-Z8350. Я использую Ghidra, но я не уверен, какой язык выбрать при разборке. Любые эксперты, которые могли бы меня немного продвинуть в этом вопросе. Если ест…
02 мар '20 в 04:06
0 ответов

Ghidra использует нечетные имена полей, такие как "._0_4_", для представления нестандартного размера доступа при декомпиляции C

Я использовал Ghidra для декомпиляции некоторых файлов библиотеки.o, изначально скомпилированных для ARMv7, для которых у меня есть файлы заголовков для некоторых функций и структур. Допустим, у структуры есть несколько однобайтовых членов типа char…
20 апр '20 в 11:30
0 ответов

Visual C++ 6.0 WholeArchive

Я занимаюсь реконструированием старой компьютерной программы, скомпилированной с использованием Microsoft Visual C++ 6.0. Я хотел бы, чтобы Ghidra распознала все функции статически связанной библиотеки CRT. Я попытался скомпилировать простую програм…
01 май '20 в 21:01
1 ответ

Мне нужна помощь в выяснении того, что делает этот код C

У меня есть этот фрагмент кода C от Ghidra, и я не могу понять, что он делает. Подозреваю какой-то рут, может? Два переданных аргумента представляют собой сумму квадратов (иногда 2, иногда 3 члена) и дополнительное значение, например 0x18, 0x10 или,…
18 май '20 в 06:21
1 ответ

Получение импорта / экспорта из PE с помощью скрипта Ghidra

Я использую ghidra для обратного проектирования EXE-файла. Я хочу извлечь импорт и экспорт из дерева символов. Я написал этот сценарий, но он ничего не возвращает. sm = currentProgram.getSymbolTable() symb = sm.getSymbolIterator("Imports") for s in …
15 июн '20 в 16:09
0 ответов

Отслеживание файла сертификата (.pem, .key, .der) в двоичном файле до службы или исполняемого файла

Обратные инженеры, пожалуйста, как мне отследить файл сертификата (.pem, .key, .der) в двоичном коде прошивки до службы или исполняемого файла, использующего их? Я извлек прошивку и нашел несколько файлов сертификатов. Теперь мне нужно отследить эти…
23 июл '20 в 18:39
1 ответ

гидра, полная функций thunk

Я пытаюсь сделать кряк в гидре. Я уже смог найти ответ, но я хочу знать, как бы я сделал это "правильно", поскольку я использовал отладчик и смотрел на строки. На изображении ниже вы можете видеть, что очевидно, что есть много функций thunk, но, чес…
05 авг '20 в 22:05
0 ответов

Определите имена исходных файлов для всех функций, присутствующих в исполняемом файле

У меня есть двоичный файл Arm, который был скомпилирован с включенными отладочными символами. Я пытаюсь найти способ перечислить все имена исходных файлов для всех функций, содержащихся в этом двоичном файле. Здесь, похоже, похожий вопрос, но мне ин…
10 апр '20 в 19:50
0 ответов

Инструментарий Ghidra, некорректный декомпилированный адрес для относительных скачков с микроконтроллером AVR8

Я новичок в Ghidra toolkit и пытаюсь проанализировать прошивку для микроконтроллера AVR8 (а точнее - для ATmega8535). Ghidra в некоторых случаях генерирует неправильный адрес для команд относительных переходов RJMP/RCALL, когда вычисленный адрес нах…
01 июн '20 в 11:54
1 ответ

Java: ArrayList.clear удаляет элементы из ArrayList, переданные в Map

Я впервые за много лет пишу код Java, и я работаю над сценарием Ghidra, который отображает символы, вызываемые системой, в их вызывающие функции. private HashMap<Symbol, Reference[]> symbolRefs = new HashMap<Symbol, Reference[]>(); priva…
08 июн '20 в 18:34
0 ответов

Как редактировать файл ELF?

У меня есть файл ELF, который я купил на известном сайте сценариев. Этот файл ELF является веб-сервером для моего приложения для Android. Он отлично работает на моем сервере Linux. Через некоторое время я решил, что мне нужно изменить его, чтобы он …
05 июл '20 в 17:59
0 ответов

Гидра делает беспорядок по простой инструкции ADD?

Я не могу понять, делает ли ghidra беспорядок в декомпиляторе, или я сделал достаточно реверсирования в этот день. Сборка: 00400b76 48 83 45 f8 01 ADD qword ptr [RBP + local_10],offset DAT_006020c1 где DAT_006020c1 - это: DAT_006020c1 XREF[2]: 00602…
0 ответов

Добавить инструкцию в скомпилированный x86 exe

Мы используем на работе приложение, поддержка которого давно прекращена, но нам все еще необходимо поддерживать его. В данном случае это означает обратное проектирование программы. Я использовал ghidra для декомпиляции программы и нашел строку кода,…
19 фев '20 в 19:22
0 ответов

Как обрабатывать файлы в ghidra, где некоторые части сжаты, а некоторые являются инструкциями?

Я извлек прошивку принтера с помощью дампера ПЗУ (SPI NOR flash.) Я обработал двоичный файл с помощью binwalkи он показал, что некоторые части ПЗУ должны быть сжаты (ожидалось). Результаты от binwalkдействительно верны, потому что он правильно распа…
01 мар '20 в 19:43