通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 网络攻防 >> 文章正文
Acprotect1.09g标准版脱壳+伪修复
责任编辑:酷酷の鱼   更新日期:2008-4-17
 

【脱文作者】 weiyi75[Dfcg] 
  
【作者邮箱】 weiyi75@sohu.com 
  
【作者主页】 Dfcg官方大本营 
  
【使用工具】 Ollydbg1.10b抗Antidbg版,ImportREC1.42,LoadPe,Winhex 
  
【破解平台】 Win2000/XP 
  
【软件名称】 Acprotect1.09g标准版 
  
【下载地址】 附件下载 

【软件简介】 强劲的加密软件,反目前任何一种调试器,发现就Kill掉。加密兼容性很好,可与其它加密软件配合多次加密,反脱壳保护(部分代码动态解压),部分程序Stolen Code,与Asprotect不同,它不是用00代替的。 
  
【软件大小】 1.36M 

【加壳方式】 UltraProtect 1.x -> RISCO Software Inc 

【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享。 

【破解目的】 手动跟踪寻找Stolen Code具体内容,补充指向壳中的代码. 

前言:   虽然大侠们现在都在研究Acprotect1.21新版,我们这些菜鸟是睬着大侠们开发出的路走的,个人认为,脱壳技术更新很快,基础不打牢盲目跟着跑最终是一无所或,Acprotect是一个很强的壳,历代版本变化很大,自1.09g到1.10之间的解码技术完全不同,遇到1.09g加密的程序我们也要能识别出来。跟踪过Acprotect的脱友都知道,从最后一次Seh异常都到Oep处至少有几千条小跳转,一不小心就跑飞,至少的两个小时才能到Oep,用内存断点,和模拟跟踪虽然很容易到达Oep,但如果遇到Stolen Code的程序你怎么办,当然高手一看就可以补上Stolen Code。如果入口特征不熟的人怎么办,我们来寻找一下Stolen Code的具体位置吧。 

之前大家先找几个未加壳的C++,Dephi等程序,用Od载入观察前面几句代码执行时Esp值的变化, 

举个例子。 

005B1AF3    55              PUSH EBP 
005B1AF4    8BEC            MOV EBP,ESP  //执行完这句后,  ebp和esp的值相同,一般都以12ffc0=12ffc0居多。 
005B1AF6    83C4 F4         ADD ESP,-0C 

这几句是C++,Dephi几乎都有的特征码,加壳软件在Stolen Code时都要对12ffc0进行访问,这也是我们的跟踪断点。 

第二点,这次目标是加密程序本身,通过FLY大侠的完美卸载Xp,videofixer等先前脱文我们知道一般Dephi程序脱壳后有部分代码指向壳中,没有一起脱出来,本文也是一样的,不用浪费时间演示一遍脱壳修复也不能运行的过程了。现在要做的就是让程序在运行时把这段代码解压在程序内,具体过程如下。 

1. 用PEDITOR给其加个新的区段:名字如:New,大小00050000,关于大小设置一般在20000-50000之间,越大越安全,太小的值无法放下所有失去的代码,然后用WinHex在程序末尾粘贴00050000长度的00字节。可以写入某些字符以便查找,如:David  

然后用PEDITOR rebuilder PE,初学者先看看程序能否运行。 

2. 用Unkillod载入“增肥”后ACProtect.exe,忽略所有异常选项,插件隐藏OD 

00597000 >  60              PUSHAD       //开始点。 
00597001    FC              CLD 
00597002    66:81C8 D0EE    OR AX,0EED0 
00597007    4A              DEC EDX 
00597008    40              INC EAX 
00597009    87C1            XCHG ECX,EAX 
0059700B    F9              STC 
0059700C    74 03           JE SHORT ACProtec.00597011 
0059700E    75 01           JNZ SHORT ACProtec.00597011 
00597010    72 66           JB SHORT ACProtec.00597078 
00597012    D3E0            SHL EAX,CL 
00597014    EB 01           JMP SHORT ACProtec.00597017 
............................................................. 

