飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3246|回复: 4

[原创] 美卡五子棋 3.2.0 简单分析

[复制链接]

该用户从未签到

发表于 2007-8-12 01:40:44 | 显示全部楼层 |阅读模式
美卡休闲五子棋 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的时候在最后两行数据那下断, 因为那就是将注册信息保存到注册表的键值.


  1. 00464FD0    55              PUSH EBP
  2. 00464FD1    8BEC            MOV EBP,ESP
  3. 00464FD3    83EC 0C         SUB ESP,0C
  4. 00464FD6    68 16164000     PUSH <JMP.&MSVBVM60.__vbaExceptHandler>
  5. 00464FDB    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
  6. 00464FE1    50              PUSH EAX
  7. 00464FE2    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
  8. 00464FE9    81EC 1C010000   SUB ESP,11C
  9. 00464FEF    53              PUSH EBX
  10. 00464FF0    56              PUSH ESI
  11. 00464FF1    57              PUSH EDI
  12. 00464FF2    8965 F4         MOV DWORD PTR SS:[EBP-C],ESP
  13. 00464FF5    C745 F8 0016400>MOV DWORD PTR SS:[EBP-8],美卡休闲.00401600
  14. 00464FFC    8B75 08         MOV ESI,DWORD PTR SS:[EBP+8]
  15. 00464FFF    8BC6            MOV EAX,ESI
  16. 00465001    83E0 01         AND EAX,1
  17. 00465004    8945 FC         MOV DWORD PTR SS:[EBP-4],EAX
  18. 00465007    83E6 FE         AND ESI,FFFFFFFE
  19. 0046500A    56              PUSH ESI
  20. ……………………
  21. 中间部分省略
  22. ……………………
  23. 004652EB    8B06            MOV EAX,DWORD PTR DS:[ESI]
  24. 004652ED    56              PUSH ESI
  25. 004652EE    FF90 00030000   CALL DWORD PTR DS:[EAX+300]
  26. 004652F4    8D4D E0         LEA ECX,DWORD PTR SS:[EBP-20]
  27. 004652F7    50              PUSH EAX
  28. 004652F8    51              PUSH ECX
  29. 004652F9    FFD3            CALL EBX
  30. 004652FB    8BF8            MOV EDI,EAX
  31. 004652FD    8D45 E8         LEA EAX,DWORD PTR SS:[EBP-18]
  32. 00465300    50              PUSH EAX
  33. 00465301    57              PUSH EDI
  34. 00465302    8B17            MOV EDX,DWORD PTR DS:[EDI]
  35. 00465304    FF92 A0000000   CALL DWORD PTR DS:[EDX+A0]
  36. 0046530A    85C0            TEST EAX,EAX
  37. 0046530C    DBE2            FCLEX
  38. 0046530E    7D 12           JGE SHORT 美卡休闲.00465322
  39. 00465310    68 A0000000     PUSH 0A0
  40. 00465315    68 2C134500     PUSH 美卡休闲.0045132C
  41. 0046531A    57              PUSH EDI
  42. 0046531B    50              PUSH EAX
  43. 0046531C    FF15 60104000   CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>; MSVBVM60.__vbaHresultCheckObj
  44. 00465322    8B4D E8         MOV ECX,DWORD PTR SS:[EBP-18]
  45. 00465325    51              PUSH ECX
  46. 00465326    FF15 40114000   CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Str>; MSVBVM60.__vbaR8Str
  47. 0046532C    DB05 58704600   FILD DWORD PTR DS:[467058]               ; 这里
  48. 00465332    DD9D E0FEFFFF   FSTP QWORD PTR SS:[EBP-120]              ; 这里放假码
  49. 00465338    DC9D E0FEFFFF   FCOMP QWORD PTR SS:[EBP-120]             ; 真假码比较
  50. 0046533E    DFE0            FSTSW AX                                 ; 这里不清楚是怎么对标志位做了处理
  51. 00465340    F6C4 40         TEST AH,40
  52. 00465343    74 07           JE SHORT 美卡休闲.0046534C                   ; 这里NOP掉 就可弹出注册正确对话框
  53. 00465345    BF 01000000     MOV EDI,1
  54. 0046534A    EB 02           JMP SHORT 美卡休闲.0046534E
  55. 0046534C    33FF            XOR EDI,EDI
  56. 0046534E    8D4D E8         LEA ECX,DWORD PTR SS:[EBP-18]
  57. 00465351    FF15 BC114000   CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>; MSVBVM60.__vbaFreeStr
  58. 00465357    8D4D E0         LEA ECX,DWORD PTR SS:[EBP-20]
  59. 0046535A    FF15 B8114000   CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeO>; MSVBVM60.__vbaFreeObj
  60. 00465360    F7DF            NEG EDI
  61. 00465362    66:85FF         TEST DI,DI
  62. 00465365    0F84 71030000   JE 美卡休闲.004656DC                         ; 这里跳走就挂掉了
  63. 0046536B    A1 68744600     MOV EAX,DWORD PTR DS:[467468]
  64. 00465370    85C0            TEST EAX,EAX
  65. 00465372    75 10           JNZ SHORT 美卡休闲.00465384
  66. 00465374    68 68744600     PUSH 美卡休闲.00467468
  67. 00465379    68 F4084500     PUSH 美卡休闲.004508F4
  68. 0046537E    FF15 44114000   CALL DWORD PTR DS:[<&MSVBVM60.__vbaNew2>>; MSVBVM60.__vbaNew2
  69. 00465384    8B3D 68744600   MOV EDI,DWORD PTR DS:[467468]
  70. 0046538A    8D45 E0         LEA EAX,DWORD PTR SS:[EBP-20]
  71. 0046538D    50              PUSH EAX
  72. 0046538E    57              PUSH EDI
  73. 0046538F    8B17            MOV EDX,DWORD PTR DS:[EDI]
  74. 00465391    FF52 14         CALL DWORD PTR DS:[EDX+14]
  75. 00465394    85C0            TEST EAX,EAX
  76. 00465396    DBE2            FCLEX
  77. 00465398    7D 0F           JGE SHORT 美卡休闲.004653A9
  78. 0046539A    6A 14           PUSH 14
  79. 0046539C    68 90054500     PUSH 美卡休闲.00450590
  80. 004653A1    57              PUSH EDI
  81. 004653A2    50              PUSH EAX
  82. 004653A3    FF15 60104000   CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>; MSVBVM60.__vbaHresultCheckObj
  83. 004653A9    8B45 E0         MOV EAX,DWORD PTR SS:[EBP-20]
  84. 004653AC    8D55 E8         LEA EDX,DWORD PTR SS:[EBP-18]
  85. 004653AF    52              PUSH EDX
  86. 004653B0    50              PUSH EAX
  87. 004653B1    8B08            MOV ECX,DWORD PTR DS:[EAX]
  88. 004653B3    8BF8            MOV EDI,EAX
  89. 004653B5    FF51 58         CALL DWORD PTR DS:[ECX+58]
  90. 004653B8    85C0            TEST EAX,EAX
  91. 004653BA    DBE2            FCLEX
  92. 004653BC    7D 0F           JGE SHORT 美卡休闲.004653CD
  93. 004653BE    6A 58           PUSH 58
  94. 004653C0    68 04094500     PUSH 美卡休闲.00450904
  95. 004653C5    57              PUSH EDI
  96. 004653C6    50              PUSH EAX
  97. 004653C7    FF15 60104000   CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>; MSVBVM60.__vbaHresultCheckObj
  98. 004653CD    8B06            MOV EAX,DWORD PTR DS:[ESI]
  99. 004653CF    56              PUSH ESI
  100. 004653D0    FF90 00030000   CALL DWORD PTR DS:[EAX+300]
  101. 004653D6    8D4D DC         LEA ECX,DWORD PTR SS:[EBP-24]
  102. 004653D9    50              PUSH EAX
  103. 004653DA    51              PUSH ECX
  104. 004653DB    FFD3            CALL EBX
  105. 004653DD    8BF8            MOV EDI,EAX
  106. 004653DF    8D45 E4         LEA EAX,DWORD PTR SS:[EBP-1C]
  107. 004653E2    50              PUSH EAX
  108. 004653E3    57              PUSH EDI
  109. 004653E4    8B17            MOV EDX,DWORD PTR DS:[EDI]
  110. 004653E6    FF92 A0000000   CALL DWORD PTR DS:[EDX+A0]
  111. 004653EC    85C0            TEST EAX,EAX
  112. 004653EE    DBE2            FCLEX
  113. 004653F0    7D 12           JGE SHORT 美卡休闲.00465404
  114. 004653F2    68 A0000000     PUSH 0A0
  115. 004653F7    68 2C134500     PUSH 美卡休闲.0045132C
  116. 004653FC    57              PUSH EDI
  117. 004653FD    50              PUSH EAX
  118. 004653FE    FF15 60104000   CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>; MSVBVM60.__vbaHresultCheckObj
  119. 00465404    8B4D E4         MOV ECX,DWORD PTR SS:[EBP-1C]            ; 这里要保存注册信息了
  120. 00465407    8B55 E8         MOV EDX,DWORD PTR SS:[EBP-18]
  121. 0046540A    51              PUSH ECX
  122. 0046540B    68 5C0A4500     PUSH 美卡休闲.00450A5C                       ; HAWK WZQ MA
  123. 00465410    68 500A4500     PUSH 美卡休闲.00450A50                       ; ZC
  124. 00465415    52              PUSH EDX
  125. 00465416    FF15 08104000   CALL DWORD PTR DS:[<&MSVBVM60.#690>]     ; MSVBVM60.rtcSaveSetting
  126. 0046541C    8D45 E4         LEA EAX,DWORD PTR SS:[EBP-1C]
  127. 0046541F    8D4D E8         LEA ECX,DWORD PTR SS:[EBP-18]
  128. 00465422    50              PUSH EAX
  129. 00465423    51              PUSH ECX
  130. 00465424    6A 02           PUSH 2

  131. 01.gif

  132. 算法部分没找到, 兴许在DS:[467058] 这里下硬断能搞到, 时间和精力问题, 就不再搞了. 怀疑这东西用了VM   如何测定我也没什么证据. 这程序很特殊, 推荐有时间的朋友来调试一下~~

  133. 软件将注册信息保存到注册表这个地址,删除后即可继续研究:
  134. HKEY_CURRENT_USER\Software\VB and VBA Program Settings\美卡休闲五子棋\ZC

  135. 02.gif

复制代码


由于是明码, 给大家一个另累的KG设置来看下.

03.gif 04.gif


成功画面:

05.gif
06.gif

评分

参与人数 1威望 +20 飘云币 +20 收起 理由
tigerisme + 20 + 20 精彩

查看全部评分

PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-12 16:50:13 | 显示全部楼层
下载来学习,谢谢总坛主!
PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 433 天

    [LV.9]以坛为家II

    发表于 2007-8-12 19:26:59 | 显示全部楼层
    支持呀,记得春节期间在本论坛发过它的注册机,只是忘记了它的版本……
    当时玩了几盘,发现它的水平比较差,我是很轻易就胜了它,后来就删除它了。

    [ 本帖最后由 wofan 于 2007-8-12 19:28 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2007-8-12 20:26:57 | 显示全部楼层
    确实 这游戏设计的不怎么的 还出来收费 该杀~

    对五子棋感兴趣的朋友可以看一下这款软件 很不错的哦

    [世界连珠软件冠军]Black Stone V3.82 励精汉化版 + KeyGen
    https://www.chinapyg.com/viewthread.php?tid=17350
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-9-29 16:02:00 | 显示全部楼层
    不错,对五只其一直很感兴趣的
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表