我希望将下面编译的c++代码转换为shellcode
#include <iostream>
int main()
{
std::cout << "hello world" << std::endl;
return 0;
}
我对 PE 格式有一个基本的了解,但真的不知道如何将 exe 转换为 shellcode,据我所知,我不需要转换
MZ
或 dos 语句。
我要求的是关于这个主题的指南或链接,或者来自更有经验的黑客/开发人员关于他/她如何做到这一点的解释,而不是代码本身
寻找什么以及使用什么框架/编程语言
我正在Python中探索
pefile
,但我不知道我是否走在正确的轨道上
在示例代码中,您确实有一个
const char*
,它放置在 .rdata
部分(或 .data
)中,因此您不能直接取出 shellcode。
而且你使用了一些外部函数,你需要在shellcode中实现它。
最佳解决方案是编译为 MS-DOS COM 来获取 shellcode 或自己实现
std::cout
,然后将“hello world”重新定位到 shellcode 中您不使用的位置。