【文章标题】: Keymake脱壳+补附加数据+免杀 【文章作者】: samisgod 【作者QQ号】: 598620772 【软件名称】: Keymake V2.0修改版 【下载地址】: 自己搜索下载 【加壳方式】: UPX-Scrambler RC1.x -> ㎡nT畂L [Overlay] 【保护方式】: UPX变形壳 【使用工具】: OD+LoadPE+WinHex 【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教! -------------------------------------------------------------------------------- 前些天用Keymake写了个优化大师文件加密的内存密码读取器 但无奈总被杀毒“斩首”于是此文就横空出世了 先说明,我是菜鸟,第一次写文章,错误,疏漏之处请各位前辈指正 大致查找了下,发现MS是没有一样的文章的,便发了出来,献给同我一样的菜鸟兄弟们 OK,废话不说了,先看下生成的注册机,PEID显示壳为 UPX-Scrambler RC1.x -> ㎡nT畂L [Overlay] UPX的一个变种壳,外带附加数据 壳子手脱轻松愉快啊 直接OD载入后Crtl+F,搜索PUSHAD 来到这里 0040913A . 8903 mov dword ptr ds:[ebx],eax 0040913C . 83C3 04 add ebx,4 0040913F .^ EB D8 jmp short 优化大师.00409119 00409141 > FF96 A09F0000 call dword ptr ds:[esi+9FA0] 00409147 > 60 pushad 00409148 .- E9 F68AFFFF jmp 优化大师.00401C43 F4到这里,jmp后就到了OEP【00401C43】啦 DUMP出来 运行,能运行起来,但不能起作用了 不相信的话你放一个文件到那里看能不能正常挂接上去?o(∩_∩)o... 这个就是附加数据的问题了哈 按照看雪精华里的方法,我们打开LoadPE 把原版的注册机拖进去 点击区段按钮, 看到最后的一个区段.rsrc的Roffset为1600,RSize1200【如图】 于是推测附加数据应该在2800左右的位置 我们对.rsrc右键,16进制编辑区段, 之后把窗口拉到最下面 看到了什么? 没错 2800上面是一大段00,之后,便是我们的附加数据了 问题找到了,我们就要想办法来解决它 刚才我们脱掉壳的文件还在吧 首先要把附加数据补上去 打开WinHEX,载入原版文件 把2800到文件末尾的东东一概复制 然后打开脱壳后文件 把这些东西全部粘贴到文件末尾保存,注意记下来你补上去数据的开始位置,我这里为C800 【我这里2800-2810也是00,也一并带上】 现在用OD打开补上了附加数据的文件 在这个文件中是有一处指定附加数据位置的 附加数据位置为2800 我们便Ctrl+F搜索push 2800 记得勾选上整个段块的选项 我们来到了这里 0040142D 8BD8 mov ebx,eax 0040142F 6A 00 push 0 00401431 6A 00 push 0 00401433 68 00280000 push 2800 00401438 FF75 FC push dword ptr ss:[ebp-4] 0040143B E8 9A100000 call <jmp.&kernel32.SetFilePointer> 00401440 E8 6B100000 call <jmp.&kernel32.GetProcessHeap> SetFilePointer这可是经典之物,o(∩_∩)o...哈哈 我修改push 2800为push 0c800 保存 测试下,成功运行了 下面简单说下免杀,用的是一种很愚蠢的方法 也就是加壳这个方法 我这里用了Unknown Protect,去掉前面的选项 天谴的这个壳居然没有保留附加数据的选项 于是,照上面补附加数据的方法再来一次吧 方法一样,重复劳动后,终于免杀啦 由于我做这个注册机似乎有损XX的利益,就不发上来了 最后再说一遍,我是新手哦 请各位老鸟多多指点啦 来论坛这么长时间,一个主题帖子都没发过,今天就开个荤吧应兄弟要求附上Unknown Protect v1.1.1[请注意,密码pediy@samisgod]注意去掉壳选项的前几个设置,否则容易不能运行! 话说壳用多了就不免杀啦,不过兄弟要求,自然要发出来,大家努力吧 【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢! 2007年10月02日
[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!