CheckFiles V1.8破解
【軟體名稱】:CheckFiles V1.8
【軟體大小】:209 KB
【軟體類別】:國外軟體 / 共享版 / 檔案管理
【加入時間】:2003-07-02 07:50:05
【開 發 商】:http://www.lightlink.com/ym/chkfiles.htm
【軟體簡介】:該軟體可以跟蹤指定目錄下的檔案那些是新增加的,哪些已經被刪除,哪些是已經修改過的或者是損壞了的。
【作 者】:cyclotron
【破解過程】:用Fi2.45檢查,VC 5.0編寫,無殼。於是用W32Dasm反彙編後查詢錯誤資訊,找到關鍵點如下:
【破解過程】:
:00408483 E8017B0100 call
0041FF89
:00408488 8BC8
mov ecx, eax
:0040848A E8217C0100 call
004200B0
/* 取使用者名稱位數 */
:0040848F 85C0
test eax, eax
:00408491 7518
jne 004084AB
:00408493 50
push eax
* Possible StringData Ref from
Data Obj ->"CheckFiles Registration"
|
:00408494 6848ED4200 push
0042ED48
* Possible StringData Ref from
Data Obj ->"You need to enter a user name."
|
:00408499 6828ED4200 push
0042ED28
:0040849E 8BCE
mov ecx, esi
:004084A0 E87DA20100 call
00422722
:004084A5 5F
pop edi
:004084A6 5E
pop esi
:004084A7 83C420 add
esp, 00000020
:004084AA C3
ret
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:00408491(C)
|
:004084AB 83F814 cmp
eax, 00000014
/* 使用者名稱是否在20位以內? */
:004084AE 7E19
jle 004084C9
:004084B0 6A00
push 00000000
* Possible StringData Ref from
Data Obj ->"CheckFiles Registration"
|
:004084B2 6848ED4200 push
0042ED48
* Possible StringData Ref from
Data Obj ->"The user name must be 20 characters "
->"or
less."
|
:004084B7 68F8EC4200 push
0042ECF8
:004084BC 8BCE
mov ecx, esi
:004084BE E85FA20100 call
00422722
:004084C3 5F
pop edi
:004084C4 5E
pop esi
:004084C5 83C420 add
esp, 00000020
:004084C8 C3
ret
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:004084AE(C)
|
:004084C9 8D44240C lea
eax, dword ptr [esp+0C]
:004084CD 6A17
push 00000017
:004084CF 50
push eax
* Possible Reference to Dialog:
DialogID_0087, CONTROL_ID:040F, ""
|
:004084D0 680F040000 push
0000040F
:004084D5 8BCE
mov ecx, esi
:004084D7 E8AD7A0100 call
0041FF89
:004084DC 8BC8
mov ecx, eax
:004084DE E8CD7B0100 call
004200B0
/* 取試煉碼位數 */
:004084E3 85C0
test eax, eax
:004084E5 7518
jne 004084FF
:004084E7 50
push eax
* Possible StringData Ref from
Data Obj ->"CheckFiles Registration"
|
:004084E8 6848ED4200 push
0042ED48
* Possible StringData Ref from
Data Obj ->"You need to enter a registration "
->"number."
|
:004084ED 68CCEC4200 push
0042ECCC
:004084F2 8BCE
mov ecx, esi
:004084F4 E829A20100 call
00422722
:004084F9 5F
pop edi
:004084FA 5E
pop esi
:004084FB 83C420 add
esp, 00000020
:004084FE C3
ret
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:004084E5(C)
|
:004084FF 8D4C2408 lea
ecx, dword ptr [esp+08]
:00408503 8D54240C lea
edx, dword ptr [esp+0C]
/* 取試煉碼地址 */
:00408507 51
push ecx
* Possible StringData Ref from
Data Obj ->"%lu"
|
:00408508 6854E24200 push
0042E254
:0040850D 52
push edx
:0040850E E8AD100000 call
004095C0
/* 判斷試煉碼是否全是數字,若是則轉為16進位制,不是則給出錯誤資訊 */
:00408513 83C40C add
esp, 0000000C
:00408516 83F801 cmp
eax, 00000001
:00408519 7419
je 00408534
:0040851B 6A00
push 00000000
* Possible StringData Ref from
Data Obj ->"CheckFiles Registration"
|
:0040851D 6848ED4200 push
0042ED48
* Possible StringData Ref from
Data Obj ->"You need to enter a valid registration "
->"number."
|
:00408522 689CEC4200 push
0042EC9C
:00408527 8BCE
mov ecx, esi
:00408529 E8F4A10100 call
00422722
:0040852E 5F
pop edi
:0040852F 5E
pop esi
:00408530 83C420 add
esp, 00000020
:00408533 C3
ret
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:00408519(C)
|
:00408534 8B442408 mov
eax, dword ptr [esp+08]
/* 16進位制值送eax */
:00408538 85C0
test eax, eax
:0040853A 7519
jne 00408555
:0040853C 6A00
push 00000000
* Possible StringData Ref from
Data Obj ->"CheckFiles Registration"
|
:0040853E 6848ED4200 push
0042ED48
* Possible StringData Ref from
Data Obj ->"You need to enter a valid registartion "
->"number."
|
:00408543 686CEC4200 push
0042EC6C
:00408548 8BCE
mov ecx, esi
:0040854A E8D3A10100 call
00422722
:0040854F 5F
pop edi
:00408550 5E
pop esi
:00408551 83C420 add
esp, 00000020
:00408554 C3
ret
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:0040853A(C)
|
:00408555 68282D4300 push
00432D28
/* 使用者名稱地址入棧 */
:0040855A E8A18AFFFF call
00401000
/* 演算法call */
:0040855F 8B4C240C mov
ecx, dword ptr [esp+0C]
:00408563 83C404 add
esp, 00000004
:00408566 3BC8
cmp ecx, eax
/* 關鍵比較 */
:00408568 7419
je 00408583
/* 一定要跳 */
:0040856A 6A00
push 00000000
* Possible StringData Ref from
Data Obj ->"CheckFiles Registration"
|
:0040856C 6848ED4200 push
0042ED48
* Possible StringData Ref from
Data Obj ->"Sorry, this registration number "
->"is
not valid."
|
:00408571 683CEC4200 push
0042EC3C
:00408576 8BCE
mov ecx, esi
:00408578 E8A5A10100 call
00422722
:0040857D 5F
pop edi
:0040857E 5E
pop esi
:0040857F 83C420 add
esp, 00000020
:00408582 C3
ret
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:00408568(C)
|
* Possible StringData Ref from
Data Obj ->"ww"
|
:00408583 68FCE34200 push
0042E3FC
* Possible StringData Ref from
Data Obj ->"chkfiles.ser"
|
:00408588 685CE24200 push
0042E25C
:0040858D E86E120000 call
00409800
:00408592 8BF8
mov edi, eax
:00408594 83C408 add
esp, 00000008
:00408597 85FF
test edi, edi
:00408599 7439
je 004085D4
:0040859B 8B442408 mov
eax, dword ptr [esp+08]
:0040859F 50
push eax
:004085A0 68282D4300 push
00432D28
* Possible StringData Ref from
Data Obj ->"%s
%lu
"
|
:004085A5 6834EC4200 push
0042EC34
:004085AA 57
push edi
:004085AB E870120000 call
00409820
:004085B0 83C410 add
esp, 00000010
:004085B3 83F8FF cmp
eax, FFFFFFFF
:004085B6 741C
je 004085D4
:004085B8 6A00
push 00000000
* Possible StringData Ref from
Data Obj ->"CheckFiles Registration"
|
:004085BA 6848ED4200 push
0042ED48
* Possible StringData Ref from
Data Obj ->"Thank you for registering."
|
:004085BF 6818EC4200 push
0042EC18
:004085C4 8BCE
mov ecx, esi
:004085C6 E857A10100 call
00422722
:004085CB C605202D430001 mov byte ptr [00432D20],
01
:004085D2 EB13
jmp 004085E7
* Referenced by a (U)nconditional
or (C)onditional Jump at Addresses:
|:00408599(C), :004085B6(C)
|
:004085D4 6A00
push 00000000
* Possible StringData Ref from
Data Obj ->"CheckFiles Registration"
|
:004085D6 6848ED4200 push
0042ED48
* Possible StringData Ref from
Data Obj ->"Error writing registration file."
|
:004085DB 68F4EB4200 push
0042EBF4
:004085E0 8BCE
mov ecx, esi
:004085E2 E83BA10100 call
00422722
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:004085D2(U)
|
:004085E7 57
push edi
:004085E8 E873080000 call
00408E60
:004085ED 83C404 add
esp, 00000004
:004085F0 8BCE
mov ecx, esi
:004085F2 E8394B0100 call
0041D130
:004085F7 5F
pop edi
:004085F8 5E
pop esi
:004085F9 83C420 add
esp, 00000020
:004085FC C3
ret
___________________________________________________________
演算法call:
:00401000 53
push ebx
:00401001 55
push ebp
:00401002 8B6C240C mov
ebp, dword ptr [esp+0C]
:00401006 56
push esi
:00401007 57
push edi
:00401008 8BFD
mov edi, ebp
:0040100A 83C9FF or
ecx, FFFFFFFF
:0040100D 33C0
xor eax, eax
:0040100F F2
repnz
:00401010 AE
scasb
:00401011 F7D1
not ecx
:00401013 49
dec ecx
/* 這裡取得使用者名稱長度 */
:00401014 8BC1
mov eax, ecx
:00401016 8BD8
mov ebx, eax
:00401018 7452
je 0040106C
:0040101A 83F814 cmp
eax, 00000014
:0040101D 7F4D
jg 0040106C
:0040101F 7D1D
jge 0040103E
:00401021 B914000000 mov ecx,
00000014
:00401026 8D3C28 lea
edi, dword ptr [eax+ebp]
:00401029 2BC8
sub ecx, eax
:0040102B B820202020 mov eax,
20202020
:00401030 8BD1
mov edx, ecx
:00401032 C1E902 shr
ecx, 02
:00401035 F3
repz
:00401036 AB
stosd
/* 上面這段指令用0x20將未滿20位的使用者名稱補足20位 */
:00401037 8BCA
mov ecx, edx
:00401039 83E103 and
ecx, 00000003
:0040103C F3
repz
:0040103D AA
stosb
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:0040101F(C)
|
:0040103E BE322DFB21 mov esi,
21FB2D32
:00401043 B929197C6B mov ecx,
6B7C1929
/* 以上是兩個計算關鍵值 */
:00401048 33D2
xor edx, edx
/* edx清零 */
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:0040105F(C)
|
:0040104A 33C0
xor eax, eax
/* eax清零 */
:0040104C 8A042A mov
al, byte ptr [edx+ebp]
/* 依次取使用者名稱的每一位 */
:0040104F 0FAFC1 imul
eax, ecx
/* eax=eax*ecx */
:00401052 03F0
add esi, eax
/* esi=eax+esi */
:00401054 42
inc edx
/* edx++ */
:00401055 83FA14 cmp
edx, 00000014
/* 20位是否都算完? */
:00401058 8D8C092106471E lea ecx, dword
ptr [ecx+ecx+1E470621]
/* ecx=ecx*2+1E470621 */
:0040105F 7CE9
jl 0040104A
/* 未滿20位則返回繼續運算 */
:00401061 C6042B00 mov
byte ptr [ebx+ebp], 00
:00401065 8BC6
mov eax, esi
/* 運算結果作為返回值送出 */
:00401067 5F
pop edi
:00401068 5E
pop esi
:00401069 5D
pop ebp
:0040106A 5B
pop ebx
:0040106B C3
ret
【整 理】:
使用者名稱:cyclotron
註冊碼:101258879
【註冊資訊存放】:
主目錄下chkfiles.ser
【Turbo C 序號產生器】:
#include "stdio.h"
#include "string.h"
void main()
{char regname[21];
unsigned long regcode=0x21FB2D32,ecx=0x6B7C1929;
int i,length;
printf("\t*******************************************************************\n\n");
printf("\t\tKeyGen for CheckFiles V1.5\n\t\t\tProduced by cyclotron\n\n");
printf("\t*******************************************************************\n\n");
do
{printf("\n\tPlease input your Regname(less than or equal
to 20):");
length=strlen(gets(regname));
}
while(!length||length>20);
for(i=length;i<20;i++)
regname[i]=0x20;
for(i=0;i<20;i++)
{regcode+=regname[i]*ecx;
ecx=ecx*2+0x1E470621;
}
printf("\n\tYour Regcode is:\t%lu\n",regcode);
printf("\n\tThank you for your use!\n");
getchar();
}
cyclotron
2003.7.2
特為紀念中國共產黨誕生82週年而作
相關文章
- Dapr v1.8 正式釋出2022-07-09
- 里程密開源部落格系統V1.8更新2019-05-11
- 紅客專用電腦安全工具箱V1.82017-11-17
- Noise Reducer Pro for mac(圖片降噪工具) v1.8啟用版2020-12-24Mac
- Secure Notes Pro For Mac(安全筆記本) v1.8啟用版2021-01-04Mac筆記
- Windows風格的MacOS開始選單:Donemax DMmenu for mac v1.8啟用版2023-10-26WindowsMac
- 觸控板和滑鼠增強軟體:Middle for Mac v1.8啟用版2023-11-27Mac
- MacDroid pro v1.8(160)中文版(安卓裝置檔案傳輸助手)2023-11-24Mac安卓
- Java的破解和反破解之道 (轉)2007-12-09Java
- 安卓手機資料傳輸助手:MacDroid for mac v1.8(160)中文啟用版2023-12-15安卓Mac
- 可在廣域網部署執行的QQ高仿版 -- GG嘰嘰V1.8(原始碼)2013-09-02原始碼
- 汽車破解2023-04-02
- Navicat 破解版下載,Navicat破解教程2021-10-12
- KCNScrew Pack for mac(Mac序列號查詢軟體) v1.8(2021.1.15)啟用版2021-01-16Mac
- MySQL Manager 2.8.0.1脫殼破解手記破解分析2004-11-03MySql
- StarUml 3.0.2破解2019-02-26
- 破解idea2019-01-14Idea
- 暴力破解2020-12-17
- MyEclipse破解2017-04-13Eclipse
- 軟體破解2008-06-02
- 閒話破解2003-08-24
- WinPowerDown完全破解2003-08-31
- desksaver
破解教程2004-12-07
- 破解QMolView2015-11-15View
- MestReNova 破解版中文+MestReNova 破解工具「親測可用」2023-11-15
- Mac序列號查詢軟體:KCNScrew for mac v1.8(2023.11.15)免啟用版2023-11-16Mac
- 彩虹狗GS-MH破解-淺談狗的破解方法2015-11-15
- 破解勒索軟體2020-08-19
- macbook pro破解UltraEdit2019-04-17Mac
- 公告:關於破解2019-01-08
- 逆向破解MacOS App2018-09-07MacAPP
- IDEA破解教程2018-09-26Idea
- “破解”XP密碼2017-11-20密碼
- Andriod破解之道(一)2016-01-20
- QTP 10 破解 之路2014-08-14QT
- Windows 7 破解工具2010-11-23Windows
- 破解EXCLE保護2010-06-05
- 閒話破解(2)2003-08-26