《恶意代码分析实战》学习笔记(1)
2015-09-13 17:27
225 查看
[b]第一章 静态分析技术[/b]
常见的DLL程序
Windows平台可执行PE文件中的分节
PE文件头信息
常见的DLL程序
DLL | 描述 |
Kernel32.dll | 包含系统的核心功能,如访问和操作内存、文件和硬件 |
Advapi32.dll | 提供了对核心Windows组件的访问,比如服务管理器和注册表 |
User32.dll | 包含了所有用户界面组件,如按钮、滚动条以及控制和响应用户操作的组件 |
Gdi32.dll | 包含了图形显示和操作的函数 |
Ntdll.dll | Windows内核的接口。可执行文件通常不直接导入这个函数,而是由Kernel32.dll间接导入,如果一个可执行文件导入了这个文件,这意味着作者企图使用那些不是正常提供给Windows程序使用的函数.一些如隐藏功能和操作进程等任务会使用这个接口 |
Wsock32.dll | 联网DLL,或是执行网络相关的任务 |
Ws2_32.dll | 同上 |
Wininet.dll | 包含了更高层次的网络函数,实现了如FTP HTTP NTP等协议 |
分节名称 | 描述 |
.text | 包含可执行代码 |
.rdata | 包含程序中可访问的只读数据 |
.data | 存储程序中都可以访问的全局数据 |
.idata | 有时会显示和存储导入函数信息,如果这个节不存在,导入函数信息会存储在.rdata节中 |
.edata | 有时会显示和存储导出函数信息,如果这个节不存在,导入函数信息会存储在.rdata节中 |
.pdata | 只在64位可执行文件中存在,存储异常处理信息 |
.rsrc | 存储可执行文件所需的资源 |
.reloc | 包含用来重定位库文件的信息 |
信息域 | 揭示的信息 |
导入函数 | 恶意代码使用了库中的哪些函数 |
导出函数 | 恶意代码期望被其他程序或库所调用的函数 |
时间戳 | 程序编译的时间 |
分节 | 文件分节的名称以及他们在磁盘与内存中的大小 |
子系统 | 指示程序是一个命令行还是一个图形界面的程序 |
资源 | 字符串 图标 菜单项和文件中包含的其他信息 |
相关文章推荐
- 关于spring整合hibernate 懒加载异常解决方案
- GitHub常用命令总结
- 良好的编程习惯(一)
- Java I/O重定向
- Spring MVC POST中文乱码解决方案
- python random 从集合中随机选择元素
- Asp.Net MVC 合并js或css请求
- patchca整合Spring MVC生成超炫的验证码
- Java jdbc数据库连接池
- java项目采用exe4j打包成exe档
- 手写的java实体类和json转化。
- C++中 常量引用、指向常量的指针、常量指针的区别
- POJ C++程序设计 编程题#3:计算数列平方和
- 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
- Effective C++——条款35(第6章)
- Spring配置Hibernate框架事务
- 重构与模式:改善代码三部曲中的第三部
- Java订单号生成工具(实现一)基于对象锁
- java 彩票系统
- spring aop