命令行下断点 BP GlobalAlloc 
  
断点含义请看Api手册,估计是分配内存用的。 

F9运行,中断5次,Ctrl+F9返回程序领空。不同的程序,需要中断的次数不同,看作手脚的具体位置,如果怕错过,就中断一次后,马上Ctrl+F9返回程序领空,一般是3到5次之间。 

0059AD3E    8BF8            MOV EDI,EAX  //我的理解是这句为特征码,EAX值是程序即将写入的内存地址,就是我们脱壳后失去的代码,做个手脚吧。 

0059AD40    81C7 A00F0000   ADD EDI,0FA0 

0059AD46    50              PUSH EAX 

0059AD47    B9 70170000     MOV ECX,1770 

0059AD4C    8DB5 F5204000   LEA ESI,DWORD PTR SS:[EBP+4020F5] 

0059AD52    F3:A4           REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[> 

0059AD54    5A              POP EDX 

0059AD55    8BF2            MOV ESI,EDX 

0059AD57    81C6 A00F0000   ADD ESI,0FA0 

0059AD5D    8BFE            MOV EDI,ESI 

0059AD5F    B9 70170000     MOV ECX,1770 

0059AD64    AC              LODS BYTE PTR DS:[ESI] 

0059AD65    32C3            XOR AL,BL 

0059AD67    AA              STOS BYTE PTR ES:[EDI] 

0059AD68  ^ E2 FA           LOOPD SHORT ACProtec.0059AD64 

............................................................. 

  

Alt+M打开内存镜像窗口, 

  

内存镜像 

地址       大小       Owner      区段       Contains      类型   访问      初始访问  映射为 

  

00506000   00001000   ACProtec   .rdata                   Imag   R         RWE 

00507000   0000D000   ACProtec   .reloc                   Imag   R         RWE 

00514000   00083000   ACProtec   .rsrc      resources     Imag   R         RWE 

00597000   00021000   ACProtec   .perplex   SFX,imports   Imag   R         RWE 

005B8000   00050000   ACProtec   new        data          Imag   R         RWE //我们新建的区段,双击这行。 

  

出现一个转存窗口,看见右边AscII码的David没有,右键-搜索-二进制字符-AscII方式填入David,确定得到具体位置5B80FC 

  

005B80FC  44 61 76 69 64 00 00 00 00 00 00 00 00 00 00 00  David........... 

  

确定添加字节开始在005B80FC 处  

[1] [2] [3] 下一页

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 最近更新
    固顶文章 企业网络组建与维护班正式开课
    普通文章 瑞星公司04月17日发布 每日计算机病毒及木马播报
    推荐文章 推荐:网络防火墙在网络安全中重要功能和作用
    普通文章 网游用户账户安全“八戒”
    普通文章 学院高手解决IE8不能升级系统Bug
    普通文章 Acprotect1.09g标准版脱壳+伪修复
    普通文章 Acprotect1.10 Build123之Dephi语言篇
    普通文章 菜鸟也玩手动修复引入表
    普通文章 命令提示符被病毒禁用的解决办法
    普通文章 "木马下载器"现新变种 可远程盗取机密信息
    热门文章
    普通文章美国政府09年欲投入73亿美元提高IT安全性
    普通文章MSN蠕虫病毒再度肆虐
    普通文章微软向雅虎发出最后通碟
    普通文章美国下一代互联网internet2
    普通文章英国电信被指监视36000名互联网用户
    普通文章CUPS gif_read_lzw()函数GIF 处理缓冲区溢出漏洞
    普通文章Linux Audit audit_log_user_command 栈溢出漏洞
    普通文章Microsoft Internet Explorer 7弹出URI 欺骗漏洞
    普通文章IBM solidDB数据库含格式串处理以及拒绝服务漏洞
    普通文章如何修复在Linux系统下被病毒感染的Grep程序
    精彩专题