Публикации по теме 'reverse-engineering'


Игра с законами Де Моргана: загадки xorpd 0x12, 0x0d и 0x0e
У xorpd есть некоторые загадки, похожие на куски ассемблерного кода здесь . В этом посте я разберу загадки 0x12, 0x0d и 0x0e, которые имеют некоторые общие черты. Давайте приступим! xorpd загадка 0x12 Вот код: mov rcx,rdx and rdx,rax or rax,rcx add rax,rdx Давайте пошагово: mov rcx,rdx ; rcx = x and rdx,rax ; rdx = x && y or rax,rcx ; rax = y || x add rax,rdx ; rax = (y || x) + (x && y) Интересным фактом об..

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

Аппаратные трояны под микроскопом
Оглавление "Введение" RTL Design против нетлиста Получение изображений кремниевых кристаллов Определение аппаратных троянов Вставка троянов Подготовка проб, микроскопические изображения и тестирование ASIC Design собственного HWT "Заключение" "Использованная литература" Введение В то время как индустрия безопасности обычно фокусируется на программных кибератаках, мы не можем забывать о влиянии на безопасность аппаратных недостатков более низкого уровня, таких как..

Ангр Менеджмент
Ангр Менеджмент У меня было очень мало времени на Defcon CTF этого года. Мне хватило времени только на то, чтобы поиграть с первым заданием RE ребенка, и, к сожалению, я решил его долгим путем. Выполнив задачу, я задумался, как ее решили другие, и нашел хороший инструмент для символьного выполнения/бинарного анализа, которого раньше не видел. Долгий путь Открыв бинарник в IDA видим программу: Считывает 13 числовых значений с помощью scanf из стандартного ввода. Вызывает..

Вопросы по теме 'reverse-engineering'

Помогите мне понять этот формат двоичного файла
Я пытаюсь написать небольшую утилиту для создания двоичного файла, который будет имитировать файл, созданный другим закрытым приложением. Я использовал шестнадцатеричные редакторы для расшифровки формата, потому что я застрял, пытаясь понять, что это...
2645 просмотров
schedule 30.01.2024

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

Запись данных в работающий исполняемый файл
Я пытаюсь запустить процесс, дождаться его завершения, открыть исполняемый файл и что-то в него написать. Поэтому я создал небольшой «загрузчик», который делает именно это. Это мой код: ;Run the executable INVOKE GetStartupInfo,OFFSET startInfo...
640 просмотров

Упакованный десятичный формат (но НЕ Comp-3)
Я встречаю ряд числовых полей в этом файле данных. Поля имеют размер 6 байт (12 полубайтов). Первый полубайт - во всех случаях пока равен "4". Второй полубайт представляет собой количество цифр СЛЕВА от десятичной точки. Остальные кусочки...
139 просмотров
schedule 15.01.2024

Каков самый чистый способ разыменования многоуровневых указателей со смещениями?
В настоящее время я редактирую память в игре под названием Assault Cube. К сожалению, из-за динамического выделения памяти адреса значений, которые я хочу редактировать, меняются каждый раз при запуске игры. К счастью, существуют статические...
1771 просмотров

