国外的杀毒软件一般会把特征码定位在PE文件的输入表函数(也就是源码里我们调用了的API函数)上,
我们对付这种查杀的方法就是在源码里对API函数进行动态调用,对一个函数动态调用之后,本来以输入
表函数形式存在的函数变成了一个字符串,你可以发现动态调用之后这个函数以及它所在的dll都以字符
串形式存在于程序里了
API函数的动态调用例子:MessageBox
typedef int (WINAPI *MessageBoxAT) ( HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType ); MessageBoxAT pMessageBoxA= (MessageBoxAT)GetProcAddress(LoadLibrary("user32.dll"),"MessageBoxA");
如果没有使用FreeLibrary释放DLL,在系统资源不足或系统空闲时,系统就会释放
Typedef百度百科:
http://baike.baidu.com/view/1283800.htm
API函数百度百科:
http://baike.baidu.com/view/533172.htm
LoadLibrary百度百科:
http://baike.baidu.com/view/1286902.htm
GetProcAddress百度百科:
http://baike.baidu.com/view/1523523.htm