不知道誰能把它演算法說一下? (17千字)

看雪資料發表於2001-05-10

只會暴力破解它,不知道哪位能追出密碼或把算碼過程分析一下?
破解人:PeterChen
名稱:popfix.zip
URL:http://software.wx88.net/down/popfix.zip
大小: 1023KB
完成時間:Tue May 08 20:32:55 2001
引用頁:
註釋:軟體名稱:Popfix
整理日期:2001.1.1
最新版本:1.07
檔案大小:1023KB
軟體授權:共享軟體
使用平臺:Win95/98/NT
釋出公司:Home Page
軟體簡介:
  Popfix是一個可以用來清除wav聲音檔案爆音、雜音的工具,大多數抓好的音軌或錄音儲存成wav的聲音檔案大都會有爆音、雜音出現,如果你的音效卡好一點的話是可以聽出來的。現在你可以在將wav聲音檔案轉成MP3時先使用Popfix將爆音、雜音清除,而Popfix在處理將wav聲音檔案爆音、雜音清除時的速度亦相當快,經由Popfix將wav聲音檔案爆音、雜音清除後所轉好的MP3聲音品質可以提升不少。


:00409025 B91C824900              mov ecx, 0049821C

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00409023(U)
|
:0040902A 8BF9                    mov edi, ecx
:0040902C 33C0                    xor eax, eax
:0040902E 56                      push esi
:0040902F 83C9FF                  or ecx, FFFFFFFF===>4294967295與ecx做或運算
:00409032 F2                      repnz
:00409033 AE                      scasb
:00409034 F7D1                    not ecx
:00409036 2BF9                    sub edi, ecx---> edi=edi-ecx
:00409038 8DB578FEFFFF            lea esi, dword ptr [ebp+FFFFFE78]
:0040903E 87F7                    xchg edi, esi--->將edi與esi的值互換
:00409040 8BD1                    mov edx, ecx
:00409042 8BC7                    mov eax, edi
:00409044 C1E902                  shr ecx, 02----->ecx的值邏輯右移兩位
:00409047 8D45EC                  lea eax, dword ptr [ebp-14]
:0040904A F3                      repz
:0040904B A5                      movsd
:0040904C 8BCA                    mov ecx, edx
:0040904E BA02000000              mov edx, 00000002
:00409053 83E103                  and ecx, 00000003--->ecx=ecx+3
:00409056 F3                      repz
:00409057 A4                      movsb
:00409058 5E                      pop esi
:00409059 FF4DB0                  dec [ebp-50]
:0040905C E8A3AA0800              call 00493B04
:00409061 8D8578FEFFFF            lea eax, dword ptr [ebp+FFFFFE78]
:00409067 E81C370700              call 0047C788
:0040906C 33FF                    xor edi, edi//----->異或,以前不明白現在查彙編手冊!
:0040906E 8D9D78FEFFFF            lea ebx, dword ptr [ebp+FFFFFE78] 現知道了當兩個值相同就為0!
:00409074 EB18                    jmp 0040908E                      也就是我們常說的清零!

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040909D(C)
|
:00409076 0FBE03                  movsx eax, byte ptr [ebx]\將ebx值輸進eax
:00409079 83F831                  cmp eax, 00000031        |eax值與31h=49d=字元1
:0040907C 7503                    jne 00409081            /
:0040907E C60349                  mov byte ptr [ebx], 49----? 是不是最後結果了?
                                                              算密碼時要49h=73d=I
                                                              算要時是要十六進位制值還是字串I?
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040907C(C)
|
:00409081 0FBE13                  movsx edx, byte ptr [ebx]
:00409084 83FA30                  cmp edx, 00000030 30h=48d=0
:00409087 7503                    jne 0040908C         
:00409089 C6034F                  mov byte ptr [ebx], 4F 4fh=79d=o

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00409087(C)
|
:0040908C 47                      inc edi edi=edi+1
:0040908D 43                      inc ebx ebx=ebx+1

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00409074(U)
|
:0040908E 8D8D78FEFFFF            lea ecx, dword ptr [ebp+FFFFFE78]
:00409094 51                      push ecx
:00409095 E882BF0700              call 0048501C
:0040909A 59                      pop ecx
:0040909B 3BF8                    cmp edi, eax
:0040909D 7CD7                    jl 00409076
:0040909F 8D8578FEFFFF            lea eax, dword ptr [ebp+FFFFFE78]
:004090A5 8B5590                  mov edx, dword ptr [ebp-70]
:004090A8 83C208                  add edx, 00000008

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004090CD(C)
|
:004090AB 8A08                    mov cl, byte ptr [eax]
:004090AD 3A0A                    cmp cl, byte ptr [edx]
:004090AF 0F858F020000            jne 00409344//-------->(1) je->84
:004090B5 84C9                    test cl, cl
:004090B7 7416                    je 004090CF
:004090B9 8A4801                  mov cl, byte ptr [eax+01]
:004090BC 3A4A01                  cmp cl, byte ptr [edx+01]
:004090BF 0F857F020000            jne 00409344//-------->(2) je->84
:004090C5 83C002                  add eax, 00000002 eax=eax+2h
:004090C8 83C202                  add edx, 00000002 edx=edx+2h
:004090CB 84C9                    test cl, cl
:004090CD 75DC                    jne 004090AB

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004090B7(C)
|
:004090CF 0F856F020000            jne 00409344
:004090D5 6804010000              push 00000104
:004090DA 8D858CFEFFFF            lea eax, dword ptr [ebp+FFFFFE8C]
:004090E0 50                      push eax

