工具 : 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破解如何给软件脱壳基础教程
查看所有0条评论>>