C++源代码免杀之函数的动态调用
最近也在学着修改Gh0st远控的源代码,源代码免杀起来还是方便、简单、有效和简单点。针对于输入输出表盯的比较紧的杀毒软件,最有效的还是进行函数动态调用。也就是说找到函数的原定义,包括值类型和参数等等,再在调用该函数的地方重新定义这个函数,其实也只是改下函数名而已,下面举个例子:
CreateRemoteThread 作用是创建远线程,假设杀毒软件现在就杀在这个函数上,我们就这样处理,首先在代码中右键点击CreateRemoteThread函数-->转到定义,找到函数的原型:
函数原型如下:
WINBASEAPI
__out
HANDLE
WINAPI
CreateRemoteThread(
__in HANDLE hProcess,
__in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes,
__in SIZE_T dwStackSize,
__in LPTHREAD_START_ROUTINE lpStartAddress,
__in_opt LPVOID lpParameter,
__in DWORD dwCreationFlags,
__out_opt LPDWORD lpThreadId
);
改后的函数模型如下:
typedef HANDLE (WINAPI *CreateRemoteThreadxx)
(
__in HANDLE hProcess,
__in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes,
__in SIZE_T dwStackSize,
__in LPTHREAD_START_ROUTINE lpStartAddress,
__in_opt LPVOID lpParameter,
__in DWORD dwCreationFlags,
__out_opt LPDWORD lpThreadId
);
CreateRemoteThreadxx yyCreateRemoteThread= (CreateRemoteThreadxx)GetProcAddress(LoadLibrary("kernel32.dll"),"CreateRemoteThread");
补充:有些函数原型最后面分别带得有A和W的,如果你的编译环境是ANSI环境就选择带A的那部分,如果你的环境是Unicode环境,那就选择带W的那部分。例如:GetUserName的原型有两种定义:GetUserNameA和GetUserNameW,视实际情况选择相应的函数原型进行修改就好。
修改后调用的函数名就由CreateRemoteThread变为了yyCreateRemoteThread,红色部分为自定义部分,随便你改称什么,但是要注意前后一致。蓝色的部分再可以用字符串连接法进行分离后连接,这样处理之后,杀毒软件就找不到CreateRemoteThread这个函数了。到此,文件的这处也就免杀了。一点小手记,分享给大家,见笑了。
后记:看了很多教程,都是说怎么改,没说为什么要这么改,也没说还可以怎么改,更没说改的限度是什么。一看教程里先在函数后面加个L,再在定义后的新的函数前面加个p,接着很多看了教程的人都改成那两个,做教程的人还在教程里吓唬人说“别的都不要动,这两个地方改成这样就可以了”,有时候有些事情并不难,并不可怕,难和可怕大多来自于别人的耸人听闻和对未知事物的惧怕。最后希望大家都能够放开手脚,干番大事业!搞了个垃圾站赚点外块,希望大家能支持下。
C++源代码免杀之函数的动态调用相关推荐
- [源码]Delphi源码免杀之函数动态调用 实现免杀的下载者
[免杀]Delphi源码免杀之函数动态调用 实现免杀的下载者 2013-12-30 23:44:21 来源:K8拉登哥哥's Blog 自己编译这份代码看看 过N多杀软 没什么技 ...
- VC++中Depends工具的使用和DLL函数的动态调用方式示例
VC++中Depends工具:Depends用来显示与一个可执行文件(exe或者dll)相关的依赖项(动态链接库dll),以及该exe或dll引用了这些dll中的哪些接口,同时也可以看到每个被依赖的d ...
- php 动态修改函数,php – 动态调用函数
是的你可以: $varFunction(); 要么: call_user_func($varFunction); 确保您为恶意输入验证$varFunction. 编辑: 对于您的模块,请考虑这样的(取 ...
- pyinstaller打包逆向分析,顺便免杀Windows Defender
微信公众号:乌鸦安全 扫取二维码获取更多信息! 1. python3利用shellcode免杀火绒 1.1 什么是shellcode 在攻击中,shellcode是一段用于利用软件漏洞的有效负载,sh ...
- c语言免杀程序源码,Window下基于C/C++源码免杀理论及思路(新手篇)
作者:冷锋(LengF) [BHST] 博客:www.81sec.com 时间:2011-5-22 0x00 概述 最近搞一个国外的网站,对方是用的赛门铁克的诺顿杀毒软件,而内网又只对外开放 ...
- shell 免杀aspx_Webshell免杀
一句话木马 在渗透测试中最常用的就是一句话后门(小马)和中国菜刀的配合.如果出现某种WAF防护,就寻找一个免杀的大马挂马. 最常见的php一句话木马<?php @eval($_POST['x ...
- 远控免杀专题7 ---shellter免杀
0x01 免杀能力一览表 几点说明: 1.上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass. 2.为了更好的对比效果,大部分测试payload均使用msf的windows/met ...
- 免杀实战之面向PHP的WebShell免杀
0X00普通的一句话木马 <pre id="PTXkG"><?php eval($_POST['a']); ?> //函数的相似替换 <?php as ...
- TideSec远控免杀学习三(Venom+Shellter)
参考链接: 利用meterpreter下的Venom免杀后门:https://www.cnblogs.com/wh4am1/p/7469625.html 免杀后门venom :https://www. ...
最新文章
- java控制台编程_java用Console开发控制台程序
- CSS3的过渡和动画
- python读取大文件-强悍的Python读取大文件的解决方案
- Windows环境下node.js的安装和配置
- python算法与数据结构-顺序表(39)
- ubantu自启脚本
- 论中国和欧洲程序员对加班的态度
- winform的UI设计关键属性汇总
- 信息学奥赛一本通(1133:输出亲朋字符串)
- 7-49 判断素数 (10 分)
- 《从NLP反作弊技术看马蜂窝注水事件》笔记
- 服务器硬盘和台式机有什么区别,服务器和电脑主机有什么区别?
- 黄梯云,李一军.管理信息系统(第七版)[M].北京:高等教育出版社,2019.8 课后二维码选择题
- 别人眼中的程序猿和现实中的程序猿差别在哪?
- 教教大家Win10怎么看处理器是几核
- 报错 Missing number, treated as zero. \begin{subfigure}{0.24\linewidth}?怎么解决
- 【渗透测试】你应该了解的大部分工具![本文仅供了解]
- # 工欲善其事必先利其器-C语言拓展--嵌入式C语言(八)
- android低电量提示,Android P系统低电量提醒功能 根据使用情况判断充电时间
- 4399曹政:解密中国互联网