* Reference To: KERNEL32.GetWindowsDirectoryA, Ord:0000h
                                  |
:004090E1 E86AB10800              Call 00494250
:004090E6 8D9554FEFFFF            lea edx, dword ptr [ebp+FFFFFE54]
:004090EC 52                      push edx
:004090ED 8D8D8CFEFFFF            lea ecx, dword ptr [ebp+FFFFFE8C]
:004090F3 51                      push ecx
:004090F4 E85BD80700              call 00486954
:004090F9 66C745A42C00            mov [ebp-5C], 002C
:004090FF 83C408                  add esp, 00000008

* Possible StringData Ref from Data Obj ->"Software\VKN Electronics\Popfix"
                                  |
:00409102 BA1D824900              mov edx, 0049821D
:00409107 8D45E8                  lea eax, dword ptr [ebp-18]
:0040910A E8F1A80800              call 00493A00
:0040910F FF45B0                  inc [ebp-50]
:00409112 8B08                    mov ecx, dword ptr [eax]
:00409114 B201                    mov dl, 01
:00409116 A1CC644200              mov eax, dword ptr [004264CC]
:0040911B E884E30100              call 004274A4
:00409120 8BD8                    mov ebx, eax
:00409122 FF4DB0                  dec [ebp-50]
:00409125 8D45E8                  lea eax, dword ptr [ebp-18]
:00409128 BA02000000              mov edx, 00000002
:0040912D E8D2A90800              call 00493B04
:00409132 33C9                    xor ecx, ecx
:00409134 894DDC                  mov dword ptr [ebp-24], ecx
:00409137 8D55DC                  lea edx, dword ptr [ebp-24]
:0040913A FF45B0                  inc [ebp-50]
:0040913D 8B86D0020000            mov eax, dword ptr [esi+000002D0]
:00409143 E804930400              call 0045244C
:00409148 8D4DDC                  lea ecx, dword ptr [ebp-24]
:0040914B 8B01                    mov eax, dword ptr [ecx]
:0040914D 50                      push eax

* Possible StringData Ref from Data Obj ->"First Name"
                                  |
:0040914E BA4A824900              mov edx, 0049824A
:00409153 8D45E0                  lea eax, dword ptr [ebp-20]
:00409156 E8A5A80800              call 00493A00
:0040915B FF45B0                  inc [ebp-50]
:0040915E 8B10                    mov edx, dword ptr [eax]
:00409160 8D45E4                  lea eax, dword ptr [ebp-1C]
:00409163 52                      push edx

* Possible StringData Ref from Data Obj ->"Registration"
                                  |
