您的位置:首页精文荟萃破解文章 → EZIP1.0脱壳手记

EZIP1.0脱壳手记

时间:2004/10/15 0:48:00来源:本站整理作者:蓝点我要评论(0)

     好久没有写有关于脱壳的文章了 主要是最近一直在研究Keygen的编写和密码学  而且也没有什么感兴趣的壳可写
小弟功力微薄  太难的写不出来 比如 DBPE1.5B4 或者 ASProtect1.3  太简单的又没有  ^_^ 今天到http://www.programmerstools.org/
溜达了一圈  乱七八糟的东西弄下来一大堆  其中就有一个这个东西 叫做EZIP 是个动态压缩软件 使用Generic Unpacker Win32 脱壳居
然非法操作  还以为会有点乐趣值得研究一下 没有想到使用TRW脱壳居然出奇的简单  :(  功夫不能白费 写出来给一些初学者参考一
下吧  不对的地方请多多执教!

脱壳的目标就是EZIP程序本身。

用TRW载入程序 按两下F10后来到外壳部分代码段:

017F:004582DC  INT3
017F:004582DD  MOV  EBP,ESP  /TRW的光条停在这里
017F:004582DF  SUB  EBP,0428
017F:004582E5  PUSH  EBX
017F:004582E6  PUSH  ESI 
017F:004582E7  PUSH  EDI
017F:004582E8  LEA  EAX,[EBP+FFFFFC94]
017F:004582EE  PUSH  EAX
017F:004582EF  CALL  004550F0
017F:004582F4  POP  ECX
017F:004582F5  TEST  EAX,EAX
017F:004582F7  JNZ  0045868A

这个东西的壳相当简单 比我所见过的任何壳都简单许多 一直按F10单步跟踪就到达了这里:

017F:00458539  PUSH  EAX
017F:0045853A  PUSH  DWORD [EBP+FFFFFDEC]
017F:00458540  LEA  EAX,[EBP+FFFFFC3C]
017F:00458546  PUSH  EAX
017F:00458547  LEA  EAX,[EBP+FFFFFC94]
017F:0045854D  PUSH  EAX
017F:0045854E  CALL  00455005
017F:00458553  ADD  ESP,BYTE +10
017F:00458556  AND  DWORD[EBP+FFFFFC34]
017F:0045855D  JMP  SHORT 0045856C  /跳到脱壳代码段
017F:0045855F  MOV  EAX,[EBP+FFFFFC34]  /标志位-EAX
017F:00458565  INC  EAX  /循环一次后减一
017F:00458566  MOV  [EBP+FFFFFC34],EAX  /压入地址 EBP+FFFFFC34 中
017F:0045856C  MOV  EAX,[EBP+FFFFFBE4]  /从这里开始程序开始进行循环 并在内存中脱壳
017F:00458572  MOVZX  EAX,WORD [EAX+06] /取值
017F:00458576  CMP  [EBP+FFFFFC34],EAX  /对比循环标志
017F:0045857C  JNC  NEAR 0045861F  /跳出到45861F的话则循环结束
017F:00458582  MOV  EAX,[EBP+FFFFFDEC]
017F:00458588  MOV  EAX,[EAX+0C]
017F:0045858B  ADD  EAX,[EBP+FFFFFBE0]

若没有在 0045857C 处跳出,你就会按F10跟到这里:

017F:004585F5  LEA  EAX,[EBP+FFFFFC3C]
017F:004585FB  PUSH  EAX
017F:004585FC  LEA  EAX,[EBP+FFFFFC94]
017F:00458602  PUSH  EAX
017F:00458603  CALL  00455050
017F:00458608  ADD  ESP,BYTE +18
017F:0045860B  MOV  EAX,[EBP+FFFFFDEC]
017F:00458611  ADD  EAX,BYTE +28
017F:00458614  MOV  [EBP+FFFFFDEC],EAX
017F:0045861A  JMP  0045855F  /跳到上面继续进行循环脱壳
017F:0045861F  PUSH  DWORD [EBP+FFFFFDE8]

因此我们知道了这个壳的第一个关键处 就是45857C  只要这个时候下 BPX XXXXXXX (45857C中JNC语句后面的地址)  然后按
一下F5 程序就会自动停到循环后的第一个语句处  这时按F10继续跟踪会很快来到这里:

017F:00458662  POP  ECX
017F:00458663  POP  ECX
017F:00458664  MOV  EAX,[EBP+FFFFFC2C]
017F:0045866A  MOV  EAX,[EAX+10]
017F:0045866D  MOV  ECX,[EBP+FFFFFC2C]
017F:00458673  ADD  EAX,[ECX+1C]
017F:00458676  MOV  [EBP+FFFFFC38],EAX
017F:0045867C  MOV  EAX,[EBP+FFFFFC38]
017F:00458682  POP  EDI
017F:00458683  POP  ESI
017F:00458684  POP  EBX
017F:00458685  MOV  ESP,EBP
017F:00458687  POP  EBP
017F:00458688  JMP  EAX  /这个就是跳到程序的OEP的JMP
017F:0045868A  POP  EDI

从这个JMP跳出来 哦~~~  整个世界清净了 重要找到了OEP  ^_^ 赶快下命令 MAKEPE ————  脱壳成功  程序没有对
输入表加密 脱壳后可以夸平台运行了  呵呵
脱壳后的程序370多K  看来这个东西的压缩比还是很高的阿
    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程