RE - смещение функции поиска IDA
Я только начинаю заниматься реверс-инжинирингом. Я создал небольшое консольное приложение С++ и пытаюсь вызвать NewFunction через внедренную DLL. void NewFunction() { DWORD dwImageBase = (DWORD)GetModuleHandle(NULL); std::cout <<...
3853 просмотров

Как заставить strace печатать адреса строковых аргументов, а не только их значения?
Я пытаюсь использовать strace , чтобы понять, как двоичная программа использует память. Однако вывод по умолчанию strace , чтобы быть более удобным для пользователя, печатает любые буферы char * как соответствующие строки. read(3, "Tell me,...
3508 просмотров

Какой процесс Linux обрабатывает системные вызовы?
Это может быть глупый вопрос, но я отлаживал двоичный файл с помощью gdb, пытаясь «перепроектировать» его, и получил инструкцию, которая выполняет системный вызов, после чего появляется эффект, который я хочу перепроектировать. Я предполагаю, что...
99 просмотров
schedule 14.01.2024

Ленивое отображение с помощью инструментов гибернации?
У меня есть две таблицы A и B в моей базе данных. В таблице B у меня есть ссылка на таблицу A целым числом idA . (idA — это внешний ключ для B). Когда я выполняю обратное проектирование с помощью инструментов hibernate, я генерирую два...
214 просмотров

Обратный инжиниринг алгоритма CRC16 из CRC16 и набора данных
Я использую плохо документированную систему, в которой требуется CRC16 в структуре, которую мне нужно изменить. Изменение не вступит в силу, если я не укажу правильную контрольную сумму. Техническая поддержка указала, что они использовали...
4052 просмотров
schedule 18.11.2022

Разобрать файл Jar и найти отношения между классами?
Как определить, является ли класс из jar-файла расширением другого класса или есть вызовы методов для других объектов класса или созданы другие объекты класса? а затем система из того, какой класс расширяет какой класс и какой класс вызывает методы...
4182 просмотров
schedule 10.11.2023

Раздуть макет в модуле Xposed
На данный момент я пишу модуль для Xposed framework но теперь у меня проблема. Я хочу раздуть макет из собственного пакета. Я думал, что могу сделать это, используя этот код: Context context = (Context) XposedHelpers.getObjectField(object,...
629 просмотров
schedule 18.05.2024

Неожиданный код выхода для программы C, скомпилированной для 32-битной архитектуры с использованием gcc
Я написал простую программу на C и скомпилировал ее для 32-битной архитектуры. Но когда я запустил его, я обнаружил неожиданные результаты. #include <stdio.h> int foo(int n) { int sum=0; int i; if (n <= 1 || n >=...
551 просмотров
schedule 29.10.2023

Как дизассемблировать байты, которые Ollydbg считает данными, а не кодом?
Я смотрю на некоторые исполняемые файлы, которые используют методы анти-дизассемблирования, часто приводящие к тому, что код запутывается как текст. В IDA Pro есть простые горячие клавиши «c» и «d» для переключения инструкций между кодом и данными....
1057 просмотров
schedule 23.12.2023

Проверка 3D на холсте HTML из веб-браузера
Я пытаюсь определить, какая технология используется для 3D-модели, загруженной на этой странице . . Используя инструменты Chrome Dev, я могу видеть текстуры, загруженные на вкладке «Сеть». Однако на HMTL вы видите только элемент холста, который...
311 просмотров
schedule 30.09.2022

Декомпиляция запутанных файлов dex/jar Android в исходный код Java
Есть ли способы декомпилировать запутанные файлы dex/jar в исходный код Java? У меня есть APK без файла class.dex, но у меня есть файл odex. Я пытался использовать oat2dex и dex2jar для получения файлов dex/jar, а затем использовал несколько...
1659 просмотров

Декомпиляторы Java, поддерживающие переименование и другие функции IDE
Я пытался декомпилировать файлы dex и jar с помощью нескольких декомпиляторов. На данный момент лучшим из тех, что я использовал, является jadx, и он также поставляется с графическим интерфейсом. Однако, кажется, только для чтения. Есть ли...
689 просмотров
schedule 01.03.2024

Написание (прототип функции, указатель функции, внешний указатель) Меньше
Есть ли способ написать макрос или typedef с некоторой магией, чтобы я мог написать три строки ниже меньше? extern "C" NTSTATUS NTAPI KeInitializeApc( PKAPC Apc, PKTHREAD thread,...
421 просмотров
schedule 14.12.2023

Можно ли использовать чужой идентификатор продавца приложений для Apple Pay?
Вопрос: Есть ли какой-либо способ заставить приложение Б генерировать токены с идентификатором продавца приложения А, который будет полностью работать и проходить внутренние проверки А? Мои обстоятельства: Стороннее приложение A : Это...
1046 просмотров

Обратный инжиниринг Panasonic IR Code Checksum
Я работаю над блоком переменного тока Panasonic , которым управляет ИК-пульт дистанционного управления . Пульт отправляет 12 bytes . Первые 5 bytes всегда идентичны. Следующие 6 bytes соответствуют температуре кондиционера, вентилятору,...
372 просмотров
schedule 09.05.2024