stkman[CCG]大哥的東西太厲害了,我這菜鳥看不懂.搞個菜鳥都能懂的My Flasher Play 1.4 (破解+演算法分析+序號產生器) (2千字)

看雪資料發表於2002-01-24

My Flasher Play 1.4 (破解+演算法分析+序號產生器)
  crack by fwnl
下載地址:
http://ln.skycn.net/down/14.exe
http://www.skycn.com/down1.php?id=6936
軟體簡介:
這是一個具有變體換膚、播放列表、進度條、Exe2Swf、自動搜尋資料夾中的動畫等功能的Flash動畫播放器。它可使你隨心所欲的控制Flash動畫的播放:)此外介面簡單,操作方便,幾乎不需要幫助,就可掌握使用:)在檢視上,它有三種檢視,特別是精簡檢視和使視窗‘總在最上’的功能給合,可滿足那些喜歡一邊工作一邊看動畫的朋友:)此版本吸收了一些網友的建議,改進了播放列表的功能,可直接開啟Exe格式的動畫,同時修改了一些bug,歡迎下載使用

破解工具: trw2000 1.22  W32DASM 8.93

用trw2000載入軟體後,按F5返回程式,點註冊並填入任意數字,按ctrl+n撥出trw2000下bpx hmemcpy,F5返回,點確定,程式中斷後下bd *,按幾下(我按了14下
)F10可來到下面:
:00472E71 BA842F4700          mov edx, 00472F84
:00472E76 E8CD1CF9FF          call 00404B48
:00472E7B 0F84D2000000        je 00472F53
:00472E81 33D2                xor edx, edx
:00472E83 55                  push ebp
:00472E84 683F2F4700          push 00472F3F
:00472E89 64FF32              push dword ptr fs:[edx]
:00472E8C 648922              mov dword ptr fs:[edx], esp
:00472E8F 8D55F4              lea edx, dword ptr [ebp-0C]
:00472E92 8B83F8020000        mov eax, dword ptr [ebx+000002F8]
:00472E98 E847A3FCFF          call 0043D1E4
:00472E9D 8B45F4              mov eax, dword ptr [ebp-0C]
:00472EA0 E88B60F9FF          call 00408F30
:00472EA5 8BF0                mov esi, eax                <===把你輸入的註冊碼送入esi
:00472EA7 A1487F4700          mov eax, dword ptr [00477F48]<===把你的機器碼送入eax
:00472EAC 05671B3B07          add eax, 073B1B67 <==eax與73b1b67相加,結果送入eax
:00472EB1 25AB702E01          and eax, 012E70AB <==eax與12e70ab作與運算,結果送入eax
:00472EB6 0578030000          add eax, 00000378 <==eax加上378,結果送入eax
:00472EBB 3BC6                cmp eax, esi      <==真假註冊碼比較  ? eax 可得真碼
:00472EBD 7446                je 00472F05
:00472EBF 81FEBD56B800        cmp esi, 00B856BD
:00472EC5 7532                jne 00472EF9

* Possible StringData Ref from Code Obj ->"感謝註冊!"

哈哈,演算法是不是太簡單了,那就正適合我這菜鳥做序號產生器了:)
演算法分析: 由上面的程式碼可知正解的註冊碼是用你的機器碼加上73b1b67的結果和12e70ab作與運算再加上378.
73b1b67轉十進位制為121314151
12e70ab轉十進位制為19820715(哈哈,可能是作者生日)
378    轉十進位制為888

看到這裡,我想大家都能寫出序號產生器了。:)
下面是我用c++寫的一個
#include<iostream.h>
void main()
{
unsigned long int a;
cout<<"Please input your  ID :";
  cin>>a;
cout<<"Your Register code is :"<<((a+121314151)&19820715)+888<<endl;
}

哈哈,是不是非常簡單.
祝各位玩得開心!!                                      fwnl
                                                    2002.1.24
                                                      長沙

相關文章