- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2、动态方式 动态方式先定义函数指针,使用函数LoadLibrary装载要调用的函数所在的dll文件,获取模块句柄。然后调用GetProcAddress获取要调用的函数的地址。 动态方式是在需要调用函数时才将函数所在模块调入到内存的,同时也不需要编译器为该函数在导入表中建立相应的项。 赵树升 计算机病毒分析 2012 void CTestDlg::OnButton { typedef int (WINAPI *_MessageBox)( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType ); //定义MessageBox函数指针 _MessageBox new_MessageBox; //装载MessageBox函数所在dll文件 HINSTANCE hb=LoadLibrary(user32.dll); //获取ANSI格式的MessageBox函数地址 new_MessageBox=(_MessageBox)GetProcAddress(hb,MessageBoxA); //动态调用函数MessageBox new_MessageBox(0,欢迎使用!,提示信息,MB_OK); //释放MessageBox函数所在模块 CloseHandle(hb); } 赵树升 计算机病毒分析 2012 病毒使用API 病毒要完成相应的功能,不可能不调用API函数。病毒感染PE文件可能是在源程序中加入病毒代码,但多数是在生成PE文件后通过修改PE文件感染的。对后种情况,病毒难以去为使用的API建立导入表项,只有使用第动态方式调用API。动态使用API的前提是预先知道LoadLibrary和GetProcAddress的地址,可以预先设定或搜索API的地址获取这两个函数地址,再动态地调用其他函数。 赵树升 计算机病毒分析 2012 (4)病毒使用变量 学汇编时我们知道,当寄存器数量不够,所以要使用变量。病毒代码侵入到可执行文件中的位置对于不同的可执行文件是不同的。 赵树升 计算机病毒分析 2012 病毒用相对地址方式使用变量 call @F ;@f表示下最近的一个标号,指@@ @@: pop ebx sub ebx, offset @B jmp @f ;@f表示最近的下一个标号,指@@ x dd @@: mov eax, [ebx+x] 反汇编后代码: E800000000 call 5B pop ebx 81E sub ebx,:0040100C EB04 jmp:0040100E 3412 7856 8B830E104000 mov eax, dword ptr [ebx+0040100E] 赵树升 计算机病毒分析 2012 3、防PE病毒方法 对于第一种病毒,我们采用移动PE头的方式防止病毒新建节表和节。 赵树升 计算机病毒分析 2012 法步骤是: (1)读取PE头结构,得到节个数(用NumberOfSections表示); (2)分配缓冲区(用psection_header表示),将所有节表读到缓冲区; (3)计算移动到的文件偏移 移动数据的长度为PE头结构大小(sizeof(IMAGE_NT_HEADERS))加上所有节表结构的大小为(sizeof(IMAGE_SECTION_HEADER)*nt_header.FileHeader.NumberOfSections)。移动到的位置为第一节区的文件偏移(psection_header[0].PointerToRawData),减去移动数据的长度。将缓冲区数据写入文件该位置。 (4)修改DOS头结构字段e_lfanew,并将该结构重新写入文件原位置。 赵树升 计算机病毒分析 2012 对于第三种病毒的办法 让每个节中的节大小描述参数相等,即让节实际大小字段VirtualSize和占用磁盘空间字段SizeOfRawData相等,同时在空白区添入随机数据,以欺
您可能关注的文档
最近下载
- JBL PartyBox 1000用户中文手册.pdf
- 2023年牛津译林版七年级英语下册《Unit 4》单元测试(附答案).doc VIP
- 《计算机网络技术基础 》(王崇刚)教案 (理论部分) 网络体系结(一)网络体系结构概述.pdf VIP
- AP物理2 单元练习题1 Fluids and Thermal Physics.pdf VIP
- 《计算机网络技术基础 》(王崇刚)教案 (实训部分) 上机实训(七) .docx VIP
- EPC工程设计管理主要内容.docx
- 装修公司融资商业计划书(精选5).pptx
- 生化期末考试吉林大学2015.pdf VIP
- 计算机网络技术基础与实训.pptx VIP
- 2023年牛津译林版七年级英语下册Unit8 测试题(附答案).doc VIP
文档评论(0)