Публикации по теме 'disassembly'


Поток ASM класса C++ с виртуальными методами — Часть 2 Вызовы виртуальных функций
Мы собираемся использовать тот же код, что и в предыдущем разделе , и теперь продолжим код с того места, где оставили его в прошлый раз. // VirtualFunctionCalls.cpp : This file contains the 'main' function. Program execution begins and ends there. // #include <iostream> using namespace std; class Parent { protected: int valueSet; public: Parent() { valueSet = 0; } ~Parent() {} virtual void CallMe(); virtual int SetMe(int val); }; void Parent::CallMe() {..

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

Как заставить gdb показывать оригинальное имя функции без искажений на модели дизассемблирования?
void outputString(const char *str) { cout << "outputString(const char *str) : " << str << endl; } оказывается Dump of assembler code for function _Z12outputStringPKc: 0x004013ee <_Z12outputStringPKc+0>: push ebp...
12178 просмотров
schedule 03.11.2023

В поисках хорошего способа определить правила для декомпилятора, нужен совет
Я работаю над очень простым декомпилятором для архитектуры MIPS, и по мере продвижения мне приходится определять множество правил для анализа кода, например, «если этот код операции lui , а следующий код операции addiu , затем верните var = value "...
427 просмотров

Предупреждение дампа LNK4195: невозможно загрузить msdis170.dll
Я пытаюсь использовать dumpbin с опцией /DISASM для вывода дизассемблированного файла. Выдает ошибку LINK : warning LNK4195: unable to load msdis170.dll . Судя по всему, файл msdis170.dll не существует на моем компьютере. Я попытался...
1696 просмотров
schedule 26.10.2022

Дизассемблер Linux Mach-O
Существуют ли какие-либо программы для Linux, которые могут дизассемблировать универсальный двоичный файл Mach-O для OSX x86/x86_64, например objdump? objdump GNU binutils поддерживает файлы ELF и Windows PE, но не Mach-O.
12100 просмотров
schedule 29.04.2024

Смущает знак % и прочее в дизассемблере
я разобрал этот код int main{ vector<string> temp; } Результат такой LEA ECX, %16I64X DWORD PTR[EBP + temp] CALL std::vector<std::basic_string<char, std::char_traits<char>, std:: Мои вопросы: Что здесь...
120 просмотров
schedule 15.12.2023

Адрес машинного кода функции вызова транслируется в другой адрес при просмотре в дизассемблированном виде и при фактическом выполнении. Почему?
Я играл с примером шеллкода и помещал некоторый код в стек. Вот соответствующий фрагмент из него, как видно в представлении памяти VS2013: Memory view: 0x0018FEB4 90 90 90 83 ec 28 eb 0b e8 66 2a 1a 75 50 e8 9d 80 18 75 Теперь, когда я вижу...
502 просмотров

Дизассемблирование с чередованием исходников из GDB и objdump
Во время одного из моих сеансов отладки (FWIW, ARM) я заметил, что выходные данные дизассемблирования с чередованием исходного кода из GDB и objdump -S отличаются интересным образом: objdump кажется, что они перескакивают через отдельные/группы...
697 просмотров
schedule 30.12.2023

Отличие данных от инструкций в ARM
В (32-разрядных) ядрах ARM Linux, как отличить данные, встроенные в раздел кода, от инструкций? Лучше иметь облегченный подход, такой как битовые маски, которые можно легко реализовать. Диссемблер в ядро ​​встраивать неразумно.
364 просмотров

Различия в стеке между обработчиком сигнала, вызываемым напрямую и с помощью повышения ()?
Я пытаюсь изменить адрес возврата в стеке в обработчике ошибок сегмента, чтобы он пропускал инструкцию по ошибке. Однако я получаю ошибку сегмента всякий раз, когда пытаюсь изменить адрес возврата, если я не вызываю обработчик сигнала напрямую....
136 просмотров

Неизвестное значение двоеточия (:) в инструкции по сборке
Я использую дизассемблер (SmartDec: http://decompilation.info/ ) и многие инструкции в сгенерированная разборка выглядит примерно так: mov rax, [rip + 0x32b5]:64 Я не знаком с :64 частью этой инструкции. Что это означает? Другие...
1023 просмотров
schedule 26.10.2022

MSVC показывает, что дизассемблирование недоступно. для всего, что скомпилировано из MSVC
Используя MSVC 2017, я использую Attach для обработки компиляции, которую я сделал из консоли с помощью MSVC или CLANG (я компилирую ассемблерный код, сгенерированный компиляторами). Всякий раз, когда я ломаю программу, я получаю только «Нет...
233 просмотров

Какие строки на самом деле сравниваются в вызове strcpy этого ассемблерного кода?
Это часть ассемблерного кода mov dword [esp+0x4], 0x80bf7a8 mov eax, dword [ebp-0x78] ; pointer to char array on heap mov dword [esp], eax call fcn.080482a0 ... 0x080482a0 jmp dword [0x80ec03c] ... 0x080ec03c .dword 0x0805c260 ;...
123 просмотров
schedule 31.01.2024

MSVS 2015: есть ли способ просмотреть чистую сборку в окне дизассемблирования?
например, когда я прохожу разборку, я вижу строку: 00007FF967907039 66 0F 6F 44 24 60 movdqa xmm0,xmmword ptr [chain0] (с включенным показом байт-кода и показом адреса). Предположительно, это говорит мне о том, что он загружает в...
18 просмотров
schedule 01.11.2022

Почему дизассемблированный код не использует регистр DIL вместо регистра AL?
Код С: void charTypes(char a) { return ; } void intType(int a) { return ; } Сборка: 0000000000000000 <charTypes>: 0: f3 0f 1e fa endbr64 4: 55 push rbp 5: 48 89 e5...
14 просмотров
schedule 11.12.2022

Нужна интерпретация 64-битной инструкции по сборке в отличие от 32-битной
Я просматриваю книгу Hacking: The Art of Exploitation, в которой используется 32-битная сборка, а моя машина 64-битная. Теперь я понимаю, что это не очень хорошо, но вот в чем вопрос. Пока я отлаживаю эту программу, Reading symbols from...
62 просмотров
schedule 27.10.2022