首页
社区
课程
招聘
[原创]一次简单的DIY之旅“和专用工具插件说拜拜”
发表于: 2005-8-16 21:55 4557

[原创]一次简单的DIY之旅“和专用工具插件说拜拜”

2005-8-16 21:55
4557
【文章标题】:一次简单的DIY之旅“和专用工具插件说拜拜”

【文章作者】:KuNgBiM[DFCG]

【作者邮箱】:gb_1227@163.com

【软件名称】:甲壳虫系统工具 -- TipNote(便签工具插件)

【软件大小】:211 KB

【下载地址】:[本地下载]

【功能简介】:方便记录你所需要的事件内容...

【编译语言】:Borland Delphi 6.0 - 7.0

【加密方式】:ASPack 2.12 -> Alexey Solodovnikov

【调试环境】:WinXP、Ollydbg、LordPE、ImportREC

【DIY日期】: 2005-08-16

【DIY目的】: 你曾经有过对某个软件的某个功能插件爱不释手吗?但是由于程序比较大却又心疼爱机吗?如果“是”,请跟我来!

【作者声明】:初学Crack,只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

―――――――――――――――――――――――――――――――――

一、★脱壳★(ESP定律)

0048C001 >  60                  pushad                        // 程序载入后停在这里,F7一次
0048C002    E8 03000000         call TipNote.0048C00A         // 来到这里,查看寄存器窗口ESP的值
0048C007  - E9 EB045D45         jmp 45A5C4F7
0048C00C    55                  push ebp
0048C00D    C3                  retn
0048C00E    E8 01000000         call TipNote.0048C014
0048C013    EB 5D               jmp short TipNote.0048C072
0048C015    BB EDFFFFFF         mov ebx,-13

―――――――――――――――――――――
EAX 00000000
ECX 0012FFB0
EDX 7FFE0304
EBX 7FFDF000
ESP 0012FFA4      // esp=0012ffa4
EBP 0012FFF0
ESI 77F57D70 ntdll.77F57D70
EDI 77F944A8 ntdll.77F944A8
EIP 0048C002 TipNote.0048C002
―――――――――――――――――――――

OD命令下断:hr 0012ffa4 回车,并F9运行:

0048C3B0   /75 08               jnz short TipNote.0048C3BA    // 继续F7单步走!跳
0048C3B2   |B8 01000000         mov eax,1
0048C3B7   |C2 0C00             retn 0C
0048C3BA   \68 EC034700         push TipNote.004703EC         // OEP = 004703EC
0048C3BF    C3                  retn                          // 飞向光明之颠~~~

004703EC    55                  push ebp                      // 程序的原始入口点,在这儿用LordPE纠正ImageSize后完全DUMP这个进程
004703ED    8BEC                mov ebp,esp
004703EF    83C4 F0             add esp,-10
004703F2    B8 A4014700         mov eax,TipNote.004701A4
004703F7    E8 3C58F9FF         call TipNote.00405C38
004703FC    A1 28224700         mov eax,dword ptr ds:[472228]
00470401    8B00                mov eax,dword ptr ds:[eax]
00470403    E8 7C32FFFF         call TipNote.00463684
00470408    8B0D 28234700       mov ecx,dword ptr ds:[472328]

运行ImportREC,选择这个进程。把OEP改为000703EC,点击“IAT AutoSearch”,然后点击“Get Imports”,函数指针全部有效,Fix Dump !!
正常运行!Borland Delphi 6.0 - 7.0 编写。

――――――――――――――――――――――――――――
二、★优化★

哇~~~脱壳后的程序居然有 580 KB,区段多得出奇,太难看了,也似乎太“臃肿”了点吧,所以我决定给他作一次“抽脂手术”,呵呵~~

分析一下该 Borland Delphi 6.0 - 7.0 程序有用的区段有哪些?

1.[CODE]: 程序代码区段
2.[DATA]: 程序数据区段
3.[.rsrc]:程序资源区段
4.[.mackt]:ImportREC修复添加的数据区段

好了分析到此,有用的区段就那么多,再次打开LordPE,使用“PE编辑器”删去除以上区段外的所有区段,保存后“重建PE”。
运行优化后的脱壳程序,正常运行!这下程序就精简了不少。211 KB -> 580 KB -> 508 KB

――――――――――――――――――――――――――――
三、★简单DIY,使程序脱离主程序单独运行★

再次打开Ollydbg,载入我们脱壳优化后的文件“dumped_.exe”,右键使用 Ultra String Reference 插件的 Find ASCII 功能项,查找我们需要的相关信息:

