c++在进程中修改程序的名字?
展开全部
有几种无进程程序的方法更容易实现
1:远程线程注入;
2:HOOK;
3:伪造DLL(如果熟悉PE文件结构,做起来也挺简单的);
三种都是利用DLL作为程序主体,寄生在其他进程中的方法,属于比较简单的,具体可以看看WINDOW核心编程讲DLL的那部分,上面还有很多其他方法,但我觉得这三种比较简单而且灵活性也不错.缺点就是宿主进程的退出会使你的程序也退出,而且是得不到通知,不能在退出前执行善后工作,还有是由于大多数木马也是使用这种方法隐藏自己,360会提示,平常我都是用在正规功能实现上,至于怎么做免杀我没研究过.
另外还有种难度较高的方式,编写驱动,运行在高特权态的驱动可以为所欲为.缺点是驱动比较难入门,而且程序逻辑上的错误动不动就会造成机器蓝屏,我也是刚开始学驱动开发.
另外,要想真正意义上的隐藏进程,以前的WIN9X系列可以把程序注册成服务,但NT系列这种办法已经行不通了,但有其他办法,需要你非常熟悉PE文件结构,利用API拦截,拦截像NtProcessFirst,NtProcessNext,NtEnumProcess等一些函数(任务管理器等一些枚举进程的程序通常都是调用这些函数实现的),无论隐藏进程还是像你上面说的修改程序名字也是可以做到的.不过这只是理论上,这种方法我没有自己做过,而且实现也不像想像中那么简单,如你拦截了任务管理器的,那360呢?冰刃呢?每个有枚举进程功能的程序都要去拦截.
1:远程线程注入;
2:HOOK;
3:伪造DLL(如果熟悉PE文件结构,做起来也挺简单的);
三种都是利用DLL作为程序主体,寄生在其他进程中的方法,属于比较简单的,具体可以看看WINDOW核心编程讲DLL的那部分,上面还有很多其他方法,但我觉得这三种比较简单而且灵活性也不错.缺点就是宿主进程的退出会使你的程序也退出,而且是得不到通知,不能在退出前执行善后工作,还有是由于大多数木马也是使用这种方法隐藏自己,360会提示,平常我都是用在正规功能实现上,至于怎么做免杀我没研究过.
另外还有种难度较高的方式,编写驱动,运行在高特权态的驱动可以为所欲为.缺点是驱动比较难入门,而且程序逻辑上的错误动不动就会造成机器蓝屏,我也是刚开始学驱动开发.
另外,要想真正意义上的隐藏进程,以前的WIN9X系列可以把程序注册成服务,但NT系列这种办法已经行不通了,但有其他办法,需要你非常熟悉PE文件结构,利用API拦截,拦截像NtProcessFirst,NtProcessNext,NtEnumProcess等一些函数(任务管理器等一些枚举进程的程序通常都是调用这些函数实现的),无论隐藏进程还是像你上面说的修改程序名字也是可以做到的.不过这只是理论上,这种方法我没有自己做过,而且实现也不像想像中那么简单,如你拦截了任务管理器的,那360呢?冰刃呢?每个有枚举进程功能的程序都要去拦截.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询