炒股理財演算法分析:
作者:THK
目的:學習找註冊碼
關於脫殼:用caspr1.012脫殼,去掉自檢錯誤messagebox.
解除ANTI-W32DAASM功能(見http://001.com.cn/forum/toye/11626.html,方法與文中程式一的方法一模一樣)
016F:0041CA86 XOR EDI,EDI
016F:0041CA88 PUSH BYTE +04
016F:0041CA8A LEA EAX,[EBP-74]
016F:0041CA8D PUSH EAX
016F:0041CA8E PUSH ESI
016F:0041CA8F CALL 0041C794 //將輸入的假碼變換,內容見下。
016F:0041CA94 ADD ESP,BYTE +0C
016F:0041CA97 INC EDI
016F:0041CA98 CMP EDI,BYTE +03
016F:0041CA9B JL 0041CA88 //迴圈3次
016F:0041CA9D XOR DWORD [EBP-74],81079516
//變換結果於81079516異或
016F:0041CAA4 MOV EDX,[EBP-74]
016F:0041CAA7 LEA EAX,[EBP-04]
016F:0041CAAA ADD [EBP-78],EDX
016F:0041CAAD CALL 0055C4F0
016F:0041CAB2 SUB [EBP-78],EAX
016F:0041CAB5 MOV EAX,ESI
016F:0041CAB7 CALL 0041C428 //由使用者名稱和硬碟ID號生成一個數
016F:0041CABC SUB [EBP-78],EAX //減異或結果
016F:0041CABF CMP DWORD [EBP-78],BYTE +00
//為0嗎
016F:0041CAC3 JNZ NEAR 0041CC89 //跳就死
016F:0041CAC9 MOV EDX,80000002 //下面還有一處比較和這裡基本一樣
-----------------------------------------------------------------------
在0041CA8F處按F8來到這裡
016F:0041C794 PUSH EBP
016F:0041C795 MOV EBP,ESP
016F:0041C797 ADD ESP,FFFFFDFC
016F:0041C79D PUSH EBX
016F:0041C79E PUSH ESI
016F:0041C79F MOV ECX,[EBP+10]
016F:0041C7A2 XOR EAX,EAX
016F:0041C7A4 LEA ESI,[EBP+FFFFFDFC]
016F:0041C7AA MOV EDX,[EBP+0C]
016F:0041C7AD CMP ECX,EAX
016F:0041C7AF JNG 0041C7DD
016F:0041C7B1 MOV BL,[EDX]
016F:0041C7B3 MOV [EBP-01],BL
016F:0041C7B6 LEA EBX,[ECX-01]
016F:0041C7B9 CMP EAX,EBX
016F:0041C7BB JNZ 0041C7C7
016F:0041C7BD MOV EBX,[EBP+0C]
016F:0041C7C0 MOV BL,[EBX]
016F:0041C7C2 MOV [EBP-02],BL
016F:0041C7C5 JMP SHORT 0041C7CD
016F:0041C7C7 MOV BL,[EDX+01]
016F:0041C7CA MOV [EBP-02],BL
016F:0041C7CD SHL WORD [EBP-02],1 //運算核心
016F:0041C7D1 MOV BL,[EBP-01]
016F:0041C7D4 MOV [ESI],BL
016F:0041C7D6 INC EAX
016F:0041C7D7 INC ESI
016F:0041C7D8 INC EDX
016F:0041C7D9 CMP ECX,EAX
016F:0041C7DB JG 0041C7B1
016F:0041C7DD MOV BYTE [EBP+EAX+FFFFFDFC],00
016F:0041C7E5 XOR EAX,EAX
016F:0041C7E7 MOV EDX,[EBP+0C]
016F:0041C7EA MOV ESI,EDX
016F:0041C7EC LEA EDX,[EBP+FFFFFDFC]
016F:0041C7F2 CMP ECX,EAX
016F:0041C7F4 JNG 0041C801
016F:0041C7F6 MOV BL,[EDX]
016F:0041C7F8 MOV [ESI],BL
016F:0041C7FA INC EAX
016F:0041C7FB INC ESI
016F:0041C7FC INC EDX
016F:0041C7FD CMP ECX,EAX
016F:0041C7FF JG 0041C7F6
016F:0041C801 LEA EAX,[EBP+FFFFFDFC]
016F:0041C807 POP ESI
016F:0041C808 POP EBX
016F:0041C809 MOV ESP,EBP
016F:0041C80B POP EBP
--------------------------------------------------------------------
運算過程:
假碼:12345678 //必須是8位
7856 5634 3412
1278
左移1位 f0 ac 68
24 //只取高8位
結果:2468acf0
f0ac ac68 6824
24f0
左移1位 e1 58 d0
49
結果 : 49d058e1
e158 58d0 d049
49e1
左移1位 c2 b1 a0
93
結果 : 93a0b1c2
***********************那位大客幫幫忙寫出序號產生器**********************
這裡先謝了!!!