簡單演算法――黃河Flash播放器 V7.38
下載頁面: http://www.skycn.com/soft/9167.html
軟體大小:
2529 KB
軟體語言: 簡體中文
軟體類別: 國產軟體 / 免費版 / 影像瀏覽
應用平臺: Win9x/NT/2000/XP
加入時間:
2003-03-16 15:37:12
下載次數: 46536
推薦等級: ***
開 發 商: http://huanghetv.diy.163.com/
【軟體簡介】:
黃河Flash播放器,可以播放各類Flash檔案,使用超酷介面,可儲存列表檔案、開啟開列表檔案、清空列表,具有以下功能:1、啟動程式,按開啟按鈕,選擇要播放的檔案;2、在不同的地方按滑鼠右鍵,有不同的功能;3、可以儲存播放列表,也可以開啟播放列表;4、資料夾中雙擊swf或hhf(黃河Flash播放器列表檔案)檔案,可以自動播放放;5、可以無級縮放播放大小;6、顯示播放進度,可以拖放!.......可以讓你一邊工作,一邊欣賞動畫,該軟體目前沒有任何註冊限制可免費使用。
【軟體限制】:註冊後將無限免費傳送本軟體的最新版!
【作者宣告】:初學Crack,只是感興趣,沒有其它目的。失誤之處敬請諸位大俠賜教!
【破解工具】:TRW2000娃娃修改版、Ollydbg1.09、PEiD、AspackDie、W32Dasm 10修改版
―――――――――――――――――――――――――――――――――
【過 程】:
呵呵,看到
透明的 朋友有篇教程,正好從《軟體王》光碟裡發現這個程式,索性我試試其演算法吧。
需要說明的是:天空上的是新版V7.60正式版,而我手裡分析的是V7.38版,可能有些地方是不同的。
hhflash.exe 是ASPack 2.12殼,用AspackDie脫之。629K->1.3M。Delphi編寫。
識別號:ID555490825
試煉碼:13572468
反彙編,根據出錯提示很容易就找到下面的核心了。
―――――――――――――――――――――――――――――――――
:004E8259 E816F4F5FF call
00447674
:004E825E 8B45F8
mov eax, dword ptr [ebp-08]
:004E8261 8D55FC
lea edx, dword ptr [ebp-04]
:004E8264
E86F0CF2FF call 00408ED8
:004E8269
8B45FC mov eax,
dword ptr [ebp-04]
:004E826C 50
push eax
:004E826D 8D55F0
lea edx, dword ptr [ebp-10]
:004E8270 8B83FC020000
mov eax, dword ptr [ebx+000002FC]
:004E8276
E8F9F3F5FF call 00447674
:004E827B
8B45F0 mov eax,
dword ptr [ebp-10]
====>EAX=ID555490825
識別號
:004E827E
8D55F4 lea edx,
dword ptr [ebp-0C]
:004E8281 E876E2FFFF
call 004E64FC
====>演算法CALL
:004E8286
8B55F4 mov edx,
dword ptr [ebp-0C]
====>EDX=XL1rpw2wT82ALRg3SmPdlTgGsdEU8P
:004E8289
58 pop
eax
====>EAX=13572468
試煉碼
:004E828A
E8B1CAF1FF call 00404D40
====>比較CALL
:004E828F
7534 jne
004E82C5
====>跳則OVER!
*
Possible StringData Ref from Code Obj ->"註冊成功!"
====>呵呵,勝利女神!
|
:004E8291
B824834E00 mov eax, 004E8324
:004E8296
E8F581F5FF call 00440490
:004E829B
8D55E8 lea edx,
dword ptr [ebp-18]
:004E829E 8B8304030000
mov eax, dword ptr [ebx+00000304]
:004E82A4 E8CBF3F5FF
call 00447674
:004E82A9 8B45E8
mov eax, dword ptr [ebp-18]
:004E82AC
8D55EC lea edx,
dword ptr [ebp-14]
:004E82AF E8240CF2FF
call 00408ED8
:004E82B4 8B45EC
mov eax, dword ptr [ebp-14]
:004E82B7 E86CFEFFFF
call 004E8128
:004E82BC 8BC3
mov eax,
ebx
:004E82BE E861CBF7FF call
00464E24
:004E82C3 EB0A
jmp 004E82CF
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004E828F(C)
|
*
Possible StringData Ref from Code Obj ->"註冊號不對!"
====>BAD BOY!
|
:004E82C5
B838834E00 mov eax, 004E8338
:004E82CA
E8C181F5FF call 00440490
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004E82C3(U)
|
:004E82CF
33C0 xor
eax, eax
:004E82D1 5A
pop edx
:004E82D2 59
pop ecx
:004E82D3 59
pop ecx
:004E82D4
648910 mov dword
ptr fs:[eax], edx
:004E82D7 6814834E00
push 004E8314
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004E8312(U)
|
:004E82DC
8D45E8 lea eax,
dword ptr [ebp-18]
:004E82DF E860C6F1FF
call 00404944
:004E82E4 8D45EC
lea eax, dword ptr [ebp-14]
:004E82E7 E858C6F1FF
call 00404944
:004E82EC 8D45F0
lea eax, dword ptr
[ebp-10]
:004E82EF E850C6F1FF call
00404944
:004E82F4 8D45F4
lea eax, dword ptr [ebp-0C]
:004E82F7 E848C6F1FF
call 00404944
:004E82FC 8D45F8
lea eax, dword ptr [ebp-08]
:004E82FF
E840C6F1FF call 00404944
:004E8304
8D45FC lea eax,
dword ptr [ebp-04]
:004E8307 E838C6F1FF
call 00404944
:004E830C C3
ret
―――――――――――――――――――――――――――――――――
進入演算法CALL:4E8281
call 004E64FC
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004E64FA(C)
|
:004E64FC
55 push
ebp
:004E64FD 8BEC
mov ebp, esp
:004E64FF 83C4F0
add esp, FFFFFFF0
:004E6502 53
push ebx
:004E6503 56
push
esi
:004E6504 57
push edi
:004E6505 33C9
xor ecx, ecx
:004E6507 894DF0
mov dword ptr [ebp-10], ecx
:004E650A
8BFA mov
edi, edx
:004E650C 8945FC
mov dword ptr [ebp-04], eax
:004E650F 8B45FC
mov eax, dword ptr [ebp-04]
====>EAX=ID555490825
:004E6512
E8CDE8F1FF call 00404DE4
:004E6517
33C0 xor
eax, eax
:004E6519 55
push ebp
:004E651A 68FF654E00
push 004E65FF
:004E651F 64FF30
push dword ptr fs:[eax]
:004E6522 648920
mov dword ptr fs:[eax],
esp
:004E6525 8BC7
mov eax, edi
:004E6527 E818E4F1FF
call 00404944
:004E652C 8D45FC
lea eax, dword ptr [ebp-04]
:004E652F BA18664E00
mov edx, 004E6618
:004E6534
E8CBE6F1FF call 00404C04
:004E6539
8B45FC mov eax,
dword ptr [ebp-04]
:004E653C 0FB630
movzx esi, byte ptr [eax]
1、
====>ESI=49
:004E653F
666BC664 imul ax, si, 0064
1、 ====>AX=49 * 64=1C84
:004E6543
668945F8 mov word ptr [ebp-08],
ax
:004E6547 8BC6
mov eax, esi
:004E6549 C1E009
shl eax, 09
1、 ====>EAX=49
SHL 09=9200
:004E654C
668945F6 mov word ptr [ebp-0A],
ax
:004E6550 B301
mov bl, 01
* Referenced
by a (U)nconditional or (C)onditional Jump at Address:
|:004E65DB(C)
|
:004E6552
8B45FC mov eax,
dword ptr [ebp-04]
:004E6555 E8A2E6F1FF
call 00404BFC
:004E655A 50
push eax
:004E655B 33C0
xor eax, eax
:004E655D
8AC3 mov
al, bl
:004E655F 5A
pop edx
:004E6560 8BCA
mov ecx, edx
:004E6562 99
cdq
:004E6563 F7F9
idiv ecx
:004E6565
8B45FC mov eax,
dword ptr [ebp-04]
====>EAX=ID555490825
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
EAX記憶體中的值:
00CB15B0
49 44 35 35 35 34 39 30 38 32 35 01 ID555490825
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
:004E6568
8A0410 mov al, byte
ptr [eax+edx]
====>迴圈取00CB15B0記憶體處字元的HEX值
1、 ====>AL=44
2、 ====>AL=35
3、 ====>AL=35
…… ……省 略…… ……
:004E656B
0FB7D6 movzx edx,
si
1、 ====>EDX=49
2、 ====>EDX=8104
3、 ====>EDX=FF40
…… ……省 略……
……
:004E656E C1EA08
shr edx, 08
1、 ====>EDX=49 SHR 08=00
2、 ====>EDX=8104 SHR 08=81
3、
====>EDX=FF40 SHR 08=FF
…… ……省
略…… ……
:004E6571 32C2
xor al, dl
1、 ====>AL=44 XOR 00=44
2、
====>AL=35 XOR 81=B4
3、 ====>AL=35
XOR FF=CA
…… ……省 略…… ……
:004E6573
33D2 xor
edx, edx
:004E6575 8AD3
mov dl, bl
*
Possible StringData Ref from Code Obj ->"Qwert yuiop asdfg hjkl zxcvbnm"
|
:004E6577 B924664E00
mov ecx, 004E6624
====>ECX=Qwert
yuiop asdfg hjkl zxcvbnm
:004E657C
324411FF xor al, byte ptr
[ecx+edx-01]
AL 與Qwert yuiop asdfg hjkl zxcvbnm中的字元值依次異或
1、 ====>AL=44
XOR 51=15
2、 ====>AL=B4 XOR 77=C3
3、 ====>AL=CA XOR 65=AF
……
……省 略…… ……
:004E6580
50 push
eax
:004E6581 8B45FC
mov eax, dword ptr [ebp-04]
:004E6584 E873E6F1FF
call 00404BFC
:004E6589 5A
pop edx
:004E658A 02D0
add dl, al
1、 ====>DL=15 + 0C=21
2、
====>DL=C3 + 0C=CF
3、 ====>DL=AF
+ 0C=BB
…… ……省 略…… ……
:004E658C
8855FB mov byte
ptr [ebp-05], dl
:004E658F 33C0
xor eax, eax
:004E6591 8A45FB
mov al, byte ptr [ebp-05]
:004E6594 B93E000000
mov ecx, 0000003E
:004E6599
99 cdq
:004E659A
F7F9 idiv
ecx
1、 ====>EDX=21 % 3E=21
2、 ====>EDX=CF % 3E=15
3、
====>EDX=BB % 3E=1
…… ……省 略…… ……
:004E659C
42 inc
edx
====>EDX 增1
:004E659D
8855FB mov byte
ptr [ebp-05], dl
:004E65A0 8D45F0
lea eax, dword ptr [ebp-10]
:004E65A3 33D2
xor edx, edx
:004E65A5
8A55FB mov dl, byte
ptr [ebp-05]
* Possible
StringData Ref from Code Obj ->"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghij"
->"klmnopqrstuvwxyz"
|
:004E65A8 B94C664E00
mov ecx, 004E664C
====>ECX=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
:004E65AD
8A5411FF mov dl, byte ptr
[ecx+edx-01]
根據EDX的值,從0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz表中不同位置取字元
1、 ====>DL=58
即:字元X。取第33位
2、 ====>DL=4C
即:字元L。取第22位
3、 ====>DL=31 即:字元1。取第2
位
…… ……省 略…… ……
迴圈30次後所得字元: XL1rpw2wT82ALRg3SmPdlTgGsdEU8P 就是註冊碼了!
:004E65B1
E86EE5F1FF call 00404B24
:004E65B6
8B55F0 mov edx,
dword ptr [ebp-10]
:004E65B9 8BC7
mov eax, edi
:004E65BB E844E6F1FF
call 00404C04
:004E65C0 33C0
xor eax, eax
:004E65C2
8AC3 mov
al, bl
:004E65C4 8B17
mov edx, dword ptr [edi]
:004E65C6 0FB64402FF
movzx eax, byte ptr [edx+eax-01]
:004E65CB 6603F0
add si, ax
1、 ====>SI=49 + 58=A1
2、
====>SI=8104 + 4C=8150
3、 ====>SI=FF40
+ 31=FF71
…… ……省 略…… ……
:004E65CE
660FAF75F8 imul si, word ptr [ebp-08]
1、 ====>SI=A1 * 1C84=EF04
2、 ====>SI=8150 * 1C84=6D40
3、
====>SI=FF71 * 1C84=1244
…… ……省
略…… ……
:004E65D3 660375F6
add si, word ptr [ebp-0A]
1、 ====>SI=EF04 + 9200=8104
2、
====>SI=6D40 + 9200=FF40
3、
====>SI=1244 + 9200=A444
…… ……省 略……
……
:004E65D7 43
inc ebx
:004E65D8
80FB1F cmp bl, 1F
:004E65DB
0F8571FFFFFF jne 004E6552
====>迴圈30次!得到30個字元的註冊碼!
:004E65E1
33C0 xor
eax, eax
:004E65E3 5A
pop edx
:004E65E4 59
pop ecx
:004E65E5 59
pop ecx
:004E65E6
648910 mov dword
ptr fs:[eax], edx
:004E65E9 6806664E00
push 004E6606
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004E6604(U)
|
:004E65EE
8D45F0 lea eax,
dword ptr [ebp-10]
:004E65F1 E84EE3F1FF
call 00404944
:004E65F6 8D45FC
lea eax, dword ptr [ebp-04]
:004E65F9 E846E3F1FF
call 00404944
:004E65FE C3
ret
―――――――――――――――――――――――――――――――――
【KeyMake之記憶體序號產生器】:
中斷地址:4E8289
中斷次數:1
第一位元組:58
指令長度:1
記憶體方式:EDX
―――――――――――――――――――――――――――――――――
【註冊資訊儲存】:
同資料夾下的hhflash.ini中:
[Mainform]
XpMenu=True
top=85
left=595
RegCode=XL1rpw2wT82ALRg3SmPdlTgGsdEU8P
―――――――――――――――――――――――――――――――――
【整 理】:
識別號:ID555490825
註冊碼:XL1rpw2wT82ALRg3SmPdlTgGsdEU8P
―――――――――――――――――――――――――――――――――
Cracked By
巢水工作坊――fly【OCN】
2003-4-10 13:31
相關文章
- 每天學一點flash flash簡單加密講解(1)2007-07-30加密
- Flash製作簡單塔防遊戲(一)2013-06-26遊戲
- RAM、ROM、FLASH、EMMC的簡單區分2024-05-21
- 簡單音樂播放器----java (美。。。。)2015-06-18播放器Java
- 餅乾Flash播放器 V1.92-演算法+序號產生器原始碼2015-11-15播放器演算法原始碼
- 簡單演算法2024-08-09演算法
- android 顯示flash視訊播放器2015-12-02Android播放器
- 九、 一個簡單的播放器(各自同步)2019-04-10播放器
- 開源安卓播放器:Dolphin Player 簡單分析2016-01-09安卓播放器
- iOS開發簡單的音訊播放器2015-02-05iOS音訊播放器
- iOS開發之簡單音訊播放器2015-12-12iOS音訊播放器
- 有沒有用java做的Flash播放器啊?2003-10-13Java播放器
- 簡單排序演算法2020-11-27排序演算法
- FFMPEG+SDL簡單影片播放器——影片快進2023-10-11播放器
- JSSoundKit: 超簡單的網頁播放器API2008-01-03JS網頁播放器API
- vue..js 編寫的簡單音樂播放器2019-12-03VueJS播放器
- 聯發科MT8553藍光播放器單晶片簡介2019-08-06播放器晶片
- LRU演算法簡單例子2013-11-26演算法單例
- Flash播放器:從開創者到“被革命者”2011-08-20播放器
- Linux下Flash/Shockwave播放器安裝快速指南(轉)2007-08-11Linux播放器
- FLEX3建立一個簡單的FLV播放器2009-06-10Flex播放器
- 簡單理解Paxos演算法(譯)2019-03-04演算法
- 15道簡單演算法題2014-06-08演算法
- Teleport
pro 演算法簡單分析2004-07-15演算法
- 2024黃河流域WP2024-08-18
- swf 格式Flash 動畫播放器在Android上的實現2013-05-02動畫播放器Android
- Flash(FLV)視訊播放器開原始碼大集合2009-08-01播放器原始碼
- 對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遞迴演算法
- 排序演算法——簡單選擇排序2013-05-06排序演算法
- A*演算法的簡單實現薦2012-02-28演算法
- PCMark04的簡單演算法2015-11-15演算法
- Exadata Flash Cache 簡介(二)2017-05-04