C++源码免杀小记

如何利用十行C++代码,绕过杀毒软件实现免杀? 我相信大部分的读者都会同意这个观点,绕过大部分杀毒软件的基本方法都很平常没什么特殊的。然而,我也偶尔会遇到一些人仅仅依靠工具生成二进制文件,这些文件很容易被杀毒软件通过指纹标记出来。本文主要是为这些人所准备的。 下面是小编整理好的一套C/C++资料,加小编C/C++编程学习群825414254,获取系统性学习C/C++的学习资料 在我们开始接触这段小巧的 C++ 代码前,我想先介绍一个可以非常... 阅读详情

 

        之前发了篇贴子关于特征码免杀的,不过,看回贴都希望发点关于特征码定位的,本人菜鸟一只,平时一点小积累,不敢独藏,写出来分享一下。不废话了,直接

上菜。

    源码定位特征码后所需修改的特征码大致有四种:

    1、指令 2、字串 3、启发特征 4、函数 (输出表 )。

  初步确定特征码后可随意上汇编指令:__asm nop;  花指令。可随意在代码段中添加,无所谓多少。本来花指令就是冗余代码。当然,也可以在源码中添加花指令,要具备一定的汇编

基础知识才行。

    有人把特征码定位分为3类:工具定位,代码定位,手工定位。个人认为分两类就行了,一个是工具定位,一个是手定位。

  当然,如果你经常在基地里学习,基地里的某大师的Gh0st 源码课程资料中有记录.手工定位特征码!该大师的特征码定位方法,同样适用于Visual C++ 源码免杀中进行定位。

工具定位:

    MyCLL、MutiCLL特征码定位工具,很实用的。相信有一定认识免杀基础的朋友都懂如何利用MyCCL 、MutiCCL 进行定位,这里我也就不去记那么点废话,学会就行了。

手工定位:

    其实手工定位中又可以分为几种定位:比如二进制文件特征码,无特征码定位、源码定位,纯属个人认知,如有不同,望见谅。

    对二进制文件特征码或无特征码定位,直接甩工具,在些不多说,如果各位想要教程,改天再发。今天主要说一下手工源码免杀。

    手工定位方法:

    其实要定位特征码方法都是一样的,无论是源码还是二进制文件,无非就是构造意外代码。在C++中构造意外代码最直接莫过于return。这个代码牛啊,如果你感觉哪一块被报了,直接

在其在加个return false;或return;。加后如果被杀表明被报代码在return之前,如果没被报,那不表明特征码在return 之后。依以逐步查找,总能找到被报代码,找到后再改就OK了。 

    

   这样就定位到了哈,定位到后我们该如何去改呢?

   这方法多了去了,简单说几种啊,其他的大家搜一下就OK了,在基地里提供的方法也多了去了。

过高启发的可以用

try{

...

}

catch(...)

{

...

}

在try中搞点异常代码,把被杀的代码写到catch(...)中,一般杀软对catch(...){...}中的代码是不做分析的,这样不就可以过高启发。

另外可以在代码前加花指令,诸如

__asm

{

 nop

...

}

这样的,花指令网上一把一把的,自己找去。

还有就是如果被报的是API函数,这时该怎么办呢?

怎么办,动态获取API地址罢,Loadlibrary(),GetProAddress(...)。

还有,有人反应字符串被报。我晕,像这个wsprintf(czExp, "%s\\%s", czExp1, "Explorer.exe");现在杀软,哎,有点变态。哦,不是有点,是很变态。

他要报这个,你就想着法的给他变个方式。不就是格式化个字符串吗,方法多了去了

wsprintf(czExp, "%s\\", czExp1);  //格式化字串是两个东西

lstrcat(czExp, "Explorer.exe");

其实归根究底总结就两字:动态

他报你这样,你给他变成那样就行了。

结语:些篇仅为个人见解,如有不同或误解,望高手大虾们给予指正,小弟在些感激流涕。另能加精加精,不能就算了,别让他沉了就行啊,权当交流。读到的帮顶下,在些谢过。


keil 5 : Error: L6218E: Undefined symbol 问题解决方法小记 最近学习嵌入式开发,因项目框架较大,部分内容改动,在将别人单独写的串口读取数据源码添加到工程中后,编译出现以下问题: 通过查询资料,都是在说未定义引下的错误。 回头检查项目,源文件加入到工程,头文件也已包含。而后多次尝试编译,未果;关闭重启,亦未果。。。 询求正点原子技术支持,远程协助,还是未能解决。。。 编译通不过,调试无法进行,苦恼一天。。。。 后来,多次将源文件多项目中删除后重... 阅读详情

