找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 43344|回复: 65

强制读写进程内存的一点研究成果

 火... [复制链接]

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2010-11-17 18:22:45 | 显示全部楼层 |阅读模式
压缩包中有两份源码:
1.纯VB杀死XT/PN/IL/TY等带有自我保护的程序
2.读写被Hook KeStackAttachProcess保护的进程内存(可过GPK,已经拿游戏《龙之谷》测试过)
由于懒得打字,原理请自行通过阅读源码获得。

src.rar

280.37 KB, 阅读权限: 10, 下载次数: 311

售价: 10 水晶币  [记录]

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
 楼主| 发表于 2010-11-17 18:27:09 | 显示全部楼层
沙发自己坐,有问题的欢迎提问。
没有阅读权限的请看这里:http://www.m5home.com/bbs/forum.php?mod=viewthread&tid=4478&extra=page%3D1

另外,搜到一篇很给力的文章:http://amyz.itpub.net/post/34151/412552
不切换进程,直接访问其他进程的地址空间
可惜现在没有时间,否则一定测试一下。
本网站最菜的人 该用户已被删除
发表于 2010-11-19 22:13:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2010-11-20 20:39:01 | 显示全部楼层
........扫雷还能用外挂,汗一个.

高级只用4秒就完成,这太恐怖了.{:3_44:}
我就是嗷嗷叫的老马了......

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-20 21:04:40 | 显示全部楼层
2.读写被Hook KeStackAttachProcess保护的进程内存

这个是什么意思?

已经被hook了?

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-20 21:07:39 | 显示全部楼层
最好解释一下第二个

怎么都是扫雷的?

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
 楼主| 发表于 2010-11-21 09:33:02 | 显示全部楼层
回复 ok100fen 的帖子

1.开启“扫雷”,开启“扫雷反外挂”并对“扫雷”的进程进行保护,会提示保护成功
2.开启“扫雷外挂”,选择“自动扫雷”,按下“扫描”按钮,输入“扫雷”的进程ID,会提示出错
3.开启“扫雷外挂增强器”,输入“扫雷”的进程ID,会弹出“傀儡进程”的进程ID
4.开启“扫雷外挂”,选择“自动扫雷”,按下“扫描”按钮,输入“傀儡进程”的进程ID
5.扫雷游戏会在三秒钟之内结束并提示破了“扫雷英雄榜”的记录

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
 楼主| 发表于 2010-11-21 09:36:13 | 显示全部楼层
回复 ok100fen 的帖子

通过Hook KeStackAttachProcess能保护进程内存不被别的进程读写
我的程序绕过这种防护方式
扫雷只是个例子
我总不能发个《龙之谷》上来给你测试吧?

评分

参与人数 1水晶币 +10 +10 收起 理由
ok100fen + 10 + 10 你这么一说,我就明白了

查看全部评分

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-21 11:44:25 | 显示全部楼层
原来这样啊

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
 楼主| 发表于 2010-11-21 16:59:11 | 显示全部楼层
悲剧。。。
又有人为了下载源码恶意灌水,下载完后声都不吭一下就走了。。。

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-21 21:16:20 | 显示全部楼层
呵呵,稍微高一点就好了

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
 楼主| 发表于 2010-11-21 22:13:54 | 显示全部楼层
回复 ok100fen 的帖子

发出来就是为了共享,不怕别人下载,只是不喜欢下载完都不打声招呼的人,给我的感觉像偷东西。

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-22 12:49:10 | 显示全部楼层
向老马学习


90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-22 22:46:22 | 显示全部楼层
那个“驱动保护扫雷”编译不了
出现很多错误

错误如下:


BUILD: Computing Include file dependencies:
BUILD: Examining c:\驱动保护扫雷 directory for files to compile.
Compiling (NoSync) c:\驱动保护扫雷 directory ********************
'nmake.exe /nologo BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 NOPASS0=1 386=1'
cl -nologo -Ii386\ -I. -II:\qd1\inc\mfc42 -I. -Iobjchk_wxp_x86\i386 -II:\qd1\inc\wxp -II:\qd1\inc\wxp -II:\qd1\inc\ddk\wxp -II:\qd1\inc\ddk\wdm\wxp -II:\qd1\inc\crt -D_X86_=1 -Di386=1  -DSTD_CALL -DCONDITION_HANDLING=1   -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=0x0501 /DWINVER=0x0501 -D_WIN32_IE=0x0603    -DWIN32_LEAN_AND_MEAN=1 -DDEVL=1 -DDBG=1 -D__BUILDMACHINE__=WinDDK -DFPO=0  -DNDEBUG -D_DLL=1      /c /Zl /Zp8 /Gy /Gm- -cbstring /W3 /WX /Gz  /GX-  /GR- /GF /GS /G6 /Ze /Gi- /QIfdiv- /hotpatch -Z7 /Od /Oi  /Oy-   -FII:\qd1\inc\wxp\warning.h   .\inlinekestackattachprocess.c
inlinekestackattachprocess.c
c:\驱动保护扫雷\struct.h(324) : error C2061: syntax error : identifier 'EX_RUNDOWN_REF'
c:\驱动保护扫雷\struct.h(346) : error C2059: syntax error : '}'
c:\驱动保护扫雷\struct.h(587) : error C2061: syntax error : identifier 'EX_RUNDOWN_REF'
c:\驱动保护扫雷\struct.h(628) : warning C4094: untagged 'union' declared no symbols
c:\驱动保护扫雷\struct.h(694) : warning C4094: untagged 'union' declared no symbols
c:\驱动保护扫雷\struct.h(700) : error C2059: syntax error : '}'
c:\驱动保护扫雷\inlinekestackattachprocess.c(66) : error C2488: 'OriginalKeStackAttachProcess' : 'naked' can only be applied to non-member function definitions

