-
-
[原创]一次简单的DIY之旅“和专用工具插件说拜拜”
-
发表于:
2005-8-16 21:55
4557
-
[原创]一次简单的DIY之旅“和专用工具插件说拜拜”
【文章标题】:一次简单的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期)