簡單演算法――熱鍵大師1.13
簡單演算法――熱鍵大師1.13
下載地址:http://windowshelp.myetang.com/
軟體大小:
680K
【軟體簡介】:《熱鍵大師》是一款鍵盤輔助類軟體,它除了具備了同類軟體的功能外,還能夠實現‘熱鍵鎖屏’,‘熱鍵貼上’等功能。
此外本軟體採用了低階鍵盤鉤子技術,使到系統資源消耗降到最低。即使你設定了100個(如果有那麼多!呵呵),你的系統一點都不會慢下來。有了《熱鍵大師》,讓你的滑鼠一邊涼快去吧!!
【軟體限制】:15次使用限制。註冊不收費。作者17歲,正在讀高二。佩服!
【作者宣告】:小弟初學Crack,只是對 crack 感興趣,沒有其它目的。失誤之處敬請各大俠賜教!
【破解工具】:TRW2000娃娃修改版、FI2.5、UPXWin、W32Dasm黃金版
―――――――――――――――――――――――――――――
【過
程】:
雖然軟體是自由註冊,但我還是解了它,做破解重要的是不斷的練習!
--------------------------------------------------------
一、脫殼
用FI看
熱鍵大師.exe是UPX 1.07殼。用UPXWin脫之,341K->1.17M。Delphi編寫。
--------------------------------------------------------
二、反彙編
填好試煉資訊:
使用者名稱:fly
註冊碼:13572468
作者很誠實,關鍵資訊一目瞭然。^-^
:004B4926
E83116F9FF call 00445F5C
:004B492B
837DFC00 cmp dword ptr
[ebp-04], 00000000
====>沒填使用者名稱?
:004B492F 750F jne 004B4940
* Possible
StringData Ref from Code Obj ->"請輸入使用者名稱"
|
:004B4931 B8944A4B00
mov eax, 004B4A94
:004B4936 E809A7F8FF
call 0043F044
:004B493B E9FE000000
jmp 004B4A3E
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004B492F(C)
|
:004B4940
8D55F8 lea edx,
dword ptr [ebp-08]
:004B4943 8B8370040000
mov eax, dword ptr [ebx+00000470]
:004B4949 E80E16F9FF
call 00445F5C
:004B494E 837DF800
cmp dword ptr [ebp-08], 00000000
====>沒填註冊碼?
:004B4952 750F jne 004B4963
* Possible
StringData Ref from Code Obj ->"請輸入註冊碼"
|
:004B4954 B8AC4A4B00
mov eax, 004B4AAC
:004B4959 E8E6A6F8FF
call 0043F044
:004B495E E9DB000000
jmp 004B4A3E
…………
:004B497E
E8D915F9FF call 00445F5C
:004B4983
8B55EC mov edx,
dword ptr [ebp-14]
:004B4986 8D4DF0
lea ecx, dword ptr [ebp-10]
:004B4989 8BC3
mov eax, ebx
:004B498B
E8B4FEFFFF call 004B4844
====>演算法CALL
:004B4990
8B55F0 mov edx,
dword ptr [ebp-10]
:004B4993 58
pop eax
:004B4994 E86F02F5FF
call 00404C08
====>比較CALL
:004B4999
0F8588000000 jne 004B4A27
====>跳則OVER!
*
Possible StringData Ref from Code Obj ->"感謝您對本軟體的支援"
====>呵呵,勝利女神!
:004B499F
B8C44A4B00 mov eax, 004B4AC4
:004B49A4
E89BA6F8FF call 0043F044
*
Possible StringData Ref from Code Obj ->"熱鍵大師 v1.13(註冊給:"
|
:004B49A9 68E44A4B00
push 004B4AE4
:004B49AE 8D55E4
lea edx, dword ptr [ebp-1C]
:004B49B1 8B836C040000
mov eax, dword ptr [ebx+0000046C]
:004B49B7
E8A015F9FF call 00445F5C
:004B49BC
FF75E4 push [ebp-1C]
:004B49BF
680C4B4B00 push 004B4B0C
:004B49C4
8D45E8 lea eax,
dword ptr [ebp-18]
:004B49C7 BA03000000
mov edx, 00000003
:004B49CC E8B301F5FF
call 00404B84
:004B49D1 8B55E8
mov edx, dword ptr [ebp-18]
:004B49D4 8B8344040000
mov eax, dword ptr [ebx+00000444]
:004B49DA
E8AD15F9FF call 00445F8C
:004B49DF
8D55E0 lea edx,
dword ptr [ebp-20]
:004B49E2 8B836C040000
mov eax, dword ptr [ebx+0000046C]
:004B49E8 E86F15F9FF
call 00445F5C
:004B49ED 8B45E0
mov eax, dword ptr [ebp-20]
:004B49F0
50 push
eax
* Possible StringData
Ref from Code Obj ->"USERNAME"
|
:004B49F1
B9184B4B00 mov ecx, 004B4B18
*
Possible StringData Ref from Code Obj ->"Pro"
|
:004B49F6 BA2C4B4B00
mov edx, 004B4B2C
:004B49FB 8BC3
mov eax, ebx
:004B49FD E896080000
call 004B5298
:004B4A02 8D55DC
lea edx, dword ptr [ebp-24]
:004B4A05
8B8370040000 mov eax, dword ptr [ebx+00000470]
:004B4A0B
E84C15F9FF call 00445F5C
:004B4A10
8B45DC mov eax,
dword ptr [ebp-24]
:004B4A13 50
push eax
*
Possible StringData Ref from Code Obj ->"CODE"
|
:004B4A14 B9384B4B00
mov ecx, 004B4B38
*
Possible StringData Ref from Code Obj ->"Pro"
|
:004B4A19 BA2C4B4B00
mov edx, 004B4B2C
:004B4A1E 8BC3
mov eax, ebx
:004B4A20 E873080000
call 004B5298
:004B4A25 EB17
jmp 004B4A3E
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004B4999(C)
|
*
Possible StringData Ref from Code Obj ->"註冊碼不正確,請重新輸入"
====>BAD BOY!
:004B4A27 B8484B4B00 mov eax, 004B4B48
--------------------------------------------------------
F8進入演算法CALL:004B498B
call 004B4844
*
Referenced by a CALL at Addresses:
|:004AFCD5 , :004B498B
|
:004B4844
55 push
ebp
:004B4845 8BEC
mov ebp, esp
:004B4847 83C4EC
add esp, FFFFFFEC
:004B484A 53
push ebx
:004B484B 56
push
esi
:004B484C 33DB
xor ebx, ebx
:004B484E 895DEC
mov dword ptr [ebp-14], ebx
:004B4851 895DF4
mov dword ptr [ebp-0C],
ebx
:004B4854 894DF8
mov dword ptr [ebp-08], ecx
:004B4857 8955FC
mov dword ptr [ebp-04], edx
:004B485A 8B45FC
mov eax, dword ptr
[ebp-04]
:004B485D E84A04F5FF call
00404CAC
:004B4862 33C0
xor eax, eax
:004B4864 55
push ebp
:004B4865 68EF484B00
push 004B48EF
:004B486A 64FF30
push dword ptr fs:[eax]
:004B486D
648920 mov dword
ptr fs:[eax], esp
:004B4870 C745F053469103 mov
[ebp-10], 03914653
====>03914653移入[EBP-10]
注意此數!此數應該是作者的幸運數。呵呵。03914653(H)=十進位制59852371
:004B4877
8D45F4 lea eax,
dword ptr [ebp-0C]
:004B487A 8B55FC
mov edx, dword ptr [ebp-04]
:004B487D E82200F5FF
call 004048A4
:004B4882 8B45F4
mov eax, dword ptr [ebp-0C]
:004B4885
E83A02F5FF call 00404AC4
====>取使用者名稱長度
:004B488A
8BD8 mov
ebx, eax
:004B488C 85DB
test ebx, ebx
====>?
EBX=3
* Referenced by
a (U)nconditional or (C)onditional Jump at Address:
|:004B481D(C)
|
:004B488E
7E2E jle
004B48BE
:004B4890 BE01000000 mov
esi, 00000001
* Referenced
by a (U)nconditional or (C)onditional Jump at Address:
|:004B48BC(C)
|
:004B4895
8D45EC lea eax,
dword ptr [ebp-14]
:004B4898 50
push eax
:004B4899 B901000000
mov ecx, 00000001
:004B489E 8BD6
mov edx, esi
:004B48A0 8B45F4
mov eax, dword ptr
[ebp-0C]
:004B48A3 E87404F5FF call
00404D1C
:004B48A8 8B45EC
mov eax, dword ptr [ebp-14]
====>fly移入EAX
:004B48AB
E80C04F5FF call 00404CBC
:004B48B0
8A00 mov
al, byte ptr [eax]
====>依次取使用者名稱。
====>1、?AL=66 即f的HEX值
====>2、?AL=6C 即l的HEX值
====>3、?AL=79
即y的HEX值
:004B48B2 25FF000000
and eax, 000000FF
:004B48B7
0145F0 add dword
ptr [ebp-10], eax
====>[EBP-10]的初始值是03914653,依次與使用者名稱字元的HEX值相加!
====>1、03914653+66=39146B9
====>2、 39146B9+6C=3914725
====>3、
3914725+79=391479E
391479E(H)=十進位制59852702!這就是真碼!!
呵呵,這是分析過的演算法中最簡單的一個了。
:004B48BA
46 inc
esi
:004B48BB 4B
dec ebx
:004B48BC 75D7
jne 004B4895
====>迴圈
―――――――――――――――――――――――――――――
F8進入比較CALL:4B4994 call 00404C08
:00404C08
53 push
ebx
:00404C09 56
push esi
:00404C0A 57
push edi
:00404C0B 89C6
mov esi, eax
:00404C0D 89D7
mov edi,
edx
:00404C0F 39D0
cmp eax, edx
====>D
EAX=試煉碼!
====>D EDX=真碼!!
:00404C11 0F848F000000 je 00404CA6
―――――――――――――――――――――――――――――
【KeyMake之記憶體序號產生器】:
中斷地址:4B4994
中斷次數:1
第一位元組:E8
指令長度:5
中斷地址:404C0F
中斷次數:1
第一位元組:39
指令長度:2
記憶體方式:EDX
―――――――――――――――――――――――――――――
【註冊資訊儲存】:
[HKEY_LOCAL_MACHINE\Software\HotKey
Master\propertiy]
"Times"="2" 使用次數!
"USERNAME"="fly"
"CODE"="59852702"
―――――――――――――――――――――――――――――
【整 理】:
使用者名稱:fly
註冊碼:59852702
―――――――――――――――――――――――――――――
Cracked By 巢水工作坊――fly【OCN】
2003-1-31 14:00
相關文章
- [原創]簡單演算法――函式影像大師V
4.52015-11-15演算法函式
- 檔案管理軟體管理大師演算法簡析!(簡單浮點)2015-11-15演算法
- Keyboard Maestro for macOS(熱鍵大師)11.0一鍵啟用版2023-10-26Mac
- 簡單演算法――Windows設定大師
2003 Build 04152015-11-15演算法WindowsUI
- js熱更新簡單分析2019-04-06JS
- Keyboard Maestro for macOS(熱鍵大師)11.0一鍵破解啟用版 支援M12023-12-06Mac
- 1.13-java單元測試junit2021-01-01Java
- 簡單演算法――Windows設定大師 2003 V2.0 Build
04202015-11-15演算法WindowsUI
- IDEA簡單快捷鍵2018-08-20Idea
- PFLD:簡單高效的實用人臉關鍵點檢測演算法2019-04-17演算法
- 簡單排序演算法2020-11-27排序演算法
- 簡單演算法――古今大戰80分 V3.0 Beta2015-11-15演算法
- Android熱修復簡單總結2019-02-18Android
- Tinker 熱修復框架 簡單上手教程2017-02-10框架
- LRU演算法簡單例子2013-11-26演算法單例
- Bandit:一種簡單而強大的線上學習演算法2017-09-12演算法
- Keyboard Maestro for Mac鍵盤大師2020-11-23Mac
- Query鍵盤事件簡單介紹2017-02-26事件
- 大資料開發-Flink-1.13新特性2021-05-22大資料
- Borland IDE 常用熱鍵簡介 v0.1 (轉)2008-05-27IDE
- 簡單易懂的tinker熱修復原理分析2018-08-03
- 一種簡單快捷的 java 熱部署方式2020-08-28Java熱部署
- 搭建簡單的偽熱更新Mock服務2018-01-18Mock
- Android 熱修復其實很簡單2017-02-08Android
- 簡單理解Paxos演算法(譯)2019-03-04演算法
- 15道簡單演算法題2014-06-08演算法
- Teleport
pro 演算法簡單分析2004-07-15演算法
- iOS 9 關鍵字的簡單使用2016-07-05iOS
- 簡單的鍵值儲存測試2012-08-17
- Go 1.13 新特性2019-09-06Go
- Launchey for Mac(選單欄上的熱鍵快速啟動工具)2020-08-05Mac
- 對CAS演算法的簡單理解2018-03-18演算法
- 十道簡單演算法題2018-03-30演算法
- 簡單的幾個排序演算法2018-04-10排序演算法
- RSA加密演算法的簡單案例2016-08-16加密演算法
- 演算法學習之簡單排序2016-04-23演算法排序
- 如何簡單解釋 MapReduce 演算法2014-11-06演算法
- 簡單的java遞迴演算法2011-02-15Java遞迴演算法