:00409164 BA3D824900              mov edx, 0049823D
:00409169 66C745A43800            mov [ebp-5C], 0038
:0040916F E88CA80800              call 00493A00
:00409174 FF45B0                  inc [ebp-50]
:00409177 8B10                    mov edx, dword ptr [eax]
:00409179 8BC3                    mov eax, ebx
:0040917B 59                      pop ecx
:0040917C E83FE40100              call 004275C0
:00409181 FF4DB0                  dec [ebp-50]
:00409184 8D45DC                  lea eax, dword ptr [ebp-24]
:00409187 BA02000000              mov edx, 00000002
:0040918C E873A90800              call 00493B04
:00409191 FF4DB0                  dec [ebp-50]
:00409194 8D45E0                  lea eax, dword ptr [ebp-20]
:00409197 BA02000000              mov edx, 00000002
:0040919C E863A90800              call 00493B04
:004091A1 FF4DB0                  dec [ebp-50]
:004091A4 8D45E4                  lea eax, dword ptr [ebp-1C]
:004091A7 BA02000000              mov edx, 00000002
:004091AC E853A90800              call 00493B04
:004091B1 33C9                    xor ecx, ecx
:004091B3 894DD0                  mov dword ptr [ebp-30], ecx
:004091B6 8D55D0                  lea edx, dword ptr [ebp-30]
:004091B9 FF45B0                  inc [ebp-50]
:004091BC 8B86D8020000            mov eax, dword ptr [esi+000002D8]
:004091C2 E885920400              call 0045244C
:004091C7 8D4DD0                  lea ecx, dword ptr [ebp-30]
:004091CA 8B01                    mov eax, dword ptr [ecx]
:004091CC 50                      push eax

* Possible StringData Ref from Data Obj ->"Last Name"
                                  |
:004091CD BA62824900              mov edx, 00498262
:004091D2 8D45D4                  lea eax, dword ptr [ebp-2C]
:004091D5 E826A80800              call 00493A00
:004091DA FF45B0                  inc [ebp-50]
:004091DD 8B10                    mov edx, dword ptr [eax]
:004091DF 8D45D8                  lea eax, dword ptr [ebp-28]
:004091E2 52                      push edx

* Possible StringData Ref from Data Obj ->"Registration"
                                  |
:004091E3 BA55824900              mov edx, 00498255
:004091E8 66C745A44400            mov [ebp-5C], 0044
:004091EE E80DA80800              call 00493A00
:004091F3 FF45B0                  inc [ebp-50]
:004091F6 8B10                    mov edx, dword ptr [eax]
:004091F8 8BC3                    mov eax, ebx
:004091FA 59                      pop ecx
:004091FB E8C0E30100              call 004275C0
:00409200 FF4DB0                  dec [ebp-50]
:00409203 8D45D0                  lea eax, dword ptr [ebp-30]
:00409206 BA02000000              mov edx, 00000002
:0040920B E8F4A80800              call 00493B04
:00409210 FF4DB0                  dec [ebp-50]
:00409213 8D45D4                  lea eax, dword ptr [ebp-2C]
:00409216 BA02000000              mov edx, 00000002
:0040921B E8E4A80800              call 00493B04
:00409220 FF4DB0                  dec [ebp-50]
:00409223 8D45D8                  lea eax, dword ptr [ebp-28]
:00409226 BA02000000              mov edx, 00000002
:0040922B E8D4A80800              call 00493B04
:00409230 8B4D90                  mov ecx, dword ptr [ebp-70]
:00409233 8B4104                  mov eax, dword ptr [ecx+04]
:00409236 038572FEFFFF            add eax, dword ptr [ebp+FFFFFE72]
:0040923C 50                      push eax

* Possible StringData Ref from Data Obj ->"Code"
                                  |
:0040923D BA79824900              mov edx, 00498279
:00409242 8D45C8                  lea eax, dword ptr [ebp-38]
:00409245 E8B6A70800              call 00493A00
:0040924A FF45B0                  inc [ebp-50]
:0040924D 8B10                    mov edx, dword ptr [eax]
:0040924F 8D45CC                  lea eax, dword ptr [ebp-34]
:00409252 52                      push edx

* Possible StringData Ref from Data Obj ->"Registration"
                                  |
