如何将PE转换为shellcode

问题描述 投票:0回答:1

我希望将下面编译的c++代码转换为shellcode

#include <iostream>
int main()
{
   std::cout << "hello world" << std::endl;
   return 0;
}

我对 PE 格式有一个基本的了解,但真的不知道如何将 exe 转换为 shellcode,据我所知,我不需要转换

MZ
或 dos 语句。 我要求的是关于这个主题的指南或链接,或者来自更有经验的黑客/开发人员关于他/她如何做到这一点的解释,而不是代码本身 寻找什么以及使用什么框架/编程语言

我正在Python中探索

pefile
,但我不知道我是否走在正确的轨道上

portable-executable shellcode
1个回答
0
投票

在示例代码中,您确实有一个

const char*
,它放置在
.rdata
部分(或
.data
)中,因此您不能直接取出 shellcode。 而且你使用了一些外部函数,你需要在shellcode中实现它。

最佳解决方案是编译为 MS-DOS COM 来获取 shellcode 或自己实现

std::cout
,然后将“hello world”重新定位到 shellcode 中您不使用的位置。

© www.soinside.com 2019 - 2024. All rights reserved.