- UID
- 2198
注册时间2005-6-29
阅读权限255
最后登录1970-1-1
副坛主
该用户从未签到
|
美卡休闲五子棋 3.2.0
软件大小:926KB
软件类别:国产软件/棋牌游戏
软件授权:共享版
软件语言:简体中文
运行环境:Win9x/Me/NT/2000/XP/2003
更新时间:2007-3-3 10:55:11
华军下载: http://www.onlinedown.net/soft/50993.htm
软件详细信息:
一款非常COOL的休闲五子棋!支持人机大战和双人对奕。在运行游戏时随时可对游戏的难度进行调节。3.0.0中新增了悔棋和自动运棋功能!
这个软件调试起来很奇怪,我跟了半天,始终在系统领空走来走去,起初怀疑是P-CODE编译,使用DiE查一下,发现不是 于是继续调试, 下万能断点, 跑来跑去终于跑到了程序领空, 汗的是没发现算法在哪里, 只看到一个明码比较就结束了 我直接给大家断点好了,找到这个断点确实很费时间. 当然大家可以搜索UNICODE的时候在最后两行数据那下断, 因为那就是将注册信息保存到注册表的键值.
- 00464FD0 55 PUSH EBP
- 00464FD1 8BEC MOV EBP,ESP
- 00464FD3 83EC 0C SUB ESP,0C
- 00464FD6 68 16164000 PUSH <JMP.&MSVBVM60.__vbaExceptHandler>
- 00464FDB 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
- 00464FE1 50 PUSH EAX
- 00464FE2 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
- 00464FE9 81EC 1C010000 SUB ESP,11C
- 00464FEF 53 PUSH EBX
- 00464FF0 56 PUSH ESI
- 00464FF1 57 PUSH EDI
- 00464FF2 8965 F4 MOV DWORD PTR SS:[EBP-C],ESP
- 00464FF5 C745 F8 0016400>MOV DWORD PTR SS:[EBP-8],美卡休闲.00401600
- 00464FFC 8B75 08 MOV ESI,DWORD PTR SS:[EBP+8]
- 00464FFF 8BC6 MOV EAX,ESI
- 00465001 83E0 01 AND EAX,1
- 00465004 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
- 00465007 83E6 FE AND ESI,FFFFFFFE
- 0046500A 56 PUSH ESI
- ……………………
- 中间部分省略
- ……………………
- 004652EB 8B06 MOV EAX,DWORD PTR DS:[ESI]
- 004652ED 56 PUSH ESI
- 004652EE FF90 00030000 CALL DWORD PTR DS:[EAX+300]
- 004652F4 8D4D E0 LEA ECX,DWORD PTR SS:[EBP-20]
- 004652F7 50 PUSH EAX
- 004652F8 51 PUSH ECX
- 004652F9 FFD3 CALL EBX
- 004652FB 8BF8 MOV EDI,EAX
- 004652FD 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
- 00465300 50 PUSH EAX
- 00465301 57 PUSH EDI
- 00465302 8B17 MOV EDX,DWORD PTR DS:[EDI]
- 00465304 FF92 A0000000 CALL DWORD PTR DS:[EDX+A0]
- 0046530A 85C0 TEST EAX,EAX
- 0046530C DBE2 FCLEX
- 0046530E 7D 12 JGE SHORT 美卡休闲.00465322
- 00465310 68 A0000000 PUSH 0A0
- 00465315 68 2C134500 PUSH 美卡休闲.0045132C
- 0046531A 57 PUSH EDI
- 0046531B 50 PUSH EAX
- 0046531C FF15 60104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>; MSVBVM60.__vbaHresultCheckObj
- 00465322 8B4D E8 MOV ECX,DWORD PTR SS:[EBP-18]
- 00465325 51 PUSH ECX
- 00465326 FF15 40114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Str>; MSVBVM60.__vbaR8Str
- 0046532C DB05 58704600 FILD DWORD PTR DS:[467058] ; 这里
- 00465332 DD9D E0FEFFFF FSTP QWORD PTR SS:[EBP-120] ; 这里放假码
- 00465338 DC9D E0FEFFFF FCOMP QWORD PTR SS:[EBP-120] ; 真假码比较
- 0046533E DFE0 FSTSW AX ; 这里不清楚是怎么对标志位做了处理
- 00465340 F6C4 40 TEST AH,40
- 00465343 74 07 JE SHORT 美卡休闲.0046534C ; 这里NOP掉 就可弹出注册正确对话框
- 00465345 BF 01000000 MOV EDI,1
- 0046534A EB 02 JMP SHORT 美卡休闲.0046534E
- 0046534C 33FF XOR EDI,EDI
- 0046534E 8D4D E8 LEA ECX,DWORD PTR SS:[EBP-18]
- 00465351 FF15 BC114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>; MSVBVM60.__vbaFreeStr
- 00465357 8D4D E0 LEA ECX,DWORD PTR SS:[EBP-20]
- 0046535A FF15 B8114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeO>; MSVBVM60.__vbaFreeObj
- 00465360 F7DF NEG EDI
- 00465362 66:85FF TEST DI,DI
- 00465365 0F84 71030000 JE 美卡休闲.004656DC ; 这里跳走就挂掉了
- 0046536B A1 68744600 MOV EAX,DWORD PTR DS:[467468]
- 00465370 85C0 TEST EAX,EAX
- 00465372 75 10 JNZ SHORT 美卡休闲.00465384
- 00465374 68 68744600 PUSH 美卡休闲.00467468
- 00465379 68 F4084500 PUSH 美卡休闲.004508F4
- 0046537E FF15 44114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaNew2>>; MSVBVM60.__vbaNew2
- 00465384 8B3D 68744600 MOV EDI,DWORD PTR DS:[467468]
- 0046538A 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
- 0046538D 50 PUSH EAX
- 0046538E 57 PUSH EDI
- 0046538F 8B17 MOV EDX,DWORD PTR DS:[EDI]
- 00465391 FF52 14 CALL DWORD PTR DS:[EDX+14]
- 00465394 85C0 TEST EAX,EAX
- 00465396 DBE2 FCLEX
- 00465398 7D 0F JGE SHORT 美卡休闲.004653A9
- 0046539A 6A 14 PUSH 14
- 0046539C 68 90054500 PUSH 美卡休闲.00450590
- 004653A1 57 PUSH EDI
- 004653A2 50 PUSH EAX
- 004653A3 FF15 60104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>; MSVBVM60.__vbaHresultCheckObj
- 004653A9 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20]
- 004653AC 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18]
- 004653AF 52 PUSH EDX
- 004653B0 50 PUSH EAX
- 004653B1 8B08 MOV ECX,DWORD PTR DS:[EAX]
- 004653B3 8BF8 MOV EDI,EAX
- 004653B5 FF51 58 CALL DWORD PTR DS:[ECX+58]
- 004653B8 85C0 TEST EAX,EAX
- 004653BA DBE2 FCLEX
- 004653BC 7D 0F JGE SHORT 美卡休闲.004653CD
- 004653BE 6A 58 PUSH 58
- 004653C0 68 04094500 PUSH 美卡休闲.00450904
- 004653C5 57 PUSH EDI
- 004653C6 50 PUSH EAX
- 004653C7 FF15 60104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>; MSVBVM60.__vbaHresultCheckObj
- 004653CD 8B06 MOV EAX,DWORD PTR DS:[ESI]
- 004653CF 56 PUSH ESI
- 004653D0 FF90 00030000 CALL DWORD PTR DS:[EAX+300]
- 004653D6 8D4D DC LEA ECX,DWORD PTR SS:[EBP-24]
- 004653D9 50 PUSH EAX
- 004653DA 51 PUSH ECX
- 004653DB FFD3 CALL EBX
- 004653DD 8BF8 MOV EDI,EAX
- 004653DF 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C]
- 004653E2 50 PUSH EAX
- 004653E3 57 PUSH EDI
- 004653E4 8B17 MOV EDX,DWORD PTR DS:[EDI]
- 004653E6 FF92 A0000000 CALL DWORD PTR DS:[EDX+A0]
- 004653EC 85C0 TEST EAX,EAX
- 004653EE DBE2 FCLEX
- 004653F0 7D 12 JGE SHORT 美卡休闲.00465404
- 004653F2 68 A0000000 PUSH 0A0
- 004653F7 68 2C134500 PUSH 美卡休闲.0045132C
- 004653FC 57 PUSH EDI
- 004653FD 50 PUSH EAX
- 004653FE FF15 60104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>; MSVBVM60.__vbaHresultCheckObj
- 00465404 8B4D E4 MOV ECX,DWORD PTR SS:[EBP-1C] ; 这里要保存注册信息了
- 00465407 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18]
- 0046540A 51 PUSH ECX
- 0046540B 68 5C0A4500 PUSH 美卡休闲.00450A5C ; HAWK WZQ MA
- 00465410 68 500A4500 PUSH 美卡休闲.00450A50 ; ZC
- 00465415 52 PUSH EDX
- 00465416 FF15 08104000 CALL DWORD PTR DS:[<&MSVBVM60.#690>] ; MSVBVM60.rtcSaveSetting
- 0046541C 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C]
- 0046541F 8D4D E8 LEA ECX,DWORD PTR SS:[EBP-18]
- 00465422 50 PUSH EAX
- 00465423 51 PUSH ECX
- 00465424 6A 02 PUSH 2
-
- 算法部分没找到, 兴许在DS:[467058] 这里下硬断能搞到, 时间和精力问题, 就不再搞了. 怀疑这东西用了VM 如何测定我也没什么证据. 这程序很特殊, 推荐有时间的朋友来调试一下~~
- 软件将注册信息保存到注册表这个地址,删除后即可继续研究:
- HKEY_CURRENT_USER\Software\VB and VBA Program Settings\美卡休闲五子棋\ZC
-
复制代码
由于是明码, 给大家一个另累的KG设置来看下.
成功画面:
|
评分
-
查看全部评分
|