首页
社区
课程
招聘
[注意]【各路菊苣、莴苣、神仙速进!!】
发表于: 2017-12-10 23:06 3339

[注意]【各路菊苣、莴苣、神仙速进!!】

2017-12-10 23:06
3339

  VS2010下,用VirtualAllocEx在其他程序进程分配内存后,用WriteProcessMemory写入自己的代码,最后再用CreateRemoteThread执行。这个代码只能用内联汇编来写吗?用C/C++写的代码不行吗(不用dll的话)???


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 174
活跃值: (62)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
写一段shellcode就可以了
2017-12-11 09:04
0
雪    币: 102
活跃值: (462)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
应该可以吧
2017-12-11 10:04
0
雪    币: 1825
活跃值: (5354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Goldtulip 写一段shellcode就可以了
直接把C/C++写的函数的地址传给WriteProcessMemory不行吗?
2017-12-11 12:18
0
雪    币: 16
活跃值: (477)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
关于这个远程写入的代码是否只能用内联汇编来写,  核心问题在于你是否把完整的代码写入到了目标进程中.
如果你c函数中不包含外部引用,  则你拷贝过去&执行,  是不会有问题的.  这里的外部引用包括但不限于  全局变量/  api引用/
而你若是一个c函数,  函数内仅仅几个if  else  for循环等语句,  就这样你拷贝到目标进程并执行是不会有问题的,  而真实情况下这样的函数能做的有限.
2017-12-11 14:07
0
雪    币: 1825
活跃值: (5354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
LOVEJX 关于这个远程写入的代码是否只能用内联汇编来写, 核心问题在于你是否把完整的代码写入到了目标进程中. 如果你c函数中不包含外部引用, 则你拷贝过去&执行, 是不会有问题的. 这里的外部引用包括 ...
3Q!不能包含外部引用我理解。但是调用WINAPI也不可以吗?
2017-12-11 17:14
0
雪    币: 129
活跃值: (407)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
BeholdSnow 3Q!不能包含外部引用我理解。但是调用WINAPI也不可以吗?
你需要先保证目标进程加载了API所在的DLL.  并且你能拿到API所在DLL的基址.  然后你可以直接通过汇编  call  基址+函数偏移  的方式,  或者定义一个函数指针  FUN_PTR  a  =  基址+函数偏移;  然后  a(参数1,  参数2,  ...);  这种得吧.  重点在于你自己进程与目标进程的各种基址是不同的.  最简单的方式就是你需要一段汇编代码来修正,  这段汇编代码通常叫做shellcode,  以确保你注入的代码可以正常运行.
2017-12-12 09:48
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
关键在于  你本地编译后  写入到远线程  需不需要重定位  用shellcode    可以自己构造不需要重定位的函数
2017-12-14 19:17
0
游客
登录 | 注册 方可回帖
返回
//