Вопросы по теме 'disassembly'

Определение того, какой компилятор создал Win32 PE
Как определить, какой компилятор C или C++ использовался для сборки конкретного исполняемого файла Windows или библиотеки DLL? Некоторые компиляторы оставляют строки версии в конечном исполняемом файле, но в Windows это происходит реже, чем в Linux....
9105 просмотров

Как написать дизассемблер?
Я заинтересован в написании диссемблера x86 в качестве образовательного проекта. Единственный реальный ресурс, который я нашел, это Spiral Space, " Как написать дизассемблер ". Хотя это дает хорошее высокоуровневое описание различных компонентов...
24686 просмотров
schedule 25.10.2022

Установка скриптов на IDA Pro
В сети я встречал ссылки на "скрипты" для IDA Pro , но могу не знаю, как загрузить или установить их для бесплатной версии IDA Pro 4.9 . Как мне это сделать? В частности, я хочу использовать скрипты PE .
8129 просмотров

Есть ли дизассемблер + отладчик для java (аля OllyDbg / SoftICE для ассемблера)?
Есть ли утилита, похожая на OllyDbg / SoftICE для java? Т.е. выполнить класс (из jar / с путем к классу) и, без исходного кода, показать разборку промежуточного кода с возможностью пошагового выполнения / перехода / поиска ссылок / редактирования...
9502 просмотров
schedule 21.07.2022

граница стека gcc
Я знаю, что границу стека можно установить с помощью аргумента mpreferred-stack-boundary для gcc. Мне было интересно, можно ли сделать следующее. На конкретной машине найдите значение по умолчанию, используемое в качестве границы стека....
727 просмотров
schedule 20.11.2022

как разобрать системный вызов?
Как я мог дизассемблировать системный вызов, чтобы я мог получить инструкции по сборке, связанные с ним
2062 просмотров
schedule 24.09.2022

Можно ли все программы конвертировать в сборку?
Скажем, у нас есть exe, можно ли его легко преобразовать в сборку? Есть ли способ у авторов программного обеспечения предотвратить / воспрепятствовать этому?
1074 просмотров
schedule 28.08.2022

Внесение исправлений в исполняемый файл, скомпилированный с помощью MASM.
Я написал простую программу на MASM, например: .386 .model flat, stdcall option casemap:none .data szName db "MASM", 0 .code start: mov eax, DWORD PTR [szName] ret end start Я проверяю код в отладчике OllyDbg и получаю: CPU Disasm...
336 просмотров

константы в сборке
Википедия говорит: Исходный код на языке ассемблера обычно позволяет использовать константы и комментарии программиста. Обычно они удаляются ассемблером из собранного машинного кода. Если так, то дизассемблер, работающий с машинным кодом,...
464 просмотров
schedule 13.04.2022

Нахождение количества операндов в инструкции по кодам операций
Я планирую написать свой собственный небольшой дизассемблер. Я хочу расшифровать коды операций, которые я получаю при чтении исполняемого файла. Я вижу следующие опкоды: 69 62 2f 6c 64 2d 6c что должно соответствовать: imul...
4903 просмотров
schedule 22.02.2022

Пример дизассемблирования Art of Exploitation не тот (код C)
Я следую примеру из книги Art of Exploitation, пытаясь разобрать программу на C, хотя книга поставляется с собственным Linux LiveCD, я предпочитаю использовать BT5 (32 бит). Пример кода очень прост - (я использовал его так же) #include...
1375 просмотров
schedule 23.07.2022

разборка, изменение и сборка DLL файла
У меня есть DLL, которую я разобрал, и просто чтобы проверить, будет ли мой проект работать. Я попытался собрать его снова, но безуспешно. Я получаю разные ошибки. Дизассемблирование я проделал с помощью бесплатного программного обеспечения IDA...
1161 просмотров
schedule 04.08.2022

objc_msgsend в разборке iPhone
Я пытаюсь выяснить, какой метод вызывается в следующем фрагменте дизассемблирования, но я понятия не имею, что происходит. Я понимаю, что с objc_msgsend первый аргумент — это указатель на объект, а второй — селектор (то есть r0 и r1). Но мне трудно...
1141 просмотров
schedule 07.05.2024

Соглашение о вызовах gcc cdecl
протестируйте соглашение о вызовах cdecl, но это немного путает: исходный код C: int __attribute__((cdecl)) add(int a,int b) { int i; i = a+b; return i; } void __attribute__((cdecl)) print(int i, ...) { int j,a,b;...
3867 просмотров
schedule 24.07.2022

Скомпилируйте код C++ в сборку, а затем разберите
Кто-нибудь знает, как преобразовать код С++ в код сборки, а затем сделать обратное? Путь вперед очень прост: g++ -S Я хочу проанализировать вывод и посмотреть, правильно ли он скомпилирован (просто из любопытства, но он может иметь некоторые...
1798 просмотров

Неверный регистр eip?
Я отлаживаю программу c с помощью gdb в терминале Linux, я разобрал ее и запустил, затем попытался найти адрес памяти в регистре EIP. Это то, что случилось: (gdb) i r eip Неверный регистр `eip' Почему он говорит, что мой регистр eip...
6259 просмотров
schedule 29.03.2023

Разберите, чтобы определить алгоритм шифрования
Цель (общая) Моя конечная (долгосрочная) цель - написать импортер для двоичного файла в другое приложение. Фон вопроса Меня интересуют два поля в формате двоичного файла. Один зашифрован, а другой сжат и, возможно, также зашифрован...
12823 просмотров

Почему этот адрес памяти% fs: 0x28 (fs [0x28]) имеет случайное значение?
Я написал кусок кода C, разобрал его, а также прочитал регистры, чтобы понять, как программа работает на ассемблере. int test(char *this){ char sum_buf[6]; strncpy(sum_buf,this,32); return 0; } Часть моего кода, которую я...
24202 просмотров
schedule 16.02.2024

Как перехватить вызов невиртуального метода из/в сторонние библиотеки в .Net?
Я думаю, что мне нужно то, что люди .net называют «прозрачным динамическим прокси», но все реализации, которые я видел до сих пор (Castle DynamicProxy, Spring.NET AOP и т. д.), требуют, чтобы я сделал хотя бы одно из этого: Объявить перехваченный...
2063 просмотров

Точка останова изменяет ход программы
Я пытаюсь проанализировать и отменить программу Objective-C, которая у меня есть. Я внес несколько изменений в исполняемый файл, вручную изменив некоторые коды операций. Однако когда я тестирую модифицированное программное обеспечение, я получаю...
159 просмотров