程式名稱:FreeRes.exe V0.94
軟體簡介:摘錄軟體說明
現在的加殼壓縮工具越來越多,而且國內外越來越多的共享軟體製作者都喜歡用這些工具(包括我在內,ResTools 系列工具軟體也經過 ASPack
壓縮),令到 ASPack,UPX 之流的軟體大行其道,但國內漢化界所面對的問題卻越來越嚴重,因為被壓縮的資源無法正常編輯。而在這時候,相繼出現了一部分脫殼工具,收到不錯的效果,解決了不少問題;同時,也出現了一些只分析壓縮資源而非脫殼工具之流的工具。針對壓縮資源,我開發了
ResTools 系列工具的一員:freeRes
下載地址:http://go6.163.com/restools/fr011110.zip
破解目的:找出註冊碼。 用Keymake 1.33版本做它的序號產生器!
工具:Trw2000 1.22 ,w32dsm89黃金版 ,Procdump V1.62
說明:原exe檔案是加殼的,用fi可以看出來,用相應的程式(Procdump等,後附script.ini的擴充套件)
可以去掉殼。 程式在你輸入註冊碼後,把你輸入的註冊名和註冊碼儲存在登錄檔裡的同時進行註冊碼
比較。
啟動Trw2000 載入FreeRes.exe
下斷點 bpx regqueryvalueexa
f5 返回程式
點選程式 Help 選單,點選註冊輸入註冊名字和註冊碼,確定。
“啪”斷下來了吧!!
bc * 清除斷點
pmodule 返回程式領空
慢慢按 F10 來到如下地方:
* Possible StringData Ref from Data Obj ->"SOFTWARE\RESTOOLS\freeRes"
|
:004BBC4A BAA4BD4B00 mov edx,
004BBDA4
:004BBC4F 8B45F8
mov eax, dword ptr [ebp-08]
:004BBC52 E8A1F4FFFF call 004BB0F8
:004BBC57 84C0
test al, al
:004BBC59 0F84F4000000 je 004BBD53
:004BBC5F 8D45F4
lea eax, dword ptr [ebp-0C]
:004BBC62 E82580F4FF call 00403C8C
:004BBC67 8D45F0
lea eax, dword ptr [ebp-10]
:004BBC6A E81D80F4FF call 00403C8C
* Possible StringData Ref from Data Obj ->"reguser"
|
:004BBC6F BAC8BD4B00 mov edx,
004BBDC8
:004BBC74 8B45F8
mov eax, dword ptr [ebp-08]
:004BBC77 E898F7FFFF call 004BB414
:004BBC7C 84C0
test al, al
:004BBC7E 7410
je 004BBC90
:004BBC80 8D4DF4
lea ecx, dword ptr [ebp-0C]
* Possible StringData Ref from Data Obj ->"reguser"
|
:004BBC83 BAC8BD4B00 mov edx,
004BBDC8
:004BBC88 8B45F8
mov eax, dword ptr [ebp-08]
:004BBC8B E830F6FFFF call 004BB2C0
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BBC7E(C)
|
* Possible StringData Ref from Data Obj ->"regcode"
|
:004BBC90 BAD8BD4B00 mov edx,
004BBDD8
:004BBC95 8B45F8
mov eax, dword ptr [ebp-08]
:004BBC98 E877F7FFFF call 004BB414
:004BBC9D 84C0
test al, al
:004BBC9F 7410
je 004BBCB1
:004BBCA1 8D4DF0
lea ecx, dword ptr [ebp-10]
* Possible StringData Ref from Data Obj ->"regcode"
|
:004BBCA4 BAD8BD4B00 mov edx,
004BBDD8
:004BBCA9 8B45F8
mov eax, dword ptr [ebp-08]
:004BBCAC E80FF6FFFF call 004BB2C0
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BBC9F(C)
|
:004BBCB1 8B45F0
mov eax, dword ptr [ebp-10] ;<-輸入的假註冊碼
:004BBCB4 E85382F4FF call 00403F0C
:004BBCB9 83F828
cmp eax, 00000028 ;<-註冊碼的長度40
:004BBCBC 0F8591000000 jne 004BBD53
;<-不等就跳,註冊失敗
:004BBCC2 8B45F4
mov eax, dword ptr [ebp-0C]
:004BBCC5 E84282F4FF call 00403F0C
:004BBCCA 85C0
test eax, eax
:004BBCCC 0F8E81000000 jle 004BBD53
:004BBCD2 68348C0000 push 00008C34
:004BBCD7 8D45EC
lea eax, dword ptr [ebp-14]
:004BBCDA 50
push eax
:004BBCDB B983310000 mov ecx,
00003183
:004BBCE0 BAD6030000 mov edx,
000003D6
:004BBCE5 8B45F4
mov eax, dword ptr [ebp-0C]
:004BBCE8 E823FCFFFF call 004BB910
:004BBCED 8B55EC
mov edx, dword ptr [ebp-14]
:004BBCF0 8D45F4
lea eax, dword ptr [ebp-0C]
:004BBCF3 E82C80F4FF call 00403D24
:004BBCF8 8D55E8
lea edx, dword ptr [ebp-18]
:004BBCFB 8B45F4
mov eax, dword ptr [ebp-0C]
:004BBCFE E89DFAFFFF call 004BB7A0
:004BBD03 8B45E8
mov eax, dword ptr [ebp-18] ;<-真註冊碼
:004BBD06 8B55F0
mov edx, dword ptr [ebp-10] ;<-輸入的假註冊碼
:004BBD09 E80E83F4FF call 0040401C
<<==關鍵比較
:004BBD0E 750C
jne 004BBD1C
:004BBD10 A100144D00 mov eax,
dword ptr [004D1400]
:004BBD15 8B00
mov eax, dword ptr [eax]
:004BBD17 E87049F9FF call 0045068C
:0040401C 53
push ebx
:0040401D 56
push esi
:0040401E 57
push edi
:0040401F 89C6
mov esi, eax
:00404021 89D7
mov edi, edx
:00404023 39D0
cmp eax, edx D EAX 真註冊碼 D edx 假註冊碼
:00404025 0F848F000000 je 004040BA
==========================
用Keymake 1.33版本做它的序號產生器!
一)選擇F8-另類序號產生器!
1、程式名稱:freeRes.exe(脫殼後)
2、新增資料:
中斷地址:4bbd0
中斷次數:1
第一位元組:E8
指令長度:5
再次新增資料:
中斷地址:404023
中斷次數:1
第一位元組:39
指令長度:2
二、選擇暫存器方式 EAX
先第一次執行註冊資訊後,再執行本序號產生器!一切OK!能顯示40位長註冊碼!!!
==========================
==> 一點題外話:程式註冊後,一起動就退出。誰能把它砍翻?
用Procdump脫Asppack殼的 script.ini 擴充套件
在[INDEX]後新增
pXX=Aspack (XX為十六進位制)
[Aspack]
L1=OBJR
L2=LOOK EB,?
L3=JZ 5
L4=QUIT
L5=BP
L6=WALK
L7=OBJR
L8=LOOK 61,75
L9=BP
LA=STEP
OPTL1=00000000
OPTL2=01010001
OPTL3=01010001
OPTL4=00030000
OPTL5=00000000
這樣一來 Procdump 就可以脫掉到目前為止所有 Asppack 的殼了。