




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Armadillo对Armadillo壳很感兴趣,缘于它的多种组合的变化,但认真看来,其保护的解决方法又有相对固定。方法无外乎那么几种脱壳方法〔固然排解有keyccXJS客联盟-全球最大的红客组织XJS中国红客联盟-全球最大的红客组织坛已对标准壳的脱壳方法发贴,但后来有所更,干脆总结在一块吧,以便利大家。大家可以复制下来,放在手边,脱壳时按步骤来。我还是XJSXJS一小鸟,同大家一样在渐渐成长中,有不对的地方和不成熟的地方,望大家批判指正,共同进步。XJS一、根本学问:XJS中国红客联盟-全球最大的红客组织该壳有如下保护:XJS中国红客联盟-全球最大的红客组织Debug-Blocker(阻挡调试器)--解决方法就是无视全部特别,隐蔽好OD,假设加载时,老出错,就多换几个ODXJSCopyMem-IIXJS全球最大的红客组织EnableImportTableElimination(IAT保护)–解决方法是用工具ArmaDetach入加壳程序,登记子进程ID,用另一OD载入,利用断XJS中国红客联盟-全球最大的红客组织XJSGetModuleHandleA,找到MagicJump,修改MagicJump,得到正确的IAT。XJS联盟-全球最大的红客组织EnableStrategicCodeSplicing(远地址跳),解决方法就是用Arminline工具。XJS中国红客联盟-全球最大的红客组织EnableNanomitesProcessingCC),就是把一些retn代码变成CC(INT方法:用Arminline工具或Enjoy工具。XJS中国红客联盟-全球最大的红客组织(6)EnableMemory-PatchingProtections(内存保护)XJS中国红客联盟-全球最大的红客组织二、脱此类壳常用的断点:XJS中国红客联盟-全球最大的红客组织1WaitForDebugEventOEP)XJS组织2、WriteProcessMemory(用于查找非标准OEP)XJS中国红客联盟-全球最大的红客组织3、DebugActiveProcess(找子程)XJS4、OpenMutexA(双进程转单进程)XJS中国红客联盟-全球最大的红客组织5、GetSystemTime(补丁KEY)XJS中国红客联盟-全球最大的红客组织6、VirtualProtect5.x)XJS7、CreateFileMappingA5.x)XJS8、GetModuleHandleA/LoadLibraryA(用于找MagicJump)XJS客组织9、CreateThread(查找OEP)XJS中国红客联盟-全球最大的红客组织三、种类及脱壳方法XJS说明:对于此壳一般要隐蔽OD。假设按以下方法下断OD断不下来,出错,就多换几个OD试XJSXJS来,多换了几个OD就成功了。XJS中国红客联盟-全球最大的红客组织〔一〕单线程标准方式XJS具体方法:2次断点法加修改MagicJump。XJS1、找MagicJumpXJS方法有二:XJS中国红客联盟-全球最大的红客组织方法一、下断点BpGetModuleHandleA/heGetModuleHandleA/bpGetModuleHandleA+5/heGetModuleHandleA+5,按shift+f9运行,当经过一个XJS中国红客联盟-全球最大的红客组织XJS中国红客联盟-全球最大的红客组织call缓冲有点大时,一般是在堆栈窗口消灭ASCII“kernel32.dllASCII“VirtualFree“kernel32.dllXJSXJS时机,取消断点,按alt+f9执行到返回。XJS中国红客联盟-全球最大的红客组织方法二、也可以下bpLoadLibraryAMSVBVM60.Dllkernel32.LoadLibraryAXJSXJS般状况下,这个跳转比较大的话,就改为jmp,而跳转比较小的话,就改nop[注:下此断点的目的是找到MagicJump,修改MagicJump目的XJSXJS是避开的IAT]XJS2、找OEPXJS下断点bpGetCurrentThreadId/bpCreateThreashift+f9返回,单步执行,看到一个callediF7XJSXJS中国红客联盟-全球最大的红客组织进入,即到oep。OD不要关!翻开import--选择进程--OEP输入va--自动搜寻IAT--猎取输入表--显示无效函数--CUT!XJS(二)双线程的标准壳XJS总体步骤:1、要双变单;2IATMagicJump;3OEP;4XJS红客联盟-全球最大的红客组织1、双变单,方法有三。XJS中国红客联盟-全球最大的红客组织方法一:PATCH代码法XJSbpOpenMutexA,断下后,ctrl+g00401000,将空数据改为如下代码:XJS联盟-全球最大的红客组织0040100060pushadXJS004010019CpushfdXJS0040100268A0FD1200pushxxxx〔注:此处的xxxx为断下后mutexname〕XJS中国红客联盟-全球最大的红客组织0040100733C0xoreax,eaxXJS0040100950pusheaxXJS0040100A50pusheaxXJS0040100BE8E694A677callKERNEL32.CreateMutexAXJS中国红客联盟-全球最大的红客组织004010109DpopfdXJS0040101161popadXJS00401012-E98F9FA777jmpKERNEL32.OpenMutexAXJS中国红客联盟-全球最大的红客组织点eip,f9ctrl+g00401000,恢复修改。XJS红客联盟-全球最大的红客组织方法二,下断点:bpOpenMutexA,SHIFT+F9,断下后,ALT+F9下面的第一个跳转改为相反跳转,再次SHIFT+F9,XJSXJSALT+F9SHIFT+F9,取消断点,至此,同样,双进程转单进程完毕!XJS中国红客联盟-全球最大的红客组织方法三、除了用双变单的脚本外,还可以用一个工具ARMADETACH,将带壳的程序拖入,登记子进程的ID。XJS2、处理IAT,修改MagicJump。XJS用OD附加该子进程,加载后,ALT+F9返回,修改前两个字节为加壳程序载入时的前两个字节。XJS下断点bpGetModuleHandleA,Shift+F9ASCII“kernel32.dll“ASCII“VirtualFree“后,再运行一次,消灭XJSXJS中国红客联盟-全球最大的红客组织“kernel32.dll“,就是返回时机,中断后alt+f9返回,在KERNEL32.LoadLibraryAMagicJump!修改为jmp。再下断点bpXJSXJS中国红客联盟-全球最大的红客组织GetCurrentThreadId/bpCreateThread〔salc,在其上面的jmpShift+F9,断下!假设文件有校验,则要撤消MagicXJS中国红客联盟-全球最大的红客组织XJSJump00401000alt+f9回F8单步走,到第一个CALLECXXJSXJSF7进入。到oep。XJS〔对于有些OD有一个字符串溢出漏洞,尽量用一些修正些错误的OAnti,方法如下:下断点heOutputDebugStringAXJS中国红客联盟-全球最大的红客组织断下后,选中%s%之类的字符,在数据窗口跟随,点右键->二进制->使用00填充,中断2次!都如上修改,删除此断点〕XJS3、修复。XJS〔三〕CopyMem-ll+Debug-BlockeXJS1、先找OEP〔1〕bpWaitForDebugEvent,运行,中断后看堆栈,在一行有“pDebugEvent”字样的那一行右键点击“数据窗口XJS中国红客联盟-全球最大的红客组织XJS2〕bpWriteProcessMemory〔要地址显示oep。XJS2、patch代码,解码。方法:重载入,bpWaitForDebugEvent,运行,中断,取消断点,alt+f9CTRL+Foreax,0FFFFFFF8XJSXJS,找到后,先往上看,可以看到两个CMP,一个是“cmpdwordptrss:[XXXX],0”在这里下硬件执行断点,Shift+F9XJSXJS这时看信息窗口:SS[XXXXX]=00000000,假设这个值不为0的话,需要将其清0,假设为0就不用了。其次个CMP,cmpecx,dwordptrds:[XXXX]XJS织XJS中国红客联盟-全球最大的红客组织,下面开头解码。在这里要登记几个地址〔〕cmpdwordptrss:[XXXX],0〔2〕CMP中[]中的值。接着oreaxXJSXJS,0FFFFFFF8andeax,0FF的代码,从这里开头Patch,代码如下:XJSincdwordptrds:[]//第一个CMP内的值XJSmovdwordptrds:[XXXX+4],1//XXXXCMP[]内的值XJS红客组织jmpXXXX//第一个CMP前的地址XJS修改好后,去掉全部断点,向下找到第一个CMP下面的跳转所跳到的地址,来到这个地址,下硬件执行断点,Shift+F9XJS中国红客联盟-全球最大的红客组织XJS,可以脱壳。XJS3LordPEdumpLordPE22同名进程)。DumpLordPE修改入口点为在第一步中查XJS客组织XJSOEP。XJS4、修复输入表、IAT的查找XJS脱壳后不要急着去修复输入表,得先把RVA数据猎取,用OD载入Dump二进制字符串,输入FF25,找到一个函数,在数据窗XJS中国红客联盟-全球最大的红客组织XJS0的地方,登记地址,再向下找到全是0的地方,登记地址。XJS5、加载子程序。XJS找子程序pid的方法有二:XJS中国红客联盟-全球最大的红客组织方法一:用OD载入原程序〔脱壳前的程序bpDebugActiveProces栈,登记Processid〔这个值不是每次都XJSXJS一样的。OD不要关。XJS其次种方法就是用工具ArmaDetachpidXJS中国红客联盟-全球最大的红客组织ODProcessidArmaDetach所登记的进程id,附加后,ALT+F9XJS组织XJS入时的前两个字节。XJS中国红客联盟-全球最大的红客组织6、下面的做法就和标准壳的一样了,在附加的OD中:XJS中国红客联盟-全球最大的红客组织双变单:方法有二。其一:patch法。其二修改跳转法。XJS中国红客联盟-全球最大的红客组织方法一:下断点BPOpenMutex〔双变单,F9ctrl+g到0040100据改为如下代码:XJS0040100060pushadXJS004010019CpushfdXJS0040100268A0FD1200pushxxxx〔注:此处的xxxx为断下后name〕XJS红客联盟-全球最大的红客组织0040100733C0xoreax,eaxXJS0040100950pusheaxXJS0040100A50pusheaxXJS0040100BE8E694A677callKERNEL32.CreateMutexAXJS中国红客联盟-全球最大的红客组织004010109DpopfdXJS0040101161popadXJS00401012-E98F9FA777jmpKERNEL32.OpenMutexAXJS中国红客联盟-全球最大的红客组织点eip,f9ctrl+g00401000,恢复修改。XJS红客联盟-全球最大的红客组织BPOpenMutexA,SHIFT+F9ALT+F9代码下面的第一个跳转改为相反跳转SHIFT+F9XJS中国红客联盟-全球最大的红客组织XJSALT+F9返回,再次将返回代码下面的第一个跳转改为相反跳转。然后再一次SHIFT+F9!XJS中国红客联盟-全球最大的红客组织00401000空数据不能修改的程序。XJS中国红客联盟-全球最大的红客组织修改MagicJump。XJSBPGetModuleHandleA+5ASCII“kernel32.dllASCII“VirtualFree后,再运行一次,就是返回时机,中XJS中国红客联盟-全球最大的红客组织XJSalt+f9KERNEL32.LoadLibraryA下面找到MagicJump!修改为jmp。去除全部断点,再直接按F9运行,消灭暂停。这时大功告成。XJS中国红客联盟-全球最大的红客组织用Imprec1.6fOEP地址,填第4步所登记的RAV,SIZE=1000,不要按自动搜寻IATXJS中国红客联盟-全球最大的红客组织XJS按显示无效地址,剪掉修复抓取文件就OK了。XJS中国红客联盟-全球最大的红客组织(四)全保护脱壳脱壳方法XJS1、双变单可以用以下方法,也可以用脚本,目的是双变单。登记程序加载时的前两个字节。OEPOEP地址和子XJSXJSID。XJS2、用ODALT+F9OEP节。XJS3、处理IATL输入表XJS1〕用工具ARMADETAC,将带壳的程序拖入,登记子进程的ID〔2〕另开一OD,加该子进程,加载后,ALT+F9返回,修改前两个字XJS中国红客联盟-全球最大的红客组织XJS在其下面的第一个跳转下硬件执行断点,XJSXJS中国红客联盟-全球最大的红客组织Shift+F9ASCII“kernel32.dllASCII“VirtualFreealt+f9XJSXJSKERNEL32.LoadLibraryA下面找到Magic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤基清洁能源技术考核试卷
- 淀粉在电子产品的防静电包装制造考核试卷
- 海洋观测与数据采集技术考核试卷
- 放管服培训课件
- 转岗工人安全培训
- 《小摄影师》教学课件-2
- 20254月白酒智能分装系统顾问设备维护责任协议
- 财务管理押题讲解
- DB11 T 384.6-2009 图像信息管理系统技术规范 第6部分 图像存储与回放要求
- 2025三月份协议涉及按揭房二次抵押风险声明
- 2025年山东省聊城市冠县中考一模地理试题(原卷版+解析版)
- 冯姓姓氏历史起源研究报告
- 使用错误评估报告(可用性工程)模版
- TSG 23-2021 气瓶安全技术规程 含2024年第1号修改单
- 中国特色社会主义理论体系的形成发展PPT2023版毛泽东思想和中国特色社会主义理论体系概论课件
- HSF无有害物质管理程序-最全版
- 附件1.医院会计科目设置表(1009)
- 《心动过缓和传导异常患者的评估与管理中国专家共识2020》要点
- 呆滞物料的管理规定
- 胸腔积液的诊断和治疗ppt课件
- A4标签打印模板
评论
0/150
提交评论