美卡五子棋 3.2.0 简单分析
美卡休闲五子棋 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 00000000MOV EAX,DWORD PTR FS:
00464FE1 50 PUSH EAX
00464FE2 64:8925 0000000>MOV DWORD PTR FS:,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:,ESP
00464FF5 C745 F8 0016400>MOV DWORD PTR SS:,美卡休闲.00401600
00464FFC 8B75 08 MOV ESI,DWORD PTR SS:
00464FFF 8BC6 MOV EAX,ESI
00465001 83E0 01 AND EAX,1
00465004 8945 FC MOV DWORD PTR SS:,EAX
00465007 83E6 FE AND ESI,FFFFFFFE
0046500A 56 PUSH ESI
……………………
中间部分省略
……………………
004652EB 8B06 MOV EAX,DWORD PTR DS:
004652ED 56 PUSH ESI
004652EE FF90 00030000 CALL DWORD PTR DS:
004652F4 8D4D E0 LEA ECX,DWORD PTR SS:
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:
00465300 50 PUSH EAX
00465301 57 PUSH EDI
00465302 8B17 MOV EDX,DWORD PTR DS:
00465304 FF92 A0000000 CALL DWORD PTR DS:
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:
00465325 51 PUSH ECX
00465326 FF15 40114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Str>; MSVBVM60.__vbaR8Str
0046532C DB05 58704600 FILD DWORD PTR DS: ; 这里
00465332 DD9D E0FEFFFF FSTP QWORD PTR SS: ; 这里放假码
00465338 DC9D E0FEFFFF FCOMP QWORD PTR SS: ; 真假码比较
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:
00465351 FF15 BC114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>; MSVBVM60.__vbaFreeStr
00465357 8D4D E0 LEA ECX,DWORD PTR SS:
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:
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:
0046538A 8D45 E0 LEA EAX,DWORD PTR SS:
0046538D 50 PUSH EAX
0046538E 57 PUSH EDI
0046538F 8B17 MOV EDX,DWORD PTR DS:
00465391 FF52 14 CALL DWORD PTR DS:
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:
004653AC 8D55 E8 LEA EDX,DWORD PTR SS:
004653AF 52 PUSH EDX
004653B0 50 PUSH EAX
004653B1 8B08 MOV ECX,DWORD PTR DS:
004653B3 8BF8 MOV EDI,EAX
004653B5 FF51 58 CALL DWORD PTR DS:
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:
004653CF 56 PUSH ESI
004653D0 FF90 00030000 CALL DWORD PTR DS:
004653D6 8D4D DC LEA ECX,DWORD PTR SS:
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:
004653E2 50 PUSH EAX
004653E3 57 PUSH EDI
004653E4 8B17 MOV EDX,DWORD PTR DS:
004653E6 FF92 A0000000 CALL DWORD PTR DS:
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: ; 这里要保存注册信息了
00465407 8B55 E8 MOV EDX,DWORD PTR SS:
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:
0046541F 8D4D E8 LEA ECX,DWORD PTR SS:
00465422 50 PUSH EAX
00465423 51 PUSH ECX
00465424 6A 02 PUSH 2
算法部分没找到, 兴许在DS: 这里下硬断能搞到, 时间和精力问题, 就不再搞了. 怀疑这东西用了VM 如何测定我也没什么证据. 这程序很特殊, 推荐有时间的朋友来调试一下~~
软件将注册信息保存到注册表这个地址,删除后即可继续研究:
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\美卡休闲五子棋\ZC
由于是明码, 给大家一个另累的KG设置来看下.
成功画面:
下载来学习,谢谢总坛主! 支持呀,记得春节期间在本论坛发过它的注册机,只是忘记了它的版本……
当时玩了几盘,发现它的水平比较差,我是很轻易就胜了它,后来就删除它了。
[ 本帖最后由 wofan 于 2007-8-12 19:28 编辑 ] 确实 这游戏设计的不怎么的 还出来收费 该杀~
对五子棋感兴趣的朋友可以看一下这款软件 很不错的哦
[世界连珠软件冠军]Black Stone V3.82 励精汉化版 + KeyGen
https://www.chinapyg.com/viewthread.php?tid=17350 不错,对五只其一直很感兴趣的
页:
[1]