:00409253 BA6C824900              mov edx, 0049826C
:00409258 66C745A45000            mov [ebp-5C], 0050
:0040925E E89DA70800              call 00493A00
:00409263 FF45B0                  inc [ebp-50]
:00409266 8B10                    mov edx, dword ptr [eax]
:00409268 8BC3                    mov eax, ebx
:0040926A 59                      pop ecx
:0040926B E800E50100              call 00427770
:00409270 FF4DB0                  dec [ebp-50]
:00409273 8D45C8                  lea eax, dword ptr [ebp-38]
:00409276 BA02000000              mov edx, 00000002
:0040927B E884A80800              call 00493B04
:00409280 FF4DB0                  dec [ebp-50]
:00409283 8D45CC                  lea eax, dword ptr [ebp-34]
:00409286 BA02000000              mov edx, 00000002
:0040928B E874A80800              call 00493B04
:00409290 8B4D90                  mov ecx, dword ptr [ebp-70]
:00409293 8B01                    mov eax, dword ptr [ecx]
:00409295 038572FEFFFF            add eax, dword ptr [ebp+FFFFFE72]
:0040929B 50                      push eax

* Possible StringData Ref from Data Obj ->"Key"
                                  |
:0040929C BA8B824900              mov edx, 0049828B
:004092A1 8D45C0                  lea eax, dword ptr [ebp-40]
:004092A4 E857A70800              call 00493A00
:004092A9 FF45B0                  inc [ebp-50]
:004092AC 8B10                    mov edx, dword ptr [eax]
:004092AE 8D45C4                  lea eax, dword ptr [ebp-3C]
:004092B1 52                      push edx

* Possible StringData Ref from Data Obj ->"Registration"
                                  |
:004092B2 BA7E824900              mov edx, 0049827E
:004092B7 66C745A45C00            mov [ebp-5C], 005C
:004092BD E83EA70800              call 00493A00
:004092C2 FF45B0                  inc [ebp-50]
:004092C5 8B10                    mov edx, dword ptr [eax]
:004092C7 8BC3                    mov eax, ebx
:004092C9 59                      pop ecx
:004092CA E8A1E40100              call 00427770
:004092CF FF4DB0                  dec [ebp-50]
:004092D2 8D45C0                  lea eax, dword ptr [ebp-40]
:004092D5 BA02000000              mov edx, 00000002
:004092DA E825A80800              call 00493B04
:004092DF FF4DB0                  dec [ebp-50]
:004092E2 8D45C4                  lea eax, dword ptr [ebp-3C]
:004092E5 BA02000000              mov edx, 00000002
:004092EA E815A80800              call 00493B04
:004092EF A16CF94900              mov eax, dword ptr [0049F96C]
:004092F4 6A00                    push 00000000

* Possible StringData Ref from Data Obj ->"Popfix"
                                  |
:004092F6 B9D4824900              mov ecx, 004982D4

* Possible StringData Ref from Data Obj ->"Your registration was successful.
Thank "
                                        ->"you for registering Popfix."
                                  |
:004092FB BA8F824900              mov edx, 0049828F
:00409300 8B00                    mov eax, dword ptr [eax]
:00409302 E84DA60800              call 00493954
:00409307 8BFB                    mov edi, ebx
:00409309 897DB8                  mov dword ptr [ebp-48], edi
:0040930C 85FF                    test edi, edi
:0040930E 741E                    je 0040932E
:00409310 8B07                    mov eax, dword ptr [edi]
:00409312 8945BC                  mov dword ptr [ebp-44], eax
:00409315 66C745A47400            mov [ebp-5C], 0074
:0040931B BA03000000              mov edx, 00000003
:00409320 8B45B8                  mov eax, dword ptr [ebp-48]
:00409323 8B08                    mov ecx, dword ptr [eax]
:00409325 FF51FC                  call [ecx-04]
:00409328 66C745A46800            mov [ebp-5C], 0068

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040930E(C)
|
:0040932E C7862C02000001000000    mov dword ptr [esi+0000022C], 00000001
:00409338 8B5594                  mov edx, dword ptr [ebp-6C]
:0040933B 64891500000000          mov dword ptr fs:[00000000], edx
:00409342 EB22                    jmp 00409366

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00408F79(C), :004090AF(C), :004090BF(C), :004090CF(C)
|
:00409344 A16CF94900              mov eax, dword ptr [0049F96C]
:00409349 6A10                    push 00000010

* Possible StringData Ref from Data Obj ->"Popfix"
                                  |
:0040934B B91A834900              mov ecx, 0049831A

* Possible StringData Ref from Data Obj ->"Sorry, that registration code "
                                        ->"is not valid.
Please try again."
                                  |
:00409350 BADB824900              mov edx, 004982DB
:00409355 8B00

相關文章