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

【脱文作者】 weiyi75[Dfcg]

【作者邮箱】 weiyi75@sohu.com

【作者主页】 Dfcg官方大本营

【使用工具】 Ollydbg1.10b(反Antidbg版),ImportREC1.42

【破解平台】 Win2000/XP

【软件名称】 PE文件分析器
 
【下载地址】 附件下载

【软件简介】 Acprotect1.10 Build123“注册”版本加密的一个加密的一个PE文件分析器。

【软件大小】 553k

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

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

【破解目的】 模拟跟踪寻找Stolen Code具体内容。

前言,这个软件是我用Acprotect1.10 Build123“注册”版本加密的,没有使用RSA生成KEY保护,使用了所有反跟踪选项,关于动态代码替换保护软件已说明只支持C++和Dephi,呵呵,对准敌人的死穴点吧,就是模拟跟踪+内存镜像断点。

先OD载入原程序看看   

004B7220 > $Content$nbsp; 55            PUSH EBP    //典型Dephi语言入口点,当Acprotect的壳运行到OEP时,你会发现入口点附近的一些代码被修改,如果你直接脱壳会导致不能运行。经过分析几个Acprotect修改入口代码个数,暂时发现一般是6个字节,有待验证。

稍微说明一下:                                                    

每一种编译工具例如 : VC++ , Delphi , Borland , etc..                

在OEP有一个唯一的/相同的PE头                              

其中的一些是这样的:                                             

Push EBP    //第一句就是我们模拟跟踪的对象,幸运的是,目前Acprotect还没有采用Asprotect的入口代码变形技术,变了也没用?!                                             
MOV Ebp,Esp                                                          

Add ESP , -010  

004B7221   .  8BEC          MOV EBP,ESP

004B7223   .  83C4 F0       ADD ESP,-10

004B7226   .  B8 A86F4B00   MOV EAX,Pe.004B6FA8

004B722B   .  E8 6CF4F4FF   CALL Pe.0040669C

004B7230   .  A1 C4A04B00   MOV EAX,DWORD PTR DS:[4BA0C4]

004B7235   .  8B00          MOV EAX,DWORD PTR DS:[EAX]

004B7237   .  E8 C48CFCFF   CALL Pe.0047FF00

004B723C   .  A1 C4A04B00   MOV EAX,DWORD PTR DS:[4BA0C4]

004B7241   .  8B00          MOV EAX,DWORD PTR DS:[EAX]

004B7243   .  BA 80724B00   MOV EDX,Pe.004B7280

004B7248   .  E8 AB88FCFF   CALL Pe.0047FAF8

004B724D   .  8B0D F4A14B00 MOV ECX,DWORD PTR DS:[4BA1F4]            ;  Pe.004BBCAC

004B7253   .  A1 C4A04B00   MOV EAX,DWORD PTR DS:[4BA0C4]

004B7258   .  8B00          MOV EAX,DWORD PTR DS:[EAX]

004B725A   .  8B15 48E44A00 MOV EDX,DWORD PTR DS:[4AE448]            ;  Pe.004AE494

004B7260   .  E8 B38CFCFF   CALL Pe.0047FF18

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

我们再次复习Dephi语言入口特征码。

这次EBP=12fff0不管用了,程序运行到入口时,EBP的值根本不是12fff0。

OD异常设置不忽略内存异常,其余全部忽略,载入程序,用插件隐藏OD。
   
004EF000 >  60              pushad //加壳程序入口点,F9运行。

004EF001    87E9            xchg ecx, ebp

004EF003    F9              stc

004EF004    41              inc ecx

004EF005    BF 08589F45     mov edi, 459F5808

004EF00A    50              push eax

004EF00B    E8 01000000     call Pey.004EF011

004EF010    7E 58           jle short Pey.004EF06A

004EF012    58              pop eax

004EF013    C1ED E9         shr ebp, 0E9

004EF016    EB 01           jmp short Pey.004EF019

004EF018  - 76 D3           jbe short Pey.004EEFED

004EF01A    ED              in eax, dx

004EF01B    EB 01           jmp short Pey.004EF01E

004EF01D  - 75 85           jnz short Pey.004EEFA4

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

内存异常

00415719    CD 01           int 1   //典型Acprotect小于1.20版最后一次异常。

004F771B    40              inc eax

004F771C    40              inc eax

004F771D    0BC0            or eax, eax

004F771F    75 05           jnz short Pey.004F7726

004F7721    90              nop

004F7722    90              nop

004F7723    90              nop

004F7724    90              nop

004F7725    61              popad

004F7726    33C0            xor eax, eax

004F7728    64:8F00         pop dword ptr fs:[eax]

004F772B    58              pop eax

004F772C    60              pushad

004F772D    E8 00000000     call Pey.004F7732

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

堆栈内容

0012FF58   0012FFE0  指针到下一个 SEH 记录

0012FF5C   004F76FD  SE 句柄   //这里同原来不同,为了跟踪到Stolen Code,选择合适的地点跟踪很关键,在跟踪N个Acprotect程序后,找到了关键点,这些没什么技术可言,只是不断的实际,无数次的失败总结。右键对004F76FD转存中跟随,下内存访问断点。

0012FF60   00000042

0012FF64   59D26602

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

004156FD    8B5C24 0C       mov ebx, dword ptr ss:[esp+C]     //下断点Shift+F9中断1

004F7701    8383 B8000000 0>add dword ptr ds:[ebx+B8], 2

004F7708    33C0            xor eax, eax

004F770A    C3              retn

004F770B    64:67:FF36 0000 push dword ptr fs:[0]

004F7711    64:67:8926 0000 mov dword ptr fs:[0], esp

004F7717    33C0            xor eax, eax

004F7719    CD 01           int 1

004F771B    40              inc eax

004F771C    40              inc eax

004F771D    0BC0            or eax, eax

004F771F    75 05           jnz short Pey.004F7726

004F7721    90              nop

004F7722    90              nop

004F7723    90              nop

004F7724    90              nop

004F7725    61              popad

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

[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程序
    精彩专题