您的位置:首页精文荟萃破解文章 → Aspack的壳

Aspack的壳

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

 

工具 : softice, trw2000, procdump 


       procdump 到这边抓最新版 http://soft2.gz168.com/wcx/exe/pd32-162.exe 


目标程式 http://home.todo.com.tw/computer/metalken/zip/netterm1.zip 
   


抓下来解开之後,放到 netterm 的目录里,若没有 netterm 就去抓下来安装吧



前言 :


     这个 netterm1.exe 被我用 aspack2000 加壳了,我是要练习脱壳...所以我就随便选一个来加壳奇怪的是, procdump 1.62 应该是可以脱掉 aspack2000但是我试了一下,好像脱不掉...
      不管,反正现在加壳之风以日渐盛行,若不会脱壳,是不行的.有看过我的上一篇教学吗 ? 是有关於脱掉 aspack1.08.03 的壳, 但是能脱掉我写的程式,其他不行...
      如果有看的话,应该有看到我的参考文献,知道大概是要如脱壳吧, 通常被加壳的程式呢 , 一开始执行时,要把程式解压缩到记忆体, 在进入真正程式的 Entry point 所以只要找到程式的 Entry point, 就行了。 而你若走到一个回圈, 常常在那边绕来绕去, 那就很有可能是在解压缩了。若你突然走到一个地方, 位址变化很大,那可能就是程式进入点了. 若找到程式进入点 , 你就可以大笑三声了
      ok, Let's go!!

1: 用 softice  载入 netterm1.exe, 奇怪, 在我的电脑无法载入...
  没关系... 执行 procdump, 选 PE Editor-> 选 netterm1.exe
  看到 Entry point  : 0005E001
        Size of image : 00061000
        Image Base    : 00400000
  那就是说, 程式一启动的  EIP 应该是 00400000 + 0005E001 = 0045E001
  所以, 但是, 要如何到这边呢 ? 直接进入softice,下 bpx 0045E001  ??
  当然是不行的, 要等程式到了 netterm1 的 空在下 bpx 0045E001 才行
  那要如何到 netterm1 的 空 呢 ?
  有很多种方法, 随便下一个 netterm1 有用到的 API, 就可以拦截了
  例如说下 bpx createwindowexa ,执行 netterm1, 立刻被拦到
  下 bd*, 暂停刚刚的断点, 按几下 F12, 立刻回到netterm1 的 空了
  如何知道是不是 netterm1 的 空呢 ? 仔细看下方的一条绿线, 若写著
  netterm1 , 就是到了是 netterm1 的 空了 ,
  到了时候, 下 bpx 0045E001 , 按 F5, 离开 softice .

2: 执行 netterm1.exe ,立刻被拦住,在 cs:0045e001
  好啦, 开始 trace 了...
  很罗唆喔,也很烦, 会一直绕来绕去...
  这是就要用一点技巧来加快 trace,
  就是设中断点...  看一下程式, 你认为最远会跳到哪里呢?
  中断点就设那边, 在按 F5, 如此循环
  要是预估错误呢导致 netterm1 跑出来了呢? 那就算了..再执行一次啊
  好,到了
  cs:0045e4f2    call  0045e577
  cs:0045e4f4    jnz  0045e4fc
  cs:0045e4f9    ret  c
  cs:0045e4fc    mov  eax,1
  cs:0045e501    ret       
  走到这边时,就是快要走完了

3: 小心地按 F10 ...  到了,
  cs:0043f3cd  mov  eax,fs:[0]

  注意看一下位址, 差好多喔,
  而且看一下下面几行程式码,
  有在呼叫 GetVersion , GetCommandLineA
  若是解压缩的 source code, 是不会有这些的
  所以, 聪明的你, 猜到了吧...
  猜他是程式进入点, 就是 Entry point


4: 下bd* 先暂停所有的断点,按F5, 回到 windows
  启动 trw2000, 载入 netterm1.exe,
  竟然可以 load, 发现 trw2000  load 的能力比 softice 还强喔 
  ok, 开始 trace ...
  不过,真的要 trace 吗 ? 不觉得太累了吗..
  好吧, 偷懒一下, 因为用 softice 已经知道位址了
  下 g 0043f3c0,
  到了之後, 下 pedump net1.exe  , net1.exe 名字可自己取
  找一下 c:\windows ; 或是 netterm1 的所在目录, 或是 trw2000 的目录
  就可以找到 net1.exe  了,
  将他 copy 到 netterm 的目录, 执行一下...发现没有错误...

5: 嘿嘿, 开始聚气(在玩 KOF吗? 干吗聚气 ?), 达到饱和时, 开始大笑三声吧, 哈 ! 哈 ! 哈 ! 
  第一次自己脱掉 procdump 脱不掉的壳...
  岂是一个爽字了得呢 ?
  对於高手, 当然脱壳以不是问题, 而对於我这个菜鸟
  我已经很满足了 ....

6: 不过美中不足的是,脱的壳比原本档案大, 原本的档案是 359936 byte
  脱壳之後是 397312 byte, 比本来还大...
  欢迎高手来信指教, 看是哪里我的做法有哪些要改进的,很差的,
  谢谢
  e-mail address: g8742099@ccunix.ccu.edu.tw
 
後言: 
    或许会有人觉得奇怪, 为什堋不直接用 trw2000 trace啊, 用softice 干吗 ? 因为我实在是用不惯 trw2000, 我唯一认同 trw2000 的优点是, 他可以 dump EXE,还有不用常驻, 更惨的是, 用 trw2000  1.03 版的, 有时还会当机... 而且有些指令不能用, 如 A , 天啊, A 不能用... 这岂不是在开玩笑吗...  (难道是作者希望我们不要太 A ?? 因为 A 是...) 叫我注册...好吧, 等到 trw 在更成熟一点, 不会当机, 使用起来和 softice 相同时,我在考虑注册吧...毕竟这套软体实在不错,不过现在感觉还有很多改善的空间


 


    
    
     
    
    
     

相关阅读 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破解如何给软件脱壳基础教程