SWF2Video Pro V1.0.1.2 完全破解 演算法分析+序號產生器
SWF2Video Pro V1.0.1.2 完全破解 演算法分析+序號產生器
軟體大小: 300 KB
軟體語言: 簡體中文
軟體類別: 漢化補丁 / 共享版 / 影片轉換
應用平臺: Win9x/NT/2000/XP
介面預覽:
加入時間: 2003-02-20 10:00:29
下載次數: 22541
推薦等級: ***
聯 系 人: librarain@sohu.com
開 發 商:
軟體介紹:
一個很有意思的小工具,它可以將 Flash 檔案 (*.swf) 轉換為 AVI 格式,並可設定輸出的 AVI 檔案的解析度等,支援對音訊,影片的設定,包括影片壓縮。SWF2Video Pro 較 SWF2Video 的改進在於:支援 Flash MX 製作的 SWF 檔案;支援批次轉換;可以將 SWF 檔案輸出為 PNG、TGA 格式的影像序列;支援搜尋模式等等。
下載地址: http://www.skycn.com/soft/6417.html
本來想找一個從SWF檔案中提取聲音的軟體,卻發現了這個東東,把SWF變為AVI,夠變態吧! :)我試了一個很短的FLASH,轉過去後有84M,真恐怖.而且未註冊版生成的AVI還有一個大大的叉號,所以就拿它來練手了.老外的軟體,不用那麼多XXXX號遮遮掩掩 :)
先檢查一下,VC,無殼,GOOD.點選"購買",得到一個機器碼,輸入EMAIL(發現並不參計算),假碼:87654321,點確定出現一個提示.用常規方法很容易就找到這裡:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405F5A(C)
|
:00405F4E 8A01 mov al, byte ptr [ecx] <--ECX處為機器碼,每次取出一個
:00405F50 3C2D cmp al, 2D
:00405F52 7403 je 00405F57 <--如果為2D即'-'則跳過忽略
:00405F54 8802 mov byte ptr [edx], al <--重新整理
:00405F56 42 inc edx
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405F52(C)
|
:00405F57 41 inc ecx
:00405F58 3BCF cmp ecx, edi
:00405F5A 72F2 jb 00405F4E <--迴圈計算,整理後把'-'去掉
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405F4C(C)
|
:00405F5C 8D4C2428 lea ecx, dword ptr [esp+28]
:00405F60 C60200 mov byte ptr [edx], 00
:00405F63 51 push ecx
:00405F64 B9609D4300 mov ecx, 00439D60
:00405F69 E8B2030000 call 00406320 <--關鍵CALL,跟進
:00405F6E 85C0 test eax, eax
:00405F70 0F8483000000 je 00405FF9 <--跳了就OVER,下面省略一段
:00405F76 8D542428 lea edx, dword ptr [esp+28]
:00405F7A B9609D4300 mov ecx, 00439D60
:00405F7F 52 push edx
:00405F80 E8BB050000 call 00406540
:00405F85 8B03 mov eax, dword ptr [ebx]
:00405F87 6A30 push 00000030
..........(省略)
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405F70(C)
|
:00405FF9 8B0B mov ecx, dword ptr [ebx]
* Possible Reference to String Resource ID=00120: "-p
? n?PЯ?燹
`?P-"
|
:00405FFB 6A78 push 00000078
:00405FFD 51 push ecx
:00405FFE E80D380100 call 00419810 <--死翹翹了
:00406003 83C408 add esp, 00000008
:00406006 EB9F jmp 00405FA7
跟進405F69處的CALL:
* Referenced by a CALL at Address:
|:00405D47
|
:00406320 81EC30020000 sub esp, 00000230
:00406326 53 push ebx
:00406327 55 push ebp
:00406328 56 push esi
:00406329 8BF1 mov esi, ecx
:0040632B 57 push edi
:0040632C 8B4614 mov eax, dword ptr [esi+14]
:0040632F 85C0 test eax, eax
:00406331 0F85C5000000 jne 004063FC <--這裡會跳過去,省略一段
:00406337 8D442438 lea eax, dword ptr [esp+38]
:0040633B 6804010000 push 00000104
:00406340 50 push eax
:00406341 C7461402000000 mov [esi+14], 00000002
.........(下面一段很長的判斷,做好心理準備 :))
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00406331(C)
|
:004063FC 8D4608 lea eax, dword ptr [esi+08]
:004063FF 85C0 test eax, eax
:00406401 89442410 mov dword ptr [esp+10], eax
:00406405 750D jne 00406414 <--這裡會跳下去
:00406407 5F pop edi
:00406408 5E pop esi
:00406409 5D pop ebp
:0040640A 5B pop ebx
:0040640B 81C430020000 add esp, 00000230
:00406411 C20400 ret 0004
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00406405(C)
|
:00406414 B908000000 mov ecx, 00000008
* Possible StringData Ref from Data Obj ->"4YKCV3Q85MT7EXWDF9SNZGA2BHRPJU6" <-很有用
|
:00406419 BE00454300 mov esi, 00434500
:0040641E 8D7C2418 lea edi, dword ptr [esp+18]
:00406422 F3 repz
:00406423 A5 movsd
:00406424 8BF8 mov edi, eax
:00406426 83C9FF or ecx, FFFFFFFF
:00406429 33C0 xor eax, eax
:0040642B F2 repnz
:0040642C AE scasb
:0040642D F7D1 not ecx
:0040642F 49 dec ecx <--得到機器碼的長度,我的是A
:00406430 33FF xor edi, edi
:00406432 8BD9 mov ebx, ecx
:00406434 8D049D00000000 lea eax, dword ptr [4*ebx+00000000]
:0040643B 50 push eax
:0040643C E857D20100 call 00423698
:00406441 8BE8 mov ebp, eax
:00406443 83C404 add esp, 00000004
:00406446 85ED test ebp, ebp
:00406448 0F84AE000000 je 004064FC
:0040644E 33F6 xor esi, esi
:00406450 85DB test ebx, ebx
:00406452 7E4F jle 004064A3
:00406454 8BCD mov ecx, ebp
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004064A1(C)
|
:00406456 8B542410 mov edx, dword ptr [esp+10] <--計算1開始
:0040645A 0FBE0416 movsx eax, byte ptr [esi+edx]<--依次取出機器碼
:0040645E 83F861 cmp eax, 00000061
:00406461 7C0A jl 0040646D <--是否小於'a'
:00406463 83F87A cmp eax, 0000007A
:00406466 7F05 jg 0040646D <--是否大於'z'
:00406468 83C003 add eax, 00000003 <--若在'a'與'z'之間則+3
:0040646B EB28 jmp 00406495
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00406461(C), :00406466(C)
|
:0040646D 83F841 cmp eax, 00000041
:00406470 7C0A jl 0040647C <--是否小於'A'
:00406472 83F85A cmp eax, 0000005A
:00406475 7F05 jg 0040647C <--是否大於'Z'
:00406477 83C023 add eax, 00000023 <--若在'A'與'Z'之間則+23h
:0040647A EB19 jmp 00406495
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00406470(C), :00406475(C)
|
:0040647C 83F830 cmp eax, 00000030
:0040647F 7C0A jl 0040648B <--是否小於'0'
:00406481 83F839 cmp eax, 00000039
:00406484 7F05 jg 0040648B <--是否大於'9'
:00406486 83C04E add eax, 0000004E <--若在'0'與'9'之間則+4Eh
:00406489 EB0A jmp 00406495
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0040647F(C), :00406484(C)
|
:0040648B 99 cdq <--如果不在上面的範圍...
:0040648C 33C2 xor eax, edx
:0040648E 2BC2 sub eax, edx
:00406490 05C8000000 add eax, 000000C8 <--看不懂了 :(
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0040646B(U), :0040647A(U), :00406489(U)
|
:00406495 8BD0 mov edx, eax
:00406497 8901 mov dword ptr [ecx], eax <--把結果寫在記憶體某處
:00406499 03FA add edi, edx <--EDI為累加結果
:0040649B 46 inc esi
:0040649C 83C104 add ecx, 00000004
:0040649F 3BF3 cmp esi, ebx
:004064A1 7CB3 jl 00406456 <--迴圈結束,設為計算過程1
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00406452(C)
|
:004064A3 8D041F lea eax, dword ptr [edi+ebx] <--EDI+長度
:004064A6 B91F000000 mov ecx, 0000001F
:004064AB 99 cdq
:004064AC F7F9 idiv ecx
:004064AE B905000000 mov ecx, 00000005 <--ECX=5
:004064B3 8BFA mov edi, edx <--EDI為(EDI+長度)除以1F的餘數
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004064E8(C)
|
:004064B5 8BC7 mov eax, edi <--迴圈開始,EAX=EDI
:004064B7 BE1F000000 mov esi, 0000001F <--1Fh為常量
:004064BC 99 cdq
:004064BD F7FE idiv esi <--EAX=EAX/(1F),EDX為餘數
:004064BF 8BC1 mov eax, ecx <--ECX為迴圈變數,表示迴圈次數
:004064C1 8BF3 mov esi, ebx
:004064C3 8A541418 mov dl, byte ptr [esp+edx+18] <--從ESP+18處取第EDX+1個字元,ESP+18處為字串"4YKCV3Q85MT7EXWDF9SNZGA2BHRPJU6"
:004064C7 8891E4444300 mov byte ptr [ecx+004344E4], dl <--把字元寫到從4344E4處開始的第ECX+1個位置,4344E4處原來為"SVP1001234567890123456789",最後就是與此處比較(見下文)
:004064CD 99 cdq
:004064CE F7FB idiv ebx <--EBX始終為機器碼長度
:004064D0 2BF2 sub esi, edx <--ESI=ESI-(EAX MOD EBX)
:004064D2 8B449500 mov eax, dword ptr [ebp+4*edx] <--從EBP處取第EDX+1個數值,EBP處即上面的計算過程1後每位機器碼算得的新數,因為是DWORD型所以要*4
:004064D6 0FAFC6 imul eax, esi
:004064D9 0FAFC6 imul eax, esi <--EAX=EAX*ESI*ESI
:004064DC 99 cdq
:004064DD 2BC2 sub eax, edx
:004064DF D1F8 sar eax, 1 <--右移一位
:004064E1 41 inc ecx <--迴圈變數+1
:004064E2 83F919 cmp ecx, 00000019 <--是否結束
:004064E5 8D3C78 lea edi, dword ptr [eax+2*edi] <--EDI=EAX+2*EDI
:004064E8 7CCB jl 004064B5 <--迴圈計算
:004064EA 55 push ebp <--終於出來了,上面一段好亂!
:004064EB E8E1CC0100 call 004231D1
* Possible StringData Ref from Data Obj ->"SVP1001234567890123456789"
|
:004064F0 B8E4444300 mov eax, 004344E4
:004064F5 83C404 add esp, 00000004
:004064F8 85C0 test eax, eax
:004064FA 750F jne 0040650B <--這裡會跳下去
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00406448(C)
|
:004064FC 5F pop edi
:004064FD 5E pop esi
:004064FE 5D pop ebp
:004064FF 33C0 xor eax, eax
:00406501 5B pop ebx
:00406502 81C430020000 add esp, 00000230
:00406508 C20400 ret 0004
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004064FA(C)
|
:0040650B 8B8C2444020000 mov ecx, dword ptr [esp+00000244]
:00406512 51 push ecx
* Possible StringData Ref from Data Obj ->"SVP1001234567890123456789"
|
:00406513 68E4444300 push 004344E4
:00406518 E868DA0100 call 00423F85 <--比較CALL,跟進
:00406520 F7D8 neg eax <--EAX取反,如果註冊碼不正確經過上面CALL後得到-1
:00406522 5F pop edi
:00406523 5E pop esi
:00406524 1BC0 sbb eax, eax
:00406526 5D pop ebp
:00406527 40 inc eax <--EAX=EAX+1,EAX=0就OVER了
:00406528 5B pop ebx
:00406529 81C430020000 add esp, 00000230
:0040652F C20400 ret 0004
跟進406518處的CALL:
* Referenced by a CALL at Addresses:
|:0040671C , :0040B182 , :0040C4B8 , :00416D56
|
:00423F85 55 push ebp
:00423F86 8BEC mov ebp, esp
:00423F88 833D8CA5430000 cmp dword ptr [0043A58C], 00000000
:00423F8F 53 push ebx
:00423F90 56 push esi
:00423F91 57 push edi
:00423F92 7512 jne 00423FA6
:00423F94 FF750C push [ebp+0C]
:00423F97 FF7508 push [ebp+08]
:00423F9A E8913C0000 call 00427C30
:00423F9F 59 pop ecx
:00423FA0 59 pop ecx
:00423FA1 E989000000 jmp 0042402F
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00423F92(C)
|
:00423FA6 6A19 push 00000019
:00423FA8 E8D2250000 call 0042657F
:00423FAD 8B750C mov esi, dword ptr [ebp+0C]
:00423FB0 8B7D08 mov edi, dword ptr [ebp+08]
:00423FB3 59 pop ecx
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0042400F(U)
|
:00423FB4 660FB60F movzx cx, byte ptr [edi]
:00423FB8 0FB6C1 movzx eax, cl
:00423FBB 47 inc edi
:00423FBC 894D0C mov dword ptr [ebp+0C], ecx
:00423FBF F680A1A6430004 test byte ptr [eax+0043A6A1], 04
:00423FC6 7416 je 00423FDE
:00423FC8 8A07 mov al, byte ptr [edi]
:00423FCA 84C0 test al, al
:00423FCC 7506 jne 00423FD4
:00423FCE 83650C00 and dword ptr [ebp+0C], 00000000
:00423FD2 EB0A jmp 00423FDE
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00423FCC(C)
|
:00423FD4 33D2 xor edx, edx
:00423FD6 47 inc edi
:00423FD7 8AF1 mov dh, cl
:00423FD9 8AD0 mov dl, al
:00423FDB 89550C mov dword ptr [ebp+0C], edx
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00423FC6(C), :00423FD2(U)
|
:00423FDE 660FB61E movzx bx, byte ptr [esi]
:00423FE2 0FB6C3 movzx eax, bl
:00423FE5 46 inc esi
:00423FE6 F680A1A6430004 test byte ptr [eax+0043A6A1], 04
:00423FED 7413 je 00424002
:00423FEF 8A06 mov al, byte ptr [esi]
:00423FF1 84C0 test al, al
:00423FF3 7504 jne 00423FF9
:00423FF5 33DB xor ebx, ebx
:00423FF7 EB09 jmp 00424002
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00423FF3(C)
|
:00423FF9 33C9 xor ecx, ecx
:00423FFB 46 inc esi
:00423FFC 8AEB mov ch, bl
:00423FFE 8AC8 mov cl, al
:00424000 8BD9 mov ebx, ecx
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00423FED(C), :00423FF7(U)
|
:00424002 66395D0C cmp word ptr [ebp+0C], bx
:00424006 7509 jne 00424011
:00424008 66837D0C00 cmp word ptr [ebp+0C], 0000
:0042400D 7416 je 00424025
:0042400F EBA3 jmp 00423FB4
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00424006(C)
|
:00424011 6A19 push 00000019
:00424013 E8C8250000 call 004265E0
:00424018 663B5D0C cmp bx, word ptr [ebp+0C]
:0042401C 59 pop ecx
:0042401D 1BC0 sbb eax, eax
:0042401F 83E002 and eax, 00000002
:00424022 48 dec eax
:00424023 EB0A jmp 0042402F
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0042400D(C)
|
:00424025 6A19 push 00000019
:00424027 E8B4250000 call 004265E0
:0042402C 59 pop ecx
:0042402D 33C0 xor eax, eax
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00423FA1(U), :00424023(U)
|
:0042402F 5F pop edi
:00424030 5E pop esi
:00424031 5B pop ebx
:00424032 5D pop ebp
:00424033 C3 ret
<--上面的比較看上去很亂,跟一下很容易明白,為了盤和我的手的壽命,略去註釋了,總之是把假碼同上面那個"SVP1001234567890123456789"經過計算後得到的字串比較,相同的話就成功.
序號產生器:(Borland Pascal 7.0)
Program CrackSWF2Video;
var st,code,mac:string;
len,p,EAX,ECX,EDX,EDI,ESI:longint;
begin
st:='4YKCV3Q85MT7EXWDF9SNZGA2BHRPJU6';
code:='SVP1001234567890123456789';
write('Please input your machine number:');
readln(mac);
len:=length(mac);
for p:=1 to len do
begin
if (mac[p]>='a') and (mac[p]<='z') then mac[p]:=chr(ord(mac[p])+3)
else if (mac[p]>='A') and (mac[p]<='Z') then mac[p]:=chr(ord(mac[p])+$23)
else if (mac[p]>='0') and (mac[p]<='9') then mac[p]:=chr(ord(mac[p])+$4E);
EDI:=EDI+ord(mac[p]);
end;
EDI:=EDI+len;
EDI:=EDI mod $1F;
ECX:=5;
repeat
EAX:=EDI;
EDX:=EAX mod $1F;
EAX:=ECX;
code[ECX+1]:=st[EDX+1];
EDX:=EAX mod len;
ESI:=len-EDX;
EAX:=ord(mac[EDX+1]);
EAX:=EAX*ESI*ESI;
EAX:=EAX shr 1;
EDI:=EAX+EDI*2;
inc(ECX);
until ECX=$19;
writeln(code);
end. {那一段計算太亂了,所以我乾脆直接把彙編翻譯了過來 :) }
我的機器碼:3930761255
我的註冊碼:SVP10-MHE73-XJ3D9-TPFNG-W6M2K
注:分隔符可以隨意輸入,但註冊成功後可以看到是五個字元一節的形式.
相關文章
- eBook Edit Pro 3.21 演算法分析及序號產生器原始碼2003-03-13演算法原始碼
- Resource
Builder 1.1.0 完全破解~~附彙編序號產生器 (10千字)2015-11-15UI
- 【原創】FileRecoveryAngel 演算法分析+序號產生器2015-11-15演算法
- Kalua Cocktails 1.1完全破解,內附彙編序號產生器(用序號產生器編寫器,並有它的使用教程)
(22千字)2002-02-27AI
- xplorer2之破解和序號產生器2004-12-05
- 010
Editorv1.3破解(序號產生器)2004-05-17
- 序號產生器合集2024-03-17
- 全國電話通1.18
演算法分析+序號產生器2004-04-26演算法
- Windows系統切換工具
演算法分析+序號產生器2004-07-02Windows演算法
- QuickCD V1.0.4演算法分析+序號產生器原始碼2015-11-15UI演算法原始碼
- Pexplorer 1.70 完全破解(KeyFile&Name+Code),附序號產生器~~~~~~~~~
(17千字)2002-04-03
- 貼彩虹狗破解工具的序號產生器 (727字)2001-07-01
- 序號產生器制分析: (1千字)2001-11-19
- 蒼鷹象棋1.0
註冊演算法分析和序號產生器2004-05-16演算法
- 好用的專案流程管理 OmniPlan Pro 4序號產生器破解版v4.62023-12-19
- Moho Pro 14 序號產生器啟用 附 安裝教程2023-11-22
- AntiSpy PRO 1.02
註冊演算法分析 + 序號產生器原始碼(tc2) (12千字)2003-04-11演算法原始碼
- 美萍安全衛士V8.45序號產生器制作分析過程,及序號產生器! (11千字)2001-10-28
- SWF探索者XP 1.2(swfexplorer)破解+分析+序號產生器
(18千字)2002-04-14
- Myeclipse 6.5 序號產生器2020-04-06Eclipse
- 搜尋引擎工廠專業版演算法分析+演算法序號產生器2015-11-15演算法
- MP3 explorer 破解和序號產生器的製作2015-11-15
- NetTalk破解與序號產生器(高手勿進) (10千字)2001-09-20
- 分享一個navicat序號產生器2024-04-02
- 2D動畫製作軟體:Moho Pro 14 for Mac 附序號產生器 圖文完整破解教程2023-11-27動畫Mac
- 進位專家註冊演算法分析及序號產生器C原始碼2004-08-19演算法原始碼
- win10如何執行序號產生器_win10怎麼執行序號產生器2020-08-28Win10
- 超級公式計算器 V4.5x 演算法分析+序號產生器原始碼2015-11-15公式演算法原始碼
- 守財奴1.9註冊分析+序號產生器原始碼2015-11-15原始碼
- IrfanView 序號產生器分析(初級版)
(13千字)2015-11-15View
- 破解accoustica
2.21(帶序號產生器)----讓高手見笑了:) (11千字)2002-03-31
- GIF Movie Gear v3.0.2 破解小談(附序號產生器原始碼)2015-11-15原始碼
- Advanced Dialer v2.5演算法分析(附序號產生器) (3千字)2002-04-17演算法
- Lc3&Lc4
註冊演算法分析及序號產生器的製作2004-06-18演算法
- mIRC v5.81版註冊碼演算法分析和序號產生器編寫2000-12-11演算法
- Advanced Emailer 2.1 簡單演算法分析+序號產生器原始碼(tc2)2015-11-15AI演算法原始碼
- 網頁加密器(HTMLEncryptor1.1)破解及序號產生器 (1千字)2001-04-22網頁加密HTML
- winzip序號產生器 (1千字)2001-04-12