从这里可以很清楚的发现磁盘文件入口在400偏移处而文件对齐是7800字节大小,实际使用的是7748字节大小,那么也就是说7800-7748=b8h空间可以供我们插入代码
2. 知道了即将插入代码的地方,那么就准备好机器码以便处理,这里我们先只修改程序入口,其余的操作以后再写。
从这里我们可以看到程序原先的入口偏移地址在739dh处,也就是说我们做完自己的处理后要跳转到这里。
B8 9D 73 00 01 ff E0
这便是
mov eax, 0100739dh
jmp eax
的机器码
3. 修改文件入口
因为文件偏移地址为400h而实际使用的字节数为7748h那么也就是说我们要在 7b49h处插入我们的代码。(再声明一次,时间有限今天只能写修改入口,至于其他操作,后面有时间的时候再继续写)
用UE打开notepade.exe,在空隙处插入我们新的入口代码
4. 修改程序入口点
因为原先的代码段偏移地址为1000h,而实际.text节大小为7748那么也就是说新的程序入口应该是7748h+1000h=8749h
修改完毕后点击Sava。
再次运行notepad.exe
没有任何异常,那么修改程序入口成功。
当然你可能认为什么都还么做呢。呵呵,入口控制权被拿到了,那么接下来就可以自由发挥了。
时间有限,下次将在今天修改的入口点给notepad.exe载入我们的dll文件,紧接着,用我们的dlll来处理记事本的翻页功能待续…