Git地址:
Cracked5pider/ShellcodeTemplate:适用于 Windows x64/x86 的易于修改的外壳代码模板 (github.com)
ShellcodeTemplate
适用于 Windows x64/x86 的易于修改的代码模板
它是如何工作的?
此模板主要基于Austin Hudson(又名SecIdiot)TitanLdr 它将项目编译为PE可执行文件并提取.text部分
例
外壳代码的入口点如下所示。当然,这可以根据您的需要进行更改。首先,我们需要使用我们自定义编写的 GetModuleHandle 和 GetProcAddress 来初始化所需的库和函数。
SEC( text, B ) VOID Entry( VOID )
{
INSTANCE Instance = { };
Instance.Modules.Kernel32 = TGetModuleHandle( HASH_KERNEL32 );
Instance.Modules.Ntdll = TGetModuleHandle( HASH_NTDLL );
if ( Instance.Modules.Kernel32 != NULL )
{
// Load needed functions
Instance.Win32.LoadLibraryA = TGetProcAddr( Instance.Modules.Kernel32, 0xb7072fdb );
// Load needed Libraries
Instance.Modules.User32 = Instance.Win32.LoadLibraryA( GET_SYMBOL( "User32" ) );
if ( Instance.Modules.User32 != NULL )
{
Instance.Win32.MessageBoxA = TGetProcAddr( Instance.Modules.User32, 0xb303ebb4 );
}
}
// ------ Code ------
Instance.Win32.MessageBoxA( NULL, GET_SYMBOL( "Hello World" ), GET_SYMBOL( "MessageBox Title" ), MB_OK );
}
顺便说一句,正如你所看到的,我们可以在我们的shell代码中使用正常的字符串。这是因为我们在链接时将 .rdata 部分包含在外壳代码中。GET_SYMBOL通过其与GetRIP()的相对偏移量获取指向函数或字符串的指针

立即开始
克隆此项目,即可开始使用
git clone https://www.github.com/Cracked5pider/ShellcodeTemplate
接下来,您需要将生成文件中的项目名称更改为所需的任何名称,然后您可以使用 make 编译项目ShellcodeTemplate
make // to compile x64 and x86
make x64 // to compile only x64
make x86 // to compile only x86
这篇文章介绍了一个GitHub上的开源项目Cracked5pider/ShellcodeTemplate,它提供了易于修改的Windows x64/x86壳代码模板,通过实例演示了如何使用它来编写和编译PE可执行文件,包括模块加载和函数调用。只需克隆并使用make命令,即可定制自己的壳代码。
1848

被折叠的 条评论
为什么被折叠?



