将 variables/data 类型编译成可执行文件(Ghidra、C、C++、gcc)
Compiling variables/data types into executable (Ghidra, C, C++, gcc)
我目前正在对一个软件样本进行逆向工程,其中原作者在编译时将一系列 unicode 数据 types/variables 预定义到样本的 .data 部分。因此,由于它们似乎被编译成可执行文件本身,我无法找到它们的代码编写位置(显然)。
THUS,我的问题是...原作者是如何使用 C/C++ 将这些变量编译到可执行文件的 .data 部分中的?通过 #include 语句? C/C++ 心理代码会是什么样子?还是将“variable.c”转换为“variable.o”并作为参数添加到 GCC 编译器中?
感谢任何ideas/suggestions/theories。
我很确定这就是(通常)发生在字符串文字上的事情:
int main() {
std::string s = u"Services";
return 0;
}
见this。
我目前正在对一个软件样本进行逆向工程,其中原作者在编译时将一系列 unicode 数据 types/variables 预定义到样本的 .data 部分。因此,由于它们似乎被编译成可执行文件本身,我无法找到它们的代码编写位置(显然)。
THUS,我的问题是...原作者是如何使用 C/C++ 将这些变量编译到可执行文件的 .data 部分中的?通过 #include 语句? C/C++ 心理代码会是什么样子?还是将“variable.c”转换为“variable.o”并作为参数添加到 GCC 编译器中?
感谢任何ideas/suggestions/theories。
我很确定这就是(通常)发生在字符串文字上的事情:
int main() {
std::string s = u"Services";
return 0;
}
见this。