Сейчас на форуме: 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 |
|
Создано: 27 марта 2019 18:16 · Личное сообщение · #2 |
|
Создано: 27 марта 2019 18:42 · Личное сообщение · #3 |
|
Создано: 28 марта 2019 00:38 · Поправил: DimitarSerg · Личное сообщение · #4 |
|
Создано: 29 марта 2019 21:47 · Поправил: hash87szf · Личное сообщение · #5 ghidra function id hash ~ ida flair https://ghidra.online/Ghidra/Features/FunctionID/lib/FunctionID.jar/help/topics/FunctionID/FunctionID.html Code:
Code:
5мб на 100 функций... ??? common_symbols_win32 Code:
MessageDigestFidHasher.java фуллхэш не понял как генерят, видать просто мнемоники подряд... хэш не похож на фуззи... похож на просто хэш... мож я просто не понял, не смотрел как сравнивают их заменив один бит операнда, specific хеш поменялся полностю. никакой он не фуззи короч... заменив пуш на ноп, fullhash ёбнулся... нда... эта херня """robust""" xD если меняются только операнды... |
|
Создано: 29 марта 2019 22:05 · Личное сообщение · #6 |
|
Создано: 29 марта 2019 22:24 · Личное сообщение · #7 |
|
Создано: 29 марта 2019 22:37 · Поправил: f13nd · Личное сообщение · #8 |
|
Создано: 29 марта 2019 23:15 · Личное сообщение · #9 f13nd пишет: странно, что не разобрался Ндык, то шо вы описываете у меня уже написано. Тупо хэш mnemonic и operands отдельно, кол.во call'ав, склеивание. Алсо, "адреса" в specific, это если операнд похож на адрес, а не адрес опкода, так? Вопрос: какого хера разые mix function для операндов? Вопрос: как точно хэшутся mnemonic для fullhash? Пример: 90 | nop 50 | push eax 33D2 | xor edx, edx Какой хэш? Вот в этом я не разбирался но хочу знать. |
|
Создано: 29 марта 2019 23:38 · Поправил: f13nd · Личное сообщение · #10 Наврал про опкод, маска там для выборки из списка релоков нужна. Code:
Вобщем хеширует раскодированные операнды инструкции по этим правилам. Ноп в хеш не попадет, eax будет 0, edx будет 16, подставь (в ia.sinc написаны оффсеты, это отдельное адресное пространство для регистров, устроенное так, чтобы ax/al/ah совпадали с нужным байтом/словом в rax/eax например). Добавлено спустя 12 минут И в конце Code:
где Code:
getBytes(Address addr, byte[] dest, int destIndex, int size) Get size number of bytes starting at the given address and populates dest starting at dIndex. Короче шляпа. ----- 2 оттенка серого |
|
Создано: 30 марта 2019 00:44 · Личное сообщение · #11 |
|
Создано: 30 марта 2019 05:02 · Поправил: hash87szf · Личное сообщение · #12 |
|
Создано: 30 марта 2019 05:22 · Личное сообщение · #13 |
|
Создано: 30 марта 2019 05:38 · Личное сообщение · #14 |
|
Создано: 30 марта 2019 16:30 · Поправил: hash87szf · Личное сообщение · #15 |
|
Создано: 31 марта 2019 16:38 · Личное сообщение · #16 |
|
Создано: 03 апреля 2019 14:23 · Личное сообщение · #17 Потестил немного, всё работает на десятой винде и Kali Linux 2019.1 (x64). Глюков пока не замечал. Дизасм и декомпиль работают штатно, анализы довольно быстрые, хотя конечно в скорости уступают Ida. Скрипты джавовские также протестил некоторые, ошибок не замечал. Единственное, почему-то на винде не запустился встроенный Jython. Ассемблер тоже нормально собирает патченные PE... Но по большому счету пока уступает связке IDA+Hexrays, хотя всё может довольно скоро измениться если коммьюнити будет усердно допиливать эту штуковину. Добавлено спустя 5 минут Кстати, курсы на ghidra.re довольно слабые... Лучше курить официальные доки по апи или видео уроки на ютубе (посмотрел эти три что в шапке, отличный материал). Не хватает глубоких туториалов по скриптам и плагинам. Хотя крутые исследователи уже пилят добротные плагины, одна Дейнерис чего стоит)) |
|
Создано: 04 апреля 2019 16:26 · Личное сообщение · #18 |
|
Создано: 04 апреля 2019 16:31 · Личное сообщение · #19 |
|
Создано: 05 апреля 2019 04:54 · Личное сообщение · #20 Dart Raiden Добавил в шапку ! Ghidra v9.0.2 (April 2019) Code:
----- ds |
|
Создано: 05 апреля 2019 05:50 · Поправил: S00mbre · Личное сообщение · #21 Мой первый видео-туториал по Гидре (разбираем простой крякми): Enjoy! | Сообщение посчитали полезным: dma |
|
Создано: 05 апреля 2019 06:22 · Личное сообщение · #22 лучше бы ее на С/С++ переписали с интерфейсом на QT а так конечно ява ппц, памяти сразу 1+ гиг на простеньких мегабайтных файлах где ида порядка 200-300 метров да юзабилити нулевое то что в иде делается за минуты и пять нажатий в гидре в десять раз дольше декомпилер в качестве декомпиляции конечно проигрывает иде но ида проигрывает в возможностях декомпиляции на не поддерживаемых платформах странно что все на хайпе пытаются кое какие простенькие разборы сделать лучше бы сложные примеры декомпиляции делали это бы давало понимание возможностям инструмента | Сообщение посчитали полезным: dma |
|
Создано: 05 апреля 2019 09:00 · Личное сообщение · #23 |
|
Создано: 05 апреля 2019 09:14 · Поправил: dma · Личное сообщение · #24 reversecode, а в перспективе довести до ума Гидру могут или Ява сразу ставит крест на всем? Еще вот что интересно: ведь как ни крути, а программа писалАсь для/по заказу АНБ - неужели не догадывались, что Ява не лучший выбор? У вас есть, на этот счет, свои (пусть и субъективные) предположения? Кстати, мнения других тоже интересны. Вам она, при всех ее недостатках, может в каких-либо случаях пригодиться? Например, для тех же неподдерживаемых платформ? Возможно, и еще какие-нибудь задачи могут быть где Гидра предпочтительней? S00mbre, у вас, в принципе, неплохо обучающее видео получилось. Особенно, если учесть, что первое. Гораздо лучше, чем у Яшечки (не в обиду). Избавиться от слов "паразитов" и вообще будет на уровне. Так можно и на Иду что-нибудь интересное сделать - тоже, я думаю, многим будет интересно. В общем, за это вот все и поставил вам плюс. Удачи вам. P.S. Тут еще и вопрос привычки может иногда мешать объективности. Шутка ли, если человек 10-15 лет использовал Иду и вдруг раз и сразу перестроиться на Гидру. Особенно, если написано много всяких своих скриптов для разных ситуаций. Даже если бы она была не хуже Иды. P.P.S. Опять Дуся Рутковская скажет, что я подлизываюсь к reversecode'ру и накручиваю бредогенератором свой ранг. |
|
Создано: 05 апреля 2019 10:08 · Поправил: reversecode · Личное сообщение · #25 для меня память критичная в средне солнечный день у меня от 6+ открытых ида в дождливый минимум 3+ по другому разбирать не возможно и с со средне статическим бинарем сама ида может сожрать до 500метров памяти(был как то файл и на два гига) поскольку смотрится и разбирается разные версии одной и той же проги или похожего функционала на ноуте 16 гиг памяти из которых прожорливый хром жрет почти 5+ гиг инвестировать в большее железо и больше памяти для гидры смысла не вижу а использование явы ставит крест на гидре с попытками уменьшения ее потребления по мелочам могу рассказать брал прошивку девайса на mk68, у меня есть эти же прошивки уже разобранные под идой и рейсом для ppc/arm/x86 поэтому функционал прошивки я более менее знал но где и как что находиться нужно было найти, разметить , переименовать ну ок 4 дня я страдал с превращением бинарного мусора в код(elf заголовка нет) как в гидре это оптимизировать так и не понял в итоге ползал по мегабайтному коду и жмякал c(создать код) f(создать функцию) иногда гидра глючила и f(функция) тупо не создавалась причем никаких дальше не состыковок по коду не было решалось тем что прыгал в какое то рандомное место на бинаре там искал функцию создавая код создавал ее там а потом прыгал назад и уже создавал функцию где не хотело до этого вообщем баг гидры какой то сравнивая с идой, во первых в иде можно сразу создать функцию по нажатию f из набора байт так что экономия как минимум в одном нажатию, то есть уже в два раза в иде меньше во вторых поскольку прошивка чистые наборы байт, то ни ида ни гидра код не создает но в иде можно тупо разметить Alt+L всю область и сказать force анализ и она создаст асм код а в гидре такого не нашел, на да еще плагины я не писал под это поэтому создав 1/10 от прошивки функций в гидре, я забил на это утомительное занятие захотелось побыстрее увидеть как будут выглядеть функции которые я уже знал как разбирает рейс в других архитектурах для этого нужно найти эти функции и в этом оказалась другая засада поиск и навигация в гидре пипец, интерфейс явно из за явы чуточку латентный 1) из за того что адреса расставляются не равномерно а только напротив асм кода скроллинг постоянно дергает курсор туда сюда поэтому сосредоточится на чем то в навигации не получается 2) я обычно отталкиваюсь в поиске начиная со строк, но поскольку строки остались без рефов(я то код не весь разметил) найти по строкам нужные участки не возможно 3) ладно думаю, не по строкам но визуально по очередности функций(я приблизительно знал какой функционал за каким находиться) но как мне показалось(а может и нет) гидра не показывает созданные функции линейно как в иде гидра их начинает хз как группировать запустил иду, за 10 сек со старта нашел нужные адреса функций перешел на них в гидре(хорошо что в гидре goto тоже по g прибито) начал разбирать декомпилер в гидре капец 1) строки не резолвит, вместо них какие то хер пойми не то строка не то переменная 2) рефы декомпилер на данные тоже как то выборочно не резолвит, вместо имени рефа показывает адрес 3) всякие мелочные strlen/memcmp/strcmp не сворачивает 4) доступ к массиву [] иногда детектит, иногда нет, причем в той же самой функции на том же самом массиве(с уже примененной структурой) 5) простенькие var++ или ++var тоже не сворачивает 6) часто видны var = var + -1 + tmp 7) аргументы вызываемых функций не детектит, нужно принудительно заходит во все функции и если аргументы определились то нужно помоему нажимать p, что бы авто применить обнаруженные аргументы итд идем дальше, надо создать уже структуру и применить на функцию работа со структурой очень не удобная много клацать надо что бы добраться, создать, назначить(т.е. много шагов для этого надо) что то создал как то применил ура, получил известный для меня с иды и рейса псевдокод реверснул один известный мне класс в том бинаре, это где то десяток функций итого, простенькие очень простенькие функции выглядят более менее сносно чуть что то сложное и количество мусора караул для себя может и буду иногда ее запускать если нужно декомпильнуть пару других функций для архитектур которые не поддерживает рейс но при этом надо держать иду открытой что бы осуществлять весь разбор бинаря и навигацию как бесплатный инструмент гидра конечно лучшее что есть из тех же retdec или snowman декомпилей дело не в привычке, дело в количестве шагов для каких то действий по научному называется юзабилити по просто народному еще брюс ли говорил - хочешь ударить, ударь, не нужно делать какие то стойки, пляски и издавать звуки тоже самое и в интерфейсе если я хочу что то переименовать или назначить, должен быть минимум один шаг для этого, либо максимально приближенный к минимуму шагов в гидре этим явно не занимались, наоборот старались вытянуть как можно больше избыточной инфы которая только мешает и усложняет путь к нужному действию зы по мелочи видел что гидра умеет деманглить но как это включить так и не хватило терпения разобраться обычно new/new[]/delete/delete[] я беру мангленные то бы декомпилер резолвил красиво |
|
Создано: 05 апреля 2019 10:25 · Личное сообщение · #26 |
|
Создано: 05 апреля 2019 10:28 · Поправил: reversecode · Личное сообщение · #27 |
|
Создано: 05 апреля 2019 13:27 · Личное сообщение · #28 reversecode, СПА-А-А-С-И-И-БО !!! Извиняюсь, что вынудил вас, своими вопросами, на пост-ответ. Я же не предполагал, что он получится такой подробный и дорогой. Моему сердцу-то уж точно. Цену-то теперь как определить? По строкам считать или по словам? И в какой валюте? Мне теперь тут работы на неделю. Каждый пункт нужно будет повторить в Гидре и Иде, для общего развития и приобщения к делу реверсинга. | Сообщение посчитали полезным: reversecode |
|
Создано: 05 апреля 2019 14:49 · Личное сообщение · #29 reversecode пишет: лучше бы ее на С/С++ переписали с интерфейсом на QT Лучше бы на .NET её переписали, добавили бы ещё публичных нативных либ, оптимизировали бы по скорости и сказка, иде бы точно настал конец. А по скорости с С++ было бы не отличить. ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 05 апреля 2019 15:00 · Личное сообщение · #30 |
|
Создано: 05 апреля 2019 15:33 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >> |
eXeL@B —› Софт, инструменты —› GHIDRA software reverse engineering (SRE) suite of tools |