Stop.
Compile errors: not linking c:\驱动保护扫雷 directory ********************

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-22 22:47:05 | 显示全部楼层
好像这个struct.h有点问题

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-22 23:52:54 | 显示全部楼层
以上问题已经自己解决了

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-22 23:54:46 | 显示全部楼层
不过,还有一个新的问题:

解释一下这几句代码

Private Sub Command1_Click()
    'On Error Resume Next
    MyExeId = RunEXE("calc.exe")
    MyExeEP = PsLookupProcessByProcessId(MyExeId) ': MsgBox Hex$(MyExeEP), , "MyExeEP"
    TkExeId = CLng(Text1.Text)
    TkExeEP = PsLookupProcessByProcessId(TkExeId) ': MsgBox Hex$(TkExeEP), , "TkExeEP"
    DumpKernelMemoryEx MyExeEP + &H18, 4, VarPtr(o_dtb(0))
    DumpKernelMemoryEx TkExeEP + &H18, 4, VarPtr(dtb(0))
    ModifyKernelMemoryEx MyExeEP + &H18, 4, VarPtr(dtb(0))
    MsgBox "OK!", vbInformation, "傀儡进程的ID是:" & CStr(MyExeId)
End Sub

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-22 23:55:28 | 显示全部楼层
尤其是这个函数:
RunEXE

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
 楼主| 发表于 2010-11-23 00:14:01 | 显示全部楼层
回复 ok100fen 的帖子

就是启动一个新进程(什么程序无所谓),返回其PID。在创建进程时,使用了CREATE_SUSPEND参数。

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
 楼主| 发表于 2010-11-23 00:17:07 | 显示全部楼层
回复 ok100fen 的帖子

把傀儡进程的的页目录修改成目标进程的页目录->修改傀儡进程的内存就是修改了目标进程的内存!
页目录偏移:EPROCESS+0x10(2k/xp/2k3/vista/2k8/7)

5

主题

47

回帖

0

精华

铜牌会员

积分
210
发表于 2010-11-23 22:38:33 | 显示全部楼层
终于想起密码了...{:3_48:}
前天注册个新号来逛逛,发现没权限 ,然后花几分钟写了个自动发帖刷论坛积分,结果刚到100多积分还没来得及下呢就被封IP了...{:3_47:}
不过看了下面解释..也不用下了{:3_48:} 自己写好了

点评

小子又注册马甲,sunboy就是你吧,skyboyCN也是你吧。。。  发表于 2010-11-24 09:54

5

主题

47

回帖

0

精华

铜牌会员

积分
210
发表于 2010-11-23 22:41:44 | 显示全部楼层
回复 ok100fen 的帖子

启动新进程使用了CREATE_SUSPEND参数,就是让进程一启动就自动挂起嘛.这样方便EPROCESS+0x10
然后在对新启动的进程操作,修改了新进程的内存就等于修改了你要杀的那个进程的内存.要结束你要结束的进程,那就破坏内存嘛 反正随便怎么改

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-23 23:00:51 | 显示全部楼层
还是没太明白啊

为什么EPROCESS+0x10就是那个傀儡进程?

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
 楼主| 发表于 2010-11-24 09:42:47 | 显示全部楼层
回复 Lgc小孩修电脑 的帖子

那个人竟然是你!!!:@

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
 楼主| 发表于 2010-11-24 09:43:17 | 显示全部楼层
回复 ok100fen 的帖子

汗,代码都给出来了,还问我啊。。。

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-24 21:02:43 | 显示全部楼层
进一步解释解释啊

哈哈,俺太笨啦

5

主题

47

回帖

0

精华

铜牌会员

积分
210
发表于 2010-11-24 22:02:57 | 显示全部楼层
回复 Lgc小孩修电脑 的帖子

什么又注册马甲...我第一次注册...{:3_44:} 好久没来了

5

主题

47

回帖

0

精华

铜牌会员

积分
210
发表于 2010-11-24 22:04:35 | 显示全部楼层
回复 ok100fen 的帖子

解释什么?

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-24 23:14:48 | 显示全部楼层
Lgc小孩修电脑 发表于 2010-11-24 22:04
回复 ok100fen 的帖子

解释什么?

就是把那个代码的用处解释一下啊

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-25 13:13:25 | 显示全部楼层
Tesla.Angela 发表于 2010-11-23 00:14
回复 ok100fen 的帖子

就是启动一个新进程(什么程序无所谓),返回其PID。在创建进程时,使用了CREATE_SU ...

不明白,
这方面的知识应该学些什么?
也就是说,怎么才能创建一个新的进程?

思路是不是这样的:
1.创建一个新的进程
2.把原来进程的那部分内存copy到新的进程所在的内存,也就是把被hook的那个函数重新移位了,这样修改没被hook的,就可以了
3.不知道我理解的对不对

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
 楼主| 发表于 2010-11-25 14:01:37 | 显示全部楼层
回复 ok100fen 的帖子

完全不对。。。
我真的不知道如何解释了,你去问xiaoly99吧。

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-11-25 17:43:35 | 显示全部楼层
就想问你
因为你说的我能听懂
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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