论坛: 编程破解 标题: 请教破解高手中的汇编高手 复制本贴地址    
作者: xghostx [xghostx]    论坛用户   登录
请教

不好意思我论坛的一位朋友问的问题!我搞不定!请大家帮忙!谢谢!
蓝色幽灵!
有一个台球游戏软件,quicksnooker6.1.63 (Size:1007K)
下载地址: http://www.quickgames.co.uk/QuickSnooker.exe



可以与电脑玩,也可以局域网上玩或互联网上玩.
有瞄准线,但不够长,我不知道哪里是设置瞄准线长度的.请高手帮忙看看.
用w32dasm反汇编后,部分代码如下:
...
0045C8A7 6683BD5CFEFFFF02 CMP WORD[EBP+FFFFFE5C],BYTE +00
0045C8AF 0F8449040000 JZ NEAR 0045CCFE 判断是否要画瞄准线(根据用户设定),是0则不用画,跳转
...
0045C8CA 6A02 PUSH BYTE +02 设置瞄准线宽度
...

0045C917 663BCA CMP CX,DX
0045C91A 7511 JNE 0045C92D 判断颜色是否为黑色,不是则跳
...
0045CAA5 869598FEFFFF MOV EDX,[EBP+FFFFFE98] 瞄准线终点Y坐标
0045CAAB 52 PUSH EDX 坐标值进栈
0045CAAC 86959CFEFFFF MOV EDX,[EBP+FFFFFE9C] 瞄准线终点X坐标
0045CAB2 52 PUSH EDX 坐标值进栈
0045CAB3 8695A0FEFFFF MOV EDX,[EBP+FFFFFEA0] 瞄准线起点Y坐标
0045CAB9 52 PUSH EDX 坐标值进栈
0045CABA 8695A4FEFFFF MOV EDX,[EBP+FFFFFEA4] 瞄准线起点X坐标
0045CAC0 52 PUSH EDX 坐标值进栈
0045CAC1 6A06 PUSH BYTE +06 这个值是瞄准线起点与球的偏移值
0045CAC3 50 PUSH EAX
0045CAC4 898544FEFFFF MOV [EBP+FFFFFE44],EAX
0045CACA FF917C020000 CALL NEAR[ECX+027C] 调用VB动态链解库函数,实现画线功能.

这个6.1.63版在中文windows系统上运行有点问题, 对破解高手应该不成问题.
如果不是高手建议拿6.1.22版的汉化版来开刀, 同样希望能延长瞄准线.
6.1.22版Size: 943K 汉化包206K
下载地址: http://soft.wz165.com/soft/4906.shtml ftp://soft.wz165.com/QuickSnooker6122.exe


关于这个游戏的玩法:(玩法与联众不同)

1.用鼠标左键点击白球(点一下立即释放左键)(点其他球也可)
2.移动鼠标,调整击球力量(从0%~100%)
3.再次点一下鼠标左键 出杆击球.

当调整力量时会看到球的轨迹线, 当轨迹线与其他球相遇时, 其他球有被撞后的滚动轨迹线(请高手延长的就是这根线)

地主 发表时间: 10/08 16:07

回复: 286 [unique]   版主   登录
既然值是从栈中取出的(比如瞄准线终点Y坐标是[EBP+FFFFFE98])那我想应该设置的值应该在调用这个过程的那个调用入口之前就设置的。然后以参数的形式传给了这个函数。你可以向前找找调用部分。
以上仅为猜测。

B1层 发表时间: 10/08 17:02

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号