首页
社区
课程
招聘
[求助]问一个比价弱的问题。没有脱壳的程序能否读到他真正的运行空间内存。
发表于: 2009-3-24 11:37 2997

[求助]问一个比价弱的问题。没有脱壳的程序能否读到他真正的运行空间内存。

2009-3-24 11:37
2997
简单的说,我想学习一下外挂。仙剑oline目前作为学习的例子。发现他vmp1.7的壳。而且CE5.5根本无法打开他的进程pal.exe。打开后CE就被关闭了,我写过一个通过Detour openProcess函数来屏蔽可能打开CE进程,然后进行关闭的程序No KILL(有模仿嫌疑,已经有前人写了,我只是修改而已)。但是不起作用。但是仙剑online的外挂的确已经存在,而且不存在替换可执行文件的情况(我的理解应该是没有脱壳,否则脱壳后应该替换已经的可执行文件)。所以我想可能有不脱壳就能读取运行空间内存和call的方法。望大牛们指点一下

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
虽然我不玩网络游戏,也没搞过外挂,不过据我所知网络游戏一般都用商业的保护系统,一般会有内核级的保护的,不是简单的关闭你的调试器进程这么简单。如果无法调试进程,通常是这种情况。
2009-3-24 13:47
0
雪    币: 170
活跃值: (45)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
这个似乎和有没有脱壳并不存在直接关系,一个程序不管怎么加壳,都要被壳解码后才能运行,读写进程内存的函数肯定是可以用的,只不过一般有保护的游戏都会对这几个函数进行内核级的HOOK,所以你必须首先去掉SSDT HOOK和INLINE HOOK,否则你的程序就很可能无法读取游戏内存数据了,不过要是编写驱动程序自己实现NTWriteProcessMemory和NTReadProcessMemory也应该可以的。
2009-3-24 14:49
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
书呆彭:首先谢谢你的回答,我补充一下,我不清楚CE的打开进程是如何打开的,但是我自己写了一个openProcess的小程序区实验,是能够打开的,就是简单的那种枚举系统进程,然后根据进程名获取process id,然后openProcess的程序,而且可以readProcessMemory。用金山游戏可以搜索该进程。但是找不到指定的变量(有可能是他对数据进行了加密,让我找不到。我的理解是这样)目前不知道如何入手。

chzhn:有没有工具可以判定SSDT HOOK和INLINE HOOK是否被修改呢?否则只能自己写了
2009-3-24 16:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
chzhn:杀毒软件也会用到SSDT HOOK和INLINE HOOK是,我如何确定SSDT HOOK和INLINE HOOK是谁的?
2009-3-24 16:50
0
雪    币: 170
活跃值: (45)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
你可以用wsyscheck或冰刃(我没用过)这个工具,用wsyscheck可以看到SSDT HOOK的驱动程序,根据驱动程序可以看出是杀毒还是游戏的HOOK的。
2009-3-24 17:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
谢谢,楼上各位
2009-3-25 08:35
0
游客
登录 | 注册 方可回帖
返回
//