dll注入其他进程后`如何隐藏自己dll的模块?
就比如dll文件名为aaa.dll ```注入后``用od等调试器加载后``可以看到有一个名为aaa的模块(就是自己的dll的模块)
请问一下如何在注入后`无论是用调试器还是用module32first/module32next之类的函数都无法找出自己的模块?````
就比如dll文件名为aaa.dll ```注入后``用od等调试器加载后``可以看到有一个名为aaa的模块(就是自己的dll的模块)
请问一下如何在注入后`无论是用调试器还是用module32first/module32next之类的函数都无法找出自己的模块?````
解决方案 »
- 串口发送WriteToPort同步问题请教
- 如何在vc静态划分的窗口中添加tab控件
- combobox如何包含一个显示值和一个真实值?
- 在知道鼠标的坐标情况下,怎样得到24位的BMP图像中的RGB值?
- 如何自定义字体对话框?(CFontDialog)
- 忽略所有的default lib?? vc link中有上面的选项.
- 我想要找人做几张软件界面的图片,该找谁或什么公司,会是什么价格,大家推荐一下(拜托)
- 请问各位~现在学什么、学到什么程度或者干什么、在哪里干能年薪十万或者更多~多谢参加讨论~~:)
- 请教哪位大虾:如何用visual c++制作opengl动画???
- 用VC操作数据库的问题,大家帮帮忙啊!!
- 期待高手:有谁知道Windows任务管理器中进程的虚拟内存大小具体是什么意思?怎么才能计算出来?
- 求助汉字转换成拼音的问题
可以直接往进程中写入可执行代码,参考<<Win32汇编语言程序设计>>,罗云彬 写的
代码段明显增长会不会很容易被发现?
To:yjgx007(听妈妈的话)
可以再详细一点吗?
代码段明显增长会不会很容易被发现?
=====不会,他不是往静态exe文件中写,而是直接往正在运行的进程中写入可执行代码,比如往explorer进程中写入你要执行的代码,写完后你自己的进程就可以退出了,只要机器不重启,你的代码将一直在explorer里面运行,当然,这种方式你需要写一个程序执行注入操作,每次机器重启后执行一次注入操作,执行完后你的程序就可以退出了,你的代码将一直在别人的进程里执行。
当然也可以修改静态EXE文件,根据PE文件格式,你可以自己在原文件后面加入你的代码,一般是让修改后的EXE先执行你的代码,再执行它原来的,但这种方式容易被杀毒软件当作病毒处理。
但是dll的代码很长``如果逐句翻译为机器码来写进内存的话,工程是不是大了点?或者还有其他便捷的方法远程写入代码?
提供两个思路:
1.hook API代码网上有,自己找找,rootkit和木马里常用
2.另一个传说中的办法,先注入,找到本dll的内存,copy一份,在进程内另开一片内存,写进去。然后把自己FreeLibraryAndExitThread(),把刚才那个copy代码执行起来。这样自己代码执行了,但进程里是没有模块的。