第一章
从可执行文件提取有用信息的多种方法,包括以下技术:
1.使用反病毒软件来确认程序样本的恶意性;
2.使用哈希来识别恶意代码;
3.从文件的字符串列表,函数和文件头信息中发掘有用信息。
字符串包括 ASCII 和Unicode俩种编码
加壳 混淆之后的程序字符串可供打印的字符串会减少。
链接库与函数 通过导入表可以帮助我们了解链接那些代码库
1.6.2
常见的dll程序
Kernel32.dll 常见的dll,它包含核心系统功能,如访问内存,文件,硬件等等
Advapi32.dll 对核心windows组件的访问,比如服务管理器,注册表
User32.dll 包含所有用户界面组件,如按钮,滚动条,以及响应程序操作的组件
Gdi32.dll 图形显示和操作的函数
Ntdll.dll windows内核的接口,kernel32.dll间接导入,如果一个可执行文件导入
了这个文件,这意味作者企图使用那些不是正常提供给windows程序使用的函
数。一些如隐藏功能和操作进程等任务会使用这个接口
Wsock32.dll和Ws2_32.dll 俩个联网的dll,访问其中任一个的程序非常可能链接网络
,或者执行和网络相关的任务。
Wininet.dll 更高层次的网络函数, 如FTP,HTTP,NTP等协议。
函数命名约定
后面加A或者W表明只是可以接受字符串的参数,搜索api的时候可以去掉
1.6.4 导出函数
dll导出,可以被其他程序调用,
课后作业
Lab 1-1
这个实验使用Lab01-01.exe和Lab01-01.dll文件,使用本章描述的工具和技术来获取关于这些文件的信息。
问题
1.将文件上传至 virusTotal.com进行分析查看报告,文件匹配到已有的反病毒软件的特征吗?
A:可以成功匹配到反病毒的特征
2.这些文件是什么时候编译的?
A:通过查看pe文件头可以查看编译时间。
3.这俩个文件中是否存在迹象说明它们是否被加壳或混淆了?如果是,这些迹象在哪里?
A:经过exeinfo pe查看之后没有发现加壳迹象。
4.是否有导入函数显示出了这个恶意代码是做什么