相关推荐

红蓝对抗----免杀原理和绕过研究

前言(更新版) 世面上很多的杀软免杀文章,但经过笔者实战,发现一个问题,会有很多方法推荐给你,例如加壳,加花指令等等的方式。本来不会被查杀的程序,被加壳后还被查杀了。这对新手十分不友好。那么有没有一种实战性强(既免杀率高,免杀效果持久),一站式的免杀流程和方案来让你制作免杀。并且该免杀方案还能保持一些原则来增加程序的免杀持久性。答案是有。接下来我们将在该系列中介绍一种一站式免杀流程和方案,让新手更快的学会和应用。 在该系列文章中将静态免杀和动态免杀,划分方式为是否运行程序。主要分为以下两种情况: 1.

SHELLCODE_8BIT的博客 1214

【特征码定位器】

初衷:研究漏洞,病毒分析; 很多.exe/.dll 被杀毒软件无情的杀掉; 但是我们却不知道为什么会被它们扼杀在摇篮里面; 怎么办?死可以死,但是想要知道怎么死的,那我们就用特征码定位工具来找找看; 看是在内存的哪个位置,被杀掉的;利于后期分析; 使用:来看看是哪里被杀掉了; 一、准备工作 1.1:关闭杀毒软件,微软自带的也关掉; 1.2:准备一个被杀掉的exe或dll文件,来分析它; 二、制作/载入目标程序 2.1:打开特征码定位工具,点击制作目标程序,会在同路径下生成一个加了”.new“后缀名的文件;

PE_Hacker的博客 2931

特征码定位工具

这款特征码软件相比较于ccl有很大的改善,新增复合特征码定位。具体的使用方法,可以上网看。

Punti特征码定位器(原SignatureTest) 2022 Q1V1

Punti 特征码定位器 2022 Q1V1 SignatureTest定位器现正式更名为Punti,仍然开源,希望大家能善用这款工具用于研究而不是搞破坏。 功能更新 修正了菜单中复制特征码时空选的错误。 软件截图 下载地址 链接:https://pan.baidu.com/s/1sc-clAn_XzObutb8Tu-Ypw 提取码:hpny 法律相关声明 请在道德及法律允许的范围内进行研究及使用本软件。请勿将代码用于商业用途及非授权的其他性质用途,违者属于侵犯作者本人的

YoseZang的博客 1581

MPC-CBF 控制原理详解

假设系统满足如下离散时间动力学模型xt1fxtutxt∈Xut∈Uxt1​fxt​ut​xt​∈Xut​∈Uxtx_txt​:状态变量,定义域为可行状态集X⊆RnX⊆Rnutu_tut​:控制输入,定义域为控制约束集U⊆RmU⊆Rm系统需满足安全约束,由如下控制障碍函数(CBF)hX→RhX→RCx∈X∣hx≥0C:=x∈X∣hx≥。

m0_54691290的博客 1179

MT6826SGT-STD-R绝对值编码器深度解析:精准控制+灵活编程

本文详细介绍MT品牌的高性能绝对值编码器——MT6826SGT-STD-R。:区别于传统增量式编码器,绝对值输出无需掉电归零,开机即获准确位置数据。的核心优势,结合应用场景与选型指南,为工程师提供一站式解决方案参考。MT6826SGT-STD-R是一款专为工业级精密控制设计的。该设备广泛应用于伺服系统、机器人关节校准、自动化产线等领域。:15bit分辨率实现细腻的位置反馈;:通过专用编写器可自定义多项关键参数;:优化电路设计,适应复杂电磁环境。

2501_93066786的博客 676

小记CPP文件编译工具

区分于理解gcc、g++、make、cmake、makefile、cmakelist 1、gcc与g++ gcc于g++都属于GNU Compiler Collection(就是GNU的编译套件),也可以简单认为就是编译器,它可以编译C、C++\Objective-C、Fortean、Java等多种语言。 在实际使用中,我们更习惯用gcc指令编译C语言程序,使用g++指令编译C++代码,但是gcc 指令也可以用来编译 C++ 程序,同样 g++ 指令也可以用

qq_51976130的博客 736

H.264 Profile与Level详解:如何为不同应用场景选择合适的编码配置

本文深入解析了H.264编码标准中的Profile与Level概念,指导开发者如何为不同应用场景选择合适的配置。文章对比了Baseline、Main和High三大Profile的特性与适用场景,并解释了Level如何限定视频的分辨率、帧率与码率上限。通过实战指南,帮助读者在视频通话、在线点播和专业制作等场景中,平衡画质、兼容性与性能,实现高效编码。

rgv2345678的博客 238

【C++编译过程小记】

C++编译过程的一个小小的记录,发现有错误的话后续会进行修改。

weixin_45063111的博客 1262

字节跳动程序媛教你如何刷算法题:面试手撕代码我就没怕过

本人上一次刷题还是大一的C语言期末考试……但是面试中算法考核截止上岸前一直保持着100%正确率的光辉记录。 本文将给你指明一条刷题的决胜指南。并从算法的重要性、题库的选择以及刷题的三大步骤分别进行讲解,彻底解决你所有关于面试算法所有的困扰。

Stay Hungry Stay Foolish 求知若饥 虚心若愚 2万+

OpenClaw实现多agent协作研究

本文介绍了如何构建多agent协作系统,通过飞书机器人实现任务分配与执行。系统包含三个agent:research_leader(总调度)、research_content(内容生成)和research_review(内容审核)。详细说明了agent配置方法(包括创建命令、权限设置)、飞书channel绑定方式,以及通过共享目录和会话机制实现协作。最后展示了应用示例,用户只需向leader机器人下达任务,系统即可自动完成内容生成和审核的全流程。

hhue2007的专栏 617

sfm三维重建源码_OpenMVG源码阅读小记

“读一份好源码,就是和许多智慧的人谈话“。本文记录了笔者学习 openMVG 开源软件的一些初步经验和心得。如果你对计算机视觉和摄影测量有兴趣,需要用到相关技术,这篇文章正好就是你的菜。全文约4500字,含11副图,阅读时间大约13分钟。觉得有用可以转发给身边同学、朋友,如有不同意见欢迎在后台留言与我探讨。整理/撰写: calman 校稿/排版: 迷途兄 测试环境 : Windows 7 64位 ...

weixin_39975486的博客 2619

1、深入解析OTA/gm - C滤波器架构与设计

本文深入探讨了OTA/gm-C滤波器的架构与设计方法,涵盖了从基本构建模块到高阶滤波器实现的多种技术。重点分析了双积分器环路结构(如Tow-Thomas和KHN滤波器)的工作原理、性能特点及OTA非理想特性对滤波器的影响,并介绍了降低寄生效应、提升动态范围的方法。文章还讨论了基于LC梯形仿真、多环反馈和电流模式的gm-C滤波器设计,以及自动调谐技术在频率稳定性中的应用。最后总结了不同类型gm-C滤波器的优缺点及其适用场景,为高频集成连续时间滤波器的设计提供了全面的技术参考。

fanta的博客 185

C++ const成员函数小记

前言 今天在看《STL源码解析》并仿写queue时,遇到一个我经常会混淆的问题,如下: template <class T, deque<T> > class queue { …… public: // 非const成员函数,返回数据的引用 reference front() { return c.front(); } // const成员函数,返回数据的常量引用 const_reference front() const { return c.front(); }

Johnsonjjj的博客 315

C# MVVM的“核武器”:CommunityToolkit.Mvvm的RelayCommand实战全解

你默默打开VS:“该用RelayCommand的‘量子纠缠’魔法了!用户点击按钮无响应,调试器显示命令未绑定,但代码看起来完美无缺。“我的MVVM应用?那可是能穿越线程的命令量子计算机!异步操作阻塞了UI线程,用户界面变成“加载中”死循环。:UI与业务逻辑通过命令“量子隧道”解耦。:所有长时间操作自动进入“量子跃迁”模式。:携带任意上下文的“量子信封”传递。:命令可用性随数据变化实时同步。

java专栏 663

【Java 实战】通过Redis实现购物车功能

以上就是今天要讲的内容,本文仅仅简单介绍了如何通过Redis实现购物车功能,以上方法亲测有效,希望能给大家一个参考。

~~~~~~~BUG FLY~~~~~~~~~ 9969

pytorch padding_PyTorch源码小记-卷积

  这篇文章主要是之前一段时间的总结,内容是有关PyTorch中卷积部分的源码。文章不会很透彻的去研究源码,只是大概地总结一下,主要内容有:PyTorch-拓展模块PyTorch对于卷积的内部实现为什么有了cudnn还需要PyTorch实现卷积?  很感谢网上的优质博客,正是因为有了知识的共享,人们的生活质量才会不断提高~  本人参考源码实现的卷积链接: [点我跳转],为PyTorch exten...

weixin_39860975的博客 441

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C++容器的clear操作及其对象析构操作之小记

因为在大学没有好好的研究过数据结构,现在重新拾起,好好的学习一下。最近在写线性表的顺序实现时遇到了一个小问题:对于一个已经存在有数据的线性表,如何将线性表置空?也就是如何来实现ClearList()函数? 一,clear问题的引出 先约定一下线性表的数据类型: 1.  typedef int ElemType;                  //定义数据结构元

booster123456789的专栏 3985

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

STL源码阅读小记(一)——Allocator

Allocator前言STL版本AllocatorAllocator本体allocate函数deallocate函数construct函数与destroy函数小结 个人博客备份 前言 最近开始阅读stl源码刨析一书,但是总觉得光看书是否有的不妥,便想着拉一份libc++的源码来看看现在的stl源码。大致想看完stl源码刨析中的内容,在看看C++11之后的一些内容是怎么实现的。不过开始阅读就遇到挺多困难,查手册能解决一大部分,还有一些为了性能而做的优化因为c++水平不足,就不一定能看的出来。总而言之这算是我自

ninesnow_c的博客 825

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C++学习小记(C、C++函数之间相互调用)

有时我们会遇到以下问题。 我们想在C++文件中调用定义在C文件中的函数,或者说想在C文件中调用在C++文件中定义的函数。 如果我们只是简单的调用,那么编译器是不会允许我们这么做的,这是由于编译器对于C和C++函数的处理机制的不同而造成的。 C语言定义的函数在经过编译之后函数名的前面被加上了下划线。 例如:main函数经过编译后函数名就变成了 _main; 然而对于C++中

Anying_define的专栏 1189

UE5引擎源码小记 —反射信息注册过程

最近看了看反射相关的知识,用不说一点人话的方式来说,反射是程序在运行中能够动态获取修改或调用自身属性的东西。一开始我是觉得反射用处好像不大,后续查了下一些反射的使用环境,发现我格局小了,我觉得用处不大的原因是我从c++的角度来考虑使用反射,在c++中确实用处不大,但是捏,把格局打开,要从更上一层的视角来看反射,不要局限于c++,比如我们要使用c++以外的东西调用c++,比如配置文件,蓝图,python,lua这些去调c++,或是设计到编辑器功能的时候,这时候反射就是极为好用方便的一个特性。

ninesnow_c的博客 1089

C++11中的 "enable_if"小记

std::enable_if

电影旅行敲代码 1万+

android studio 调试c/c++代码小记

使用的android studio3.0.1版本,sdk 27. 新建的测试程序,勾选了c++支持,默认有native_lib.cpp。 1.在cpp中添加了测试的native代码,提示No implementation found for错误,怎么看都跟之前的默认函数没啥区别啊,于是盯着简单cpp代码逐行扫描。。。。。5分钟后,我去,自动生成的代码extern c竟然没有跟{},所以默认函数...

f120854632的博客 3073

Chrome学习小记2:GN构建系统小记

本文介绍了Chrome构建系统GN的基本概念和使用方法。GN作为Google开发的meta-build系统,专注于快速生成Ninja构建文件,适合大型多平台项目。文章阐述了GN的定位、架构特点,包括声明式构建脚本、依赖图管理、参数配置和模板功能。通过Chrome项目实例,展示了常用命令如生成构建目录、设置参数、查看目标等。最后以一个可执行文件构建配置为例,详细解析了executable、testonly、sources、deps等关键字段的含义和用法。GN在Google生态项目中广泛应用,但需注意其与Nin

charlie114514191的博客 1336

STL源码阅读小记(五)——Shared_ptr

前言 感觉好久没看stl了,中间跑去看图形学入门了,图形学是真的有趣,但是也是真难,不过接着补坑,把unique_ptr的好兄弟shared_ptr也看了。 STL版本 本文所使用的stl版本为libc++ 13.0,属于LLVM项目。 LLVM项目Github 如果遇到不熟悉的宏定义可以参考文档Symbol Visibility Macros Shared_ptr 应该算是c++中的老熟人,应该绝大部分人应该使用过,或者在面试中见过它,对它的引用计数器印象深刻吧。这次我们看看stl的源码中shared_p

ninesnow_c的博客 1175

libojc小记

clang, libojc, dyld 的关系 clang 可以 -rewrite-objc libobjc.A.dylib 是一个动态库,向上是OC的运行时环境, MachO 编译完成时,会看到 _objc_classname, _objc_methodname, _objc_methtype section IDA查看libojc.A.dylib , 发现道出了大量 __objc_* 的接口和少量的数据,所以肯定确定 clang 在编译 oc文件的时候,会把oc转换成c/c++接口进行编译。 一些好文章

我多么希望明天有太阳,来灼烧我腐烂的梦想 479
上一篇: C/C++指针超级总结
下一篇: IIS6.0下文件名解析漏洞
lbjayo
博客等级 码龄19年 9粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lbjayo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值