病毒常用方法之下蛋
2018-03-10 20:08
197 查看
恶意文件有时会通过资源(resource)来携带一些其他的子文件。一般的资源有图标,对话框等(可以去查看关于FindResoure的文档)。好像可以自己定义资源的种类!下面是如何从母文件中提取子文件的方法:
long SizeOfImage=0; DWORD NumOfWrittenBytes; HANDLE hFile; HGLOBAL hResData; HMODULE hExe; HRSRC hResInfo; hExe=LoadLibrary("完整的母文件名"); //加扩展名 if(NULL==hExe) { printf("LoadLibrary err!"); return 0; } //FindResource(_In_opt_ HMODULE hModule,_In_ LPCTSTR lpName,_In_ LPCTSTR lpType) hResInfo=FindResource(hExe," "," ");//找资源,就是查看是否有相关资源 if(NULL==hResInfo) { printf("FindResour ae3f ce err!"); return 0; } SizeOfImage=SizeofResource(hExe,hResInfo);//获取资源大小 if(0==SizeOfImage) { printf("SizeofResource err!"); return 0; } printf("the size of file:%d\n",SizeofImage); hResData=LoadResource(hExe,hResInfo);//加载资源 if(NULL==hResData) { printf("LoadResouce err!"); return 0; } if(!LockResource(hResData)) { printf("lock resource err!\n"); return 0; } //printf("%x ",*(DWORD *)hResData); //有的资源数据可能经过了一些处理加密,这里将资源读出来之后还差一步解密 hFile=CreateFile("文件名",0x0c0000000,0,0,2,0,0); if(!hFile) { printf("create file err!\n"); return 0; } if(!SetFilePointer(hFile,0,0,0))&& !(WriteFile(hFile,hResData,SizeOfImage, &NumOfWrittenBytes,0)) { printf("write file err!\n"); return 0; } CloseHandle(hFile);
相关文章推荐
- 病毒常用的方法之同流合污
- 病毒常用方法之隐身术
- 中病毒后常用的解决方法病毒终极解决方案
- 病毒常用方法之回到起点---PE文件
- 病毒常用方法之移花接木---小小hook
- 病毒常用方法之注册表操作
- 病毒常用方法之加密
- Sqlite3常用的插入方法及性能测试
- C# Winform 跨线程更新UI控件常用方法总结(转)
- ServletContext中常用方法
- mysql时间戳转成常用可读时间格式方法两种
- MFC之常用的方法整理
- HibernateTemplate 常用方法
- ES中常用的字符串方法
- 安卓中常用控件遇到问题解决方法(持续更新和发现篇幅)(在textview上加一条线、待续)
- js数组常用方法
- kingdee bos常用方法(自己用)
- AD转换时常用的滤波方法(1)
- Oracle 排序中常用的NULL值处理方法
- 网络常用密码忘记破解方法