Публикации по теме '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 просмотров
schedule
02.12.2023
Предупреждение дампа 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 просмотров
schedule
28.11.2023
Дизассемблирование с чередованием исходников из GDB и objdump
Во время одного из моих сеансов отладки (FWIW, ARM) я заметил, что выходные данные дизассемблирования с чередованием исходного кода из GDB и objdump -S отличаются интересным образом: objdump кажется, что они перескакивают через отдельные/группы...
697 просмотров
schedule
30.12.2023
Отличие данных от инструкций в ARM
В (32-разрядных) ядрах ARM Linux, как отличить данные, встроенные в раздел кода, от инструкций?
Лучше иметь облегченный подход, такой как битовые маски, которые можно легко реализовать. Диссемблер в ядро встраивать неразумно.
364 просмотров
schedule
18.03.2024
Различия в стеке между обработчиком сигнала, вызываемым напрямую и с помощью повышения ()?
Я пытаюсь изменить адрес возврата в стеке в обработчике ошибок сегмента, чтобы он пропускал инструкцию по ошибке. Однако я получаю ошибку сегмента всякий раз, когда пытаюсь изменить адрес возврата, если я не вызываю обработчик сигнала напрямую....
136 просмотров
schedule
20.01.2024
Неизвестное значение двоеточия (:) в инструкции по сборке
Я использую дизассемблер (SmartDec: http://decompilation.info/ ) и многие инструкции в сгенерированная разборка выглядит примерно так:
mov rax, [rip + 0x32b5]:64
Я не знаком с :64 частью этой инструкции. Что это означает?
Другие...
1023 просмотров
schedule
26.10.2022
MSVC показывает, что дизассемблирование недоступно. для всего, что скомпилировано из MSVC
Используя MSVC 2017, я использую Attach для обработки компиляции, которую я сделал из консоли с помощью MSVC или CLANG (я компилирую ассемблерный код, сгенерированный компиляторами). Всякий раз, когда я ломаю программу, я получаю только «Нет...
233 просмотров
schedule
15.01.2024
Какие строки на самом деле сравниваются в вызове 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