―――――――――――――――――――――――――――――――――――――――――――――――――――――――
........
0046F164   push dumped_.0046F1B0                     user32.dll
0046F17C   push dumped_.0046F1BC                     SetLayeredWindowAttributes
0046FA68   push dumped_.0046FBC4                     TBeetleSearch
0046FA78   push dumped_.0046FBD4                     提示信息                                           ★双击这里★
0046FA7D   push dumped_.0046FBE0                     此程序为甲壳虫插件,请先运行甲壳虫,谢谢!         ★这里就是那个提示信息★
0046FA98   mov edx,dumped_.0046FC14                  星期天
0046FAA5   mov edx,dumped_.0046FC24                  星期一
0046FAB2   mov edx,dumped_.0046FC34                  星期二
0046FABF   mov edx,dumped_.0046FC44                  星期三
0046FACC   mov edx,dumped_.0046FC54                  星期四
0046FAD9   mov edx,dumped_.0046FC64                  星期五
0046FAE6   mov edx,dumped_.0046FC74                  星期六
0046FB03   mov edx,dumped_.0046FC84                  正常
0046FB25   push dumped_.0046FC94
0046FB41   push dumped_.0046FCA0
0046FD52   mov edx,dumped_.0046FDD0                  置顶
0046FD99   mov edx,dumped_.0046FDE0                  正常
0046FE08   mov edx,dumped_.0046FE74                  请输入便笺标题:
0046FE0D   mov eax,dumped_.0046FE90                  输入对话框
0046FE2E   mov edx,dumped_.0046FEA4                  便笺--
004700F5   mov edx,dumped_.0047013C                  便笺--
004703F2   mov eax,dumped_.004701A4                  H
―――――――――――――――――――――――――――――――――――――――――――――――――――――――

在“提示信息”处双击来到:

0046FA5B    68 B8FB4600         push dumped_.0046FBB8
0046FA60    64:FF30             push dword ptr fs:[eax]
0046FA63    64:8920             mov dword ptr fs:[eax],esp
0046FA66    6A 00               push 0
0046FA68    68 C4FB4600         push dumped_.0046FBC4
0046FA6D    E8 EE69F9FF         call <jmp.&user32.#228>           // 这里F2设断,F9运行!中断后,F8单步跟踪!
0046FA72    85C0                test eax,eax
0046FA74   /75 1F               jnz short dumped_.0046FA95        // 这里跳向程序主界面 ★DIY重要点★
0046FA76   |6A 00               push 0
0046FA78   |68 D4FB4600         push dumped_.0046FBD4             // 双击来到这里,向上观察有用的地址
0046FA7D   |68 E0FB4600         push dumped_.0046FBE0
0046FA82   |6A 00               push 0
0046FA84   |E8 076CF9FF         call <jmp.&user32.#477>
0046FA89   |A1 28224700         mov eax,dword ptr ds:[472228]
0046FA8E   |8B00                mov eax,dword ptr ds:[eax]
0046FA90   |E8 733DFFFF         call dumped_.00463808
0046FA95   \8D45 E4             lea eax,dword ptr ss:[ebp-1C]
0046FA98    BA 14FC4600         mov edx,dumped_.0046FC14
0046FA9D    E8 7644F9FF         call dumped_.00403F18

在★DIY重要点★修改为:

0046FA74    75 1F               jnz short dumped_.0046FA95        // 改为 jmp

修改后保存为“dumped_DIY.exe”,运行程序!哈哈,阻拦我们运行的提示没有了,工具也到此DIY结束!

――――――――――――――――――――――――――――
4.★总结★

在不同的环境下,你也可以掌握这些简单的DIY技术,从而打造真正让自己满意的程序!

--------------------------------------------------------------------------------------------

版权所有(C)2005 KuNgBiM[DFCG]         Copyright (C) 2005 KuNgBiM[DFCG]

--------------------------------------------------------------------------------------------
     UnPacked.Cracked.DIY By KuNgBiM[DFCG]

                2005-08-16

                01:23:45 AM

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 251
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习

沙发。。。。。。。。。。
2005-8-16 22:05
0
雪    币: 14959
活跃值: (4743)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
嘿嘿.老K,你DIY的我这里运行不起来.DIY过度了吧 还要自己动手搞....有没有小点的,可以设置热键的,最好是绿色的桌面便签工具? 好像要求多了点...
2005-8-16 22:42
0
雪    币: 133
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最初由 LOCKLOSE 发布
嘿嘿.老K,你DIY的我这里运行不起来.DIY过度了吧 还要自己动手搞....有没有小点的,可以设置热键的,最好是绿色的桌面便签工具? 好像要求多了点...

恩,我这里也运行失败
---------------------------
TipNote_DIY.exe - 找不到 Ordinal
---------------------------
无法定位序数 871 于动态链接库 kernel32.dll 上。
---------------------------
确定   
---------------------------
2005-8-16 22:44
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
好象是有点问题
自己在解决下...
2005-8-17 08:05
0
雪    币: 214
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
佩服佩服~~~
2005-8-17 09:41
0
雪    币: 214
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
在我这里也运行不了啊
2005-8-17 10:14
0
雪    币: 300
活跃值: (412)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
8
支持!

这个插件检测真简单。

不知道为什么你DIY的不能运行,脱壳->DIY->加个压缩壳,我试着可以了。
2005-8-18 13:52
0
游客
登录 | 注册 方可回帖
返回
//