- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5- Windows病毒分析 - 企业信息化培训资料.ppt
计算机病毒Computer Virus;SMC;SMC样例;SMC样例;ShowMessage proc ;这里用“::”的话,就能够使标号成为全局性的
ShowMessageStart::
invoke MessageBox, NULL, addr szMsg1, addr szCaption, MB_OK
ShowMessageEnd::
? ;用nop来预留空间,以便后面的SMC能够成功执行;
;否则如果空间不够,将有可能产生不可预测的错误:
nop
ret
ShowMessage endp
?ReplaceMent proc ;将要用来SMC的代码:
ReplaceMentStart::
invoke MessageBox, NULL, addr szMsg2, addr szCaption, MB_OK or MB_ICONINFORMATION
ReplaceMentEnd::
ret
ReplaceMent endp
end main;Win32 PE病毒原理;Win32 PE病毒原理;Win32 PE病毒原理;Win32 PE病毒原理;mov ecx,[esp] ;将堆栈顶端的数据(返回Kernel32的地址)赋给ecx
xor ?edx,edx
getK32Base:
? ? dec ?ecx ? ? ? ? ;逐字节比较验证,也可以一页一页地搜
? ? mov ?dx,word ?ptr [ecx+IMAGE_DOS_HEADER.e_lfanew] ? ;就是ecx+3ch
? test dx,0f000h ;Dos Header+stub不可能太大,超过4096byte
? ? jnz ?getK32Base ? ? ? ? ? ? ? ?;加速检验
cmp ecx,dword ptr [ecx+edx+IMAGE_NT_HEADERS.OptionalHeader.ImageBase]
? ? jnz ?getK32Base? ?;看Image_Base值是否等于ecx即模块起始值
? ? mov [ebp+offset k32Base],ecx ?;如果是,到kernel32的Base值
……;a)已知函数的导出序号
(1)定位到PE文件头。
(2)从PE文件头中的可选文件头中取出数据目录表的第一个数据目录,得到导出表的地址。
(3)从导出表的Base字段取得起始序号。
(4)将需要查找的导出序号减去起始序号,得到函数在入口地址表中的索引。
(5)检查索引值是否大于等于导出表中的函数个数。如果大于的话,说明输入的序号无效。
(6)用该索引值在AddressOfFunctions字段指向的导出函数入口地址表中取出相应的项目,这就是函数的入口地址RVA值,当函数被装入内存后,这个RVA值加上模块实际装入的基址(ImageBase),就得到了函数真正的入口地址。
;b)从函数名称查找入口地址
(1)定位到PE文件头。
(2)从PE文件头中的可选文件头中取出数据目录表的第一个数据目录,得到导出表的地址。
(3)从导出表的NumberOfNames字段得到以命名函数的总数,并以这个数字做微循环的次数来构造一个循环。
(4)从AddressOfNames字段指向的函数名称地址表的第一项开始,在循环中将每一项定义的函数名与要查找的函数名比较,如果没有任何一个函数名符合,说明文件中没有指定名称的函数。
(5)如果某一项定义的函数名与要查找的函数名符合,那么记住这个函数名在字符串地址表中的索引值(如x),然后在AddressOfNameOrdinals指向的数组中以同样的索引值x去找数组项中的值,假如该值为m。
(6)以m值作为索引值,在AddressOfFunctions字段指向的函数入口地址表中获取的RVA就是函数的入口地址,当函数被装入内存后,这个RVA值加上模块实际装入的基址(ImageBase),就得到了函数真正的入口地址。;Win32 PE病毒原理;WIN32_FIND_DATA STRUCT
dwFileAttributes DWORD ? //文件属性,
//如果改值为FILE_ATTRIBUTE_DIRECTORY,则说明是目录
ftCreationTime FILETIME //文件创建时间
ftLastAccessTime FILETIME //文件或目录的访问时间
ftLastWriteTime FILETIME //文件最后一次修改时间,对于目录是创建时间
nFileSizeHig
您可能关注的文档
- 333-算法分析说课知识讲稿.ppt
- 334-微分中值定理是极值问题、洛必达法则的理论基础知识讲稿.ppt
- 337-助力业务数据协同管理知识讲稿.ppt
- 33第三十三章_胰腺疾病病人的护理讲义教材.ppt
- 345-生命活动的主要承担者知识讲稿.ppt
- 34盘古大学-规章制度讲义教材.ppt
- 350-第20课 人权知识讲稿.ppt
- 35资源的跨区域调配资料教程.ppt
- 360°High翻天QQ车送你贺成年——Road Show执行方案(细) 二资料教程.ppt
- 360制胜 营销传播升级高投资回报兵法2018研究报告.pptx
- 2026年郑州体育职业学院单招职业技能考试备考试题带答案详解.docx
- 2026年重庆城市职业学院单招职业技能考试模拟试题带答案详解.docx
- 2026年辽宁轨道交通职业学院高职单招职业适应性测试参考题库带答案详解.docx
- 2026年湖南工业职业技术学院单招职业技能笔试备考题库带答案详解.docx
- 2026年湖南食品药品职业学院单招职业技能考试备考题库带答案详解.docx
- 2026年阳泉职业技术学院高职单招职业适应性测试备考题库带答案详解.docx
- 2026年辽宁理工职业大学单招职业技能考试模拟试题带答案详解.docx
- 2026年长沙幼儿师范高等专科学校高职单招职业适应性测试模拟试题带答案详解.docx
- 2026年平顶山工业职业技术学院单招职业技能考试模拟试题带答案详解.docx
- 2026年漯河食品职业学院高职单招职业适应性考试备考题库带答案详解.docx
原创力文档


文档评论(0)