首页
社区
课程
招聘
[求助]dll注入后怎么读写内存?
发表于: 2016-8-11 10:08 21207

[求助]dll注入后怎么读写内存?

2016-8-11 10:08
21207
收藏
免费 0
支持
分享
最新回复 (58)
雪    币: 41
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
HOOK 系统dll的API?通过这API执行注入的代码?这样GetCurrentProcess()这类的不会变成自己的进程吗
2016-8-11 11:47
0
雪    币: 32
活跃值: (564)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
注入后直接用汇编取
用PDWORD^等取
2016-8-11 12:08
0
雪    币: 110
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
大家都没理解这小兄弟的意思

是注入DLL后,怎么和自己的exe互动通信

绕过读写检测

各位兄弟觉得这方法的效率,可以有 ReadProcessMemory 效率高不

已易语言乱J8高强度读写,这方法应该不及 ReadProcessMemory 效率

下面兄弟继续
2016-8-11 12:25
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
29
只要你的代码能被执行, 目的就达到了, 后续如何完全看你操作, 比如改主进程代码来跳到自己的代码, 建立线程, 建立事件触发等等, 这取决于你的目的, 并不就一定要求常驻, 有些patch启动时改一次就完事了, 后面的事情还需去理会?
2016-8-11 13:06
0
雪    币: 407
活跃值: (2064)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
dll注入成功后,那么这个dll就被加载到目标进程的地址空间,此时ReadProcessMemory和WriteProcessMemory操作的就是目标进程的内存,如错需要和自己的进程通信,就用管道,邮槽,文件读写之类的东西
2016-8-11 13:16
0
雪    币: 335
活跃值: (175)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
你的 dll 注入到了别的进程中之后,进程的内存就是 dll 的内存,你的 dll 就可以直接访问进程的内存了,比如 *(int*)0x123456 = 0。
2016-8-11 15:57
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
1、你注入的DLL在被注入进程中,本身就是一个独立线程,即使你注入的DLLMAIN不执行完毕,也不会影响宿主进程的运行。

2、通常指的main执行完毕确实是程序结束,但是通常窗口程序还有一个winproc,没事干的时候他在不停的取消息,你不给他exit消息,他是不会结束的。

3、读写内存,你的dll已经进入对方进程呢,因为进程内存空间的共享,所以你可以随意读取。指针也好memcpy也好,完全随你喜好。简单的说,一个贼已经开了锁,进了门,想怎样随你乐意,你要偷钱,找到钱放在哪里,伸手拿就好了。

4、在你需要的时候操作被注入进程,你可以在DLL创建窗口,注入后打开,随后你把需要的都放这个窗口的按钮上,需要你就点一下,放一个textbox,完成你所谓的通讯。哪怕在找个目录写txt都行吧?端口监听呢?各种花式。
2016-8-11 17:22
0
雪    币: 41
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
大神有没有不创建线程通讯的方法
2016-8-11 18:40
0
雪    币: 110
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
效率没系统直接读写搞,满足不了易语言那变态循环的

做下测试互动下,还可以
2016-8-12 00:21
0
雪    币: 18
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
很多方法吧 可以远线程启动自己的函数
2016-8-12 15:52
0
雪    币: 240
活跃值: (26)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
36
这个去看下windows程序运行时的内存空间就知道了,先补保护模式的知识,再补PE知识,然后是DLL加载和重定位知识。DLL加载后内存某段会映射到程序的内存空间,然后就想读什么想写什么看权限和心情了。一般注入后,DLL自己会加载原DLL,然后用户程序call一个function,把参数拿到,自己处理下,传给原来的DLL让程序正常运行,从而达到监听数据的目的。
2016-8-14 19:23
0
雪    币: 2862
活跃值: (1338)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
37
dll 加载到对方程序上,此时你的dll和目标程序是在弄一个进程,也就是共享一份内存地址空间,你想怎么弄就怎么弄呗
2016-8-14 22:14
0
雪    币: 14
活跃值: (72)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
即然Dll都注入了,直接指针读写就可以了,快捷方便。

delphi:
pbyte($0045608e)^:=$90;//汇篇中NOP

C++:
    __byte *test;
        test=( __byte *)0x0045608e;
    *test=0x90;
2016-8-15 16:05
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
进程和DLL的关系,搞懂就OK了
2016-8-17 12:35
0
雪    币: 157
活跃值: (63)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
我感觉你们都没回答到点子上去,dll里面可以创建窗口,窗口上可以有个按钮,单击按钮,你就可以干任何事情了
2016-8-17 12:46
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
不创建线程通讯的办法很多,我一般用SOCKET
流程 DLL注入以后作为客户端链接到自己的服务端EXE
然后你想要做什么就在DLL里面响应EXE的响应的通讯请求
2016-8-28 15:28
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
这个办法有点落后了适合拿来测试
但是要达到一台机器控制几百太机器正常运行还是要用SOCKET的
2016-8-28 15:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
注入:我一般用的有3种 1.首先在目标申请内存,然后向申请到的内存写入你的DLL文件路径,然后取得目标进程的LoadLibrary函数的地址,然后再用创建远程线程函数CreateRemoteThread,函数地址传LoadLibrary地址,函数参数传你申请到的写入了DLL路径的内存地址,GetExitCodeThread可以得到LoadLibrary返回值。
2.就是消息钩子,还有其他。
3.修改目标进入的导入表,导入表里插入你的DLL一个导出函数就可以了。

进入了目标进程,你读写内存不就向读写本进程的内存一样吗?
2016-8-28 15:49
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
进程通讯,不创建线程,那你就创建共享内存,内存结构为一个通讯消息数组,发送时向数据加入一个成员,而接收端接收取出数据后删除此数组成员。
2016-8-28 15:56
0
雪    币: 7
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
建议楼主举个读取失败的例子,这样大家也好讨论
2016-8-30 07:33
0
雪    币: 230
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
46
DLL 用TCP,或者 UDP 通讯!
2016-9-5 18:51
0
雪    币: 19
活跃值: (128)
能力值: ( LV9,RANK:146 )
在线值:
发帖
回帖
粉丝
47
别天天逛看雪论坛,吾爱论坛VC驿站了,可以出去旅旅游,看看书,跑跑步 散散心 ,和自己的朋友说说交心话 ,你会发现,还是搞代码有意思
2016-10-17 17:13
0
雪    币: 1384
活跃值: (4248)
能力值: ( LV7,RANK:140 )
在线值:
发帖
回帖
粉丝
48
不创建新线程的方法也有,hook某函数或者某段代码,当程序运行到那里,就会执行你的代码,执行完了就回去了。
或者异常处理
2016-10-17 17:53
0
雪    币: 14
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
49
其实楼上也都说的差不多了
1. 创建线程
2. Hook你关心的内容的相关代码
2016-10-19 09:15
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
asm读写啊
2016-12-3 11:38
0
游客
登录 | 注册 方可回帖
返回