首页
社区
课程
招聘
一个简单的PEDIYY
2004-11-27 17:44 3929

一个简单的PEDIYY

2004-11-27 17:44
3929
我不会写破文大家凑和着看吧

XP下的空当接龙 2000 也类似  98的我改不了因为是16位的程序

闲着没事修改一下空当接龙

默认的版本 是当你移动一列到空位置的时候 会出现一个对话框
是移动整列还是单张 单张对我们来说没什么用出
那就吧这个对话框去掉算了

Ollydbg载入
查找DialogBoxParamW创建对话框的
可以找到哦此处  下断点 当出现移动整列还是单张的对话框是断在此处
010038F1  |> \6A 00         push    0                                ; /lParam = NULL
010038F3  |.  68 8A240001   push    freecell.0100248A                ; |DlgProc = freecell.0100248A
010038F8  |.  FF75 08       push    [arg.1]                          ; |hOwner
010038FB  |.  68 28150001   push    freecell.01001528                ; |pTemplate = "MoveCol"
01003900  |.  FF35 60780001 push    dword ptr ds:[1007860]           ; |hInst = NULL
01003906  |.  FF15 2C110001 call    dword ptr ds:[<&USER32.DialogBox>; \DialogBoxParamW

由于我们不知道点移动整列的时候改变了什么东西,所以进入 这个对话框内部 处理函数地址 100248A
将断点下载此处  当点击对话框的按钮的时候 会到此处
0100249E  |.  48            dec     eax                              ;  Switch (cases 2..CA)
在此继续让移动整列 还是单张的对话框出来,选择移动整列

根据后面的注释可以看到
010024B0  |> \6A 00         push    0                                ;  Case CA of switch 0100249E
010024B2  |.  EB 06         jmp     short freecell.010024BA     点移动整列的时候处理
010024B4  |>  6A 01         push    1                                ;  Case C9 of switch 0100249E
010024B6  |.  EB 02         jmp     short freecell.010024BA     移动单张时候处理
010024B8  |>  6A FF         push    -1                               ;  Case 2 of switch 0100249E  取消的时候处理
010024BA  |>  FF75 08       push    [arg.1]                          ; |hWnd
010024BD  |.  FF15 6C110001 call    dword ptr ds:[<&USER32.EndDialog>; \EndDialog
原来将结果压栈

那我们就模拟一下吧将
01002490  |.  2D 10010000   sub     eax, 110                         ;  Switch (cases 110..111)
01002495      74 2E         je      short freecell.010024C5       110的时候处理  也就是WM_INITDIALOG
将此处跳转直接改到 处理 点击整列的地方
01002495   . /EB 1D         jmp     short C.010024B4    这样改
只要这个对话框创建的时候 就会直接处理  到 按移动整列的地方

保存之后运行  讨厌的对话框终于没有了  是不是移牌的时候快了许多

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 1
打赏
分享
最新回复 (3)
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
nbw 24 2004-11-27 19:44
2
0
学习!
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
shoooo 16 2004-11-27 20:11
3
0
哈哈,这个游戏我喜欢玩的
雪    币: 383
活跃值: (786)
能力值: ( LV12,RANK:730 )
在线值:
发帖
回帖
粉丝
askformore 18 2004-11-28 17:40
4
0
初始化有时(在玩花招)提花时间的。。。:)
游客
登录 | 注册 方可回帖
返回