爆破 股海点金2.1
这是软件提供股票买卖中涉及的资金及股票的管理功能,可以实时读入多种行情软件的股价数据。
要破它主要是无聊,也是从gfh[CCG]那要来的题目。
限制:
1. 30天限用,到期必须注册。
2. 若输入错误注册码,软件无提示,进入主界面约3秒后自动退出,同时在安装目录下生成EzStkMan.ini文件,再运行即自动退出;删除EzStkMan.ini文件,又可输入注册码。
工具:
trw1.23 registered
hiew
topo
wdasm
procdump1.62
exescope
首先用FI.exe查壳,提示为UPX0.93版压缩,用对应UPX解压不能,故手工脱壳:
bpx loadlibrarya do "d eax" 2次
见到有kerenel.dll字样后F12返回,F6 pagedown就发现
cs:005f051B JMP 005F4535 <--OEP!
在TRW中suspend,用procdump得到解压文件,
OEP修正为005F4535-00400000=001F4535
再用FI.exe检查,提示为DEPHI编程,可惜用DEDE反编译失败。
思考:dephi中设置时间多为object:timer,软件自动退出可能与此有关。
用EXESCOPE打开DUMP.exe,在RC数据\TMAINFORM中查找“TIMER”,见到5个,
如:object Timer3: TTimer
Enabled = False
Interval = 3000
OnTimer = Timer3Timer
Left = 217
Top = 204
end
注意Interval = 3000,3000为设置的时间,单位为毫秒,经过一番试验,得知object Timer3: TTimer正控制程序自动退出,将TIMER3的时间Interval
=变为0,时间限制即去除。在HIEW中找到相对应的代码位置是cs:005DCB7F,将此的
B8 0B
改为 00 00 就可以任意注册而不退出,也意味着注册成功。
可是我讨厌解压后的大文件,所以更愿意用SMC来解决。
1 用TOPO为主程序EzStkMan.exe加50BYTES,入口变为005F4508。
2 CS:005F4509 E927000000 JMP
005F4535 <--原入口
3 CS:005F051B
JMP 0058CBD4 <--OEP
变为 E9F03F0000
JMP 005F4510 <--PATCH CODE
4 CS:005F4510 C7057FCB5D000000074F MOV DWORD [005DCB7F],4F070000
005F451A E9B586F0FF
JMP 0058CBD4 <--RETURN
ok!
- 标 题:爆破 股海点金2.1 (1千字)
- 作 者:小楼
- 时 间:2001-4-17 1:52:08
- 链 接:http://bbs.pediy.com