一、实验目的:
通过该实验, 使学生掌握使用PEB结构确定kernel32.dll基地址的方法与原理,通过对PE导出表结构分析来理解获取API函数地址的方法,最终通过编码完成一个没有导入表的测试程序。
二、实验步骤:
1.通过使用PEB来获得kernel32.dll的基地址
2.从获得的DLL中通过导出表检索到需要的函数地址。
3.综合整理,构造一个没有导出表的PE程序。
三、具体过程:
........中间省略了利用windbg找到kernel32的地址的过程
........中间省略了具体代码如何实现函数地址的获取的代码分析过程
下面先给出最简单的操作过程 和 实验结果:
(1)打开masm32editor,利用这个工具打开那个代码,并且点击项目中的compile&link
(2)然后,在对应文件的位置可以生成一个exe文件,就是这个代码运行的文件
执行结果如下:
(3)再利用stud_pe打开这个exe文件,按道理来说,应该时调用了msgbox函数的,但是,并没有函数导入表被检测到,所以就是没有利用导入表实现的dll函数调用的病毒成功: