首页
社区
课程
招聘
[求助]写CheatEngine TUT第7关的BOT
发表于: 2008-12-11 20:11 9257

[求助]写CheatEngine TUT第7关的BOT

2008-12-11 20:11
9257
想写个CE TUT 代码注入那关的BOT 但是不知道用vb或者delphi7怎么写,,请问各位大侠该怎么写?

代码如下:

alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)

00456c13:
jmp newmem
nop
returnhere:

newmem: //this is allocated memory, you have read,write,execute access
//place your code here


originalcode:
dec [ebx+0000030c]
add [ebx+0000030c],3
exit:
jmp returnhere



那个申请空间的不知道怎么写。 还有
originalcode:
XXXX
又该如何表示

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
昨天我也玩了下Cheat Engine
你这步我是直接用Cheat Engine搞的
step 8没通过,不知道总共有多少step啊
2008-12-11 21:46
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
step 8 是多级指针
2008-12-12 07:43
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
第8步是4级指针!
我也没通过!很难!
也不知道那出错了!网上的教程都是一个人的版本!尝试了还是通过不了!
2009-1-10 09:07
0
雪    币: 496
活跃值: (2168)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
5
用VC, C++写挂技术交流群:65422642
研究cheat engine,wep,的使用,及外挂制作技术。
2009-1-15 23:48
0
雪    币: 496
活跃值: (2168)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
6
第8步教学完成步骤

1.搜索生命值

2.将找到的地址加入列表

3.在地址上点右键“找出什么读写这个地址”,然后“change Value”

4.mov [eax+18],esi ==> eax=009ca668 ==> 搜索009ca668 ==>009ca5ec

5. Add address manually ==> Point => Pointer: 009ca5ec, Offset:18 => OK =>P->009ca680

6. 在列表项 P->009ca680 上点右键 => Find out what accresses this pointer => Change Value

7. mov eax, [eax] eax: 009ca668 ==> 搜索009ca668 ==> 009ca5ec ==> 009ca5c4

8. 编辑列表项 P->009ca680,添加指针项,Pointer: 009ca5c4, Offset:0 => OK

9. 在列表项 P->009ca680 上点右键 => Find out what accresses this pointer => Change Value

10. mov eas, [eax+14] => eax: 009ca5ec => 009ca5c4 => 计算:009ca5c4-14=009ca5b0 => 搜索009ca5b0 => 009ca544

11. 编辑列表项 P->009ca680,添加指针项,Pointer: 009ca544, Offset:14 => OK

12. 在列表项 P->009ca680 上点右键 => Find out what accresses this pointer => Change Value

13. mov eax, [eax+0c] =>eax: 009ca5b0 => 009ca544 => 计算:009ca5b0-c=009ca538 => 搜索009ca538 => 0045cc18(绿色显示)

14. 编辑列表项 P->009ca680,添加指针项,Pointer: 0045cc18, Offset:c => OK

最后,将数值改为5000,本步教学终于算是完成了。

文章来自:用VC, C++写挂技术交流群:65422642
2009-1-15 23:50
0
雪    币: 181
活跃值: (56)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个是网上找的一篇比较详细的教程了,我就是按这个找到的,
1.搜索生命值
2.将找到的地址加入列表
3.在地址上点右键“找出什么读写这个地址”,然后“change Value”
4.得出:mov [eax+18],esi   ::eax=009ca668
搜索009ca668 得出  009ca5ec
解释:在009ca5ec中存放了009ca668这个地址  程序运行时 再mov eax, 009ca5ec
因为eax是寄存器 所以要得到eax的值必须得到传值给它的地址。等下我们就必须找出又是谁把值给的009ca5ec
现在先来记录一下我们刚刚找出的一级基址009ca5ec和一级指针P->009ca680。一级偏移为18.
5. Add address manually ==> Point => Pointer: 009ca5ec, Offset:18 => OK =>P->009ca680
解释:创建[eax+18]指针P  即P指向地址009ca680  P指向的地址的值(即009ca680的值)就是血的值
现在开始通过009ca5ec找出存放它的二级指针
6. 在列表项 P->009ca680 上点右键 => Find out what accresses this pointer => Change Value
解释:找出正在读该指针的进程。(我们给一个指针赋值的例子:int ***p=5,在赋值的过程中P的值是不会变的 但是需要读取P的值才能知道整型存放的地址在什么地方 所以我们使用Find out what accresses this pointer 找出谁在读这个地址)

7. mov eax, [eax] eax: 009ca668 ==> 搜索009ca668 ==> 009ca5ec ==> 009ca5c4
解释:通过改变血 我们得到以上指令  同4的解释  我们知道eax: 009ca668
(注意令第一个eax为eax1: 009ca668:, eax2: 009ca5ec  mov eax2,009ca5c4)
通过搜索009ca5ec得到009ca5c4。我们得知009ca5c4存放了009ca5ec
从而得到了二级基址,那为什么我们不用一级基址009ca5c4直接搜索二级基址009ca5ec
等下我们看了第10步就会明白了,提示我们还要考虑偏移量的问题。
所以我们得出了二级基址009ca5c4和二级指针P->009ca680。二级偏移地址为0
8. 编辑列表项 P->009ca680,添加指针项,Pointer: 009ca5c4, Offset:0 => OK
现在开始通过009ca5c4找出存放它的三级指针
9. 在列表项 P->009ca680 上点右键 => Find out what accresses this pointer => Change Value
10. mov eax, [eax+14] => eax: 009ca5ec => 009ca5c4 => 计算:009ca5c4-14=009ca5b0 => 搜索009ca5b0 => 009ca544
解释:(注意令第一个eax为eax1: 009 ca5ec:, eax2: 009ca5b0  mov eax2, 009ca544)
要想知道7中留下的问题吗?其实就是在[eax2+14]中,009ca5c4中的值是[eax2+14],所以要得到eax2的值必须减去14。
我们就得出了三级基址009ca544和三级指针P->009ca680。三级偏移是14
11. 编辑列表项 P->009ca680,添加指针项,Pointer: 009ca544, Offset:14 => OK
12. 在列表项 P->009ca680 上点右键 => Find out what accresses this pointer => Change Value
13. mov eax, [eax+0c] =>eax: 009ca5b0 => 009ca544 => 计算:009ca5b0-c=009ca538 => 搜索009ca538 => 0045cc18(绿色显示)
解释:这步骤的解释就和10中完全一样了  要解释的就是0045cc18(绿色显示)  绿色显示就是说这个地址是静态的(就是不会改变的地址) 英文意思就是congratulations
14. 编辑列表项 P->009ca680,添加指针项,Pointer: 0045cc18, Offset:c => OK
最后,将数值改为5000,本步教学终于算是完成了。
15.最后 血=[[[[[[[四级基址(就是绿色的)+四级偏移]]+三级偏移]]+二级偏移]]+一级偏移]
2009-10-4 15:21
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个我一次行通过,没什么意思
2009-10-6 12:54
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
看了5,6篇9关英文终于搞过去了
2009-12-11 15:38
0
雪    币: 219
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
Step 8的指针寻址过程,用汇编描述就是下面的样子:
mov eax, [00460C20h] ;一个常量地址,是固定不变的
mov eax, [eax+0ch]
mov eax, [eax+14h]
mov eax, [eax]
mov eax, [eax+18h]   ;执行完这一条指令后,eax就是具体的数值了

我是顺着一层一层的指针找上去的,每次都查谁访问了这个指针,这样就找到了这个指针的上一层,一直找到顶。
2010-1-15 04:40
0
游客
登录 | 注册 方可回帖
返回