国外的杀毒软件一般会把特征码定位在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

最新文章

  1. Web性能优化:What? Why? How?
  2. C#中,switch case语句中多个值匹配一个代码块的写法
  3. C# Httpclient编程
  4. 高性能完成端口socket服务(IOCP)
  5. document cookie用法
  6. Android View体系
  7. Linux C double linked for any data type
  8. Qt的gzip模块实现
  9. sqlserver分页;mysql分页;orcale分页 的sql 查询语句
  10. 深入理解querySelector(All)
  11. ajax删除数据(不跳转页面)
  12. (6)javascript的程序控制结构及语句-----(1)条件判断
  13. [ASP.NET MVC]笔记(一)模型和HTML辅助方法
  14. PySocks安装使用方法
  15. 浅谈HTTP协议与TCP协议
  16. day02python基本数据类型
  17. Java8中String.join方法
  18. numpy行转列
  19. BBS--后台管理页面,编辑文章,xss攻击
  20. Linq to entity 执行多个字段排序的方法

热门文章

  1. RatingBar星级拖动条
  2. React开发后台管理系统
  3. .Net WCF服务部署IIS详细解析
  4. windows下使用zkui
  5. 转:怎么用Sql语句获取一个数据库中的所有表的名字
  6. CSS从大图中抠图然后显示其中的一部分
  7. C++中类型强制转换
  8. Linux虚拟机--进入MySQL报错的解决办法
  9. centos7下mongoDB安装和配置
  10. SpringCloud搭建注册中心与服务注册