最近也在学着修改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++源代码免杀之函数的动态调用相关推荐

  1. [源码]Delphi源码免杀之函数动态调用 实现免杀的下载者

    [免杀]Delphi源码免杀之函数动态调用 实现免杀的下载者 2013-12-30 23:44:21         来源:K8拉登哥哥's Blog   自己编译这份代码看看 过N多杀软  没什么技 ...

  2. VC++中Depends工具的使用和DLL函数的动态调用方式示例

    VC++中Depends工具:Depends用来显示与一个可执行文件(exe或者dll)相关的依赖项(动态链接库dll),以及该exe或dll引用了这些dll中的哪些接口,同时也可以看到每个被依赖的d ...

  3. php 动态修改函数,php – 动态调用函数

    是的你可以: $varFunction(); 要么: call_user_func($varFunction); 确保您为恶意输入验证$varFunction. 编辑: 对于您的模块,请考虑这样的(取 ...

  4. pyinstaller打包逆向分析,顺便免杀Windows Defender

    微信公众号:乌鸦安全 扫取二维码获取更多信息! 1. python3利用shellcode免杀火绒 1.1 什么是shellcode 在攻击中,shellcode是一段用于利用软件漏洞的有效负载,sh ...

  5. c语言免杀程序源码,Window下基于C/C++源码免杀理论及思路(新手篇)

    作者:冷锋(LengF) [BHST] 博客:www.81sec.com      时间:2011-5-22 0x00 概述 最近搞一个国外的网站,对方是用的赛门铁克的诺顿杀毒软件,而内网又只对外开放 ...

  6. shell 免杀aspx_Webshell免杀

    一句话木马 在渗透测试中最常用的就是一句话后门(小马)和中国菜刀的配合.如果出现某种WAF防护,就寻找一个免杀的大马挂马. 最常见的php一句话木马<?php   @eval($_POST['x ...

  7. 远控免杀专题7 ---shellter免杀

    0x01 免杀能力一览表 几点说明: 1.上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass. 2.为了更好的对比效果,大部分测试payload均使用msf的windows/met ...

  8. 免杀实战之面向PHP的WebShell免杀

    0X00普通的一句话木马 <pre id="PTXkG"><?php eval($_POST['a']); ?> //函数的相似替换 <?php as ...

  9. TideSec远控免杀学习三(Venom+Shellter)

    参考链接: 利用meterpreter下的Venom免杀后门:https://www.cnblogs.com/wh4am1/p/7469625.html 免杀后门venom :https://www. ...

最新文章

  1. java控制台编程_java用Console开发控制台程序
  2. CSS3的过渡和动画
  3. python读取大文件-强悍的Python读取大文件的解决方案
  4. Windows环境下node.js的安装和配置
  5. python算法与数据结构-顺序表(39)
  6. ubantu自启脚本
  7. 论中国和欧洲程序员对加班的态度
  8. winform的UI设计关键属性汇总
  9. 信息学奥赛一本通(1133:输出亲朋字符串)
  10. 7-49 判断素数 (10 分)
  11. 《从NLP反作弊技术看马蜂窝注水事件》笔记
  12. 服务器硬盘和台式机有什么区别,服务器和电脑主机有什么区别?
  13. 黄梯云,李一军.管理信息系统(第七版)[M].北京:高等教育出版社,2019.8 课后二维码选择题
  14. 别人眼中的程序猿和现实中的程序猿差别在哪?
  15. 教教大家Win10怎么看处理器是几核
  16. 报错 Missing number, treated as zero. \begin{subfigure}{0.24\linewidth}?怎么解决
  17. 【渗透测试】你应该了解的大部分工具![本文仅供了解]
  18. # 工欲善其事必先利其器-C语言拓展--嵌入式C语言(八)
  19. android低电量提示,Android P系统低电量提醒功能 根据使用情况判断充电时间
  20. 4399曹政:解密中国互联网

热门文章

  1. shiro的内部体系结构
  2. POI的入门:加载解析Excel
  3. 工厂方法 coding
  4. log4j 2.x 架构
  5. linux中wget命令出现错误,(转)linux中wget未找到命令
  6. django为什么需要子进程,如何关闭子进程,linux状态
  7. java版spring cloud+spring boot+redis多租户社交电子商务平台(三)SpringBoot用JdbcTemplates访问Mysql...
  8. windows下mysql的数据备份
  9. 内存映射MMAP和DMA【转】
  10. Java(第十五章)