前提条件:
需要两个节表的大小(第一个节表存放新增节表,第二个存放40个00)
实现方法:
1、sizeofheader-(dos头+垃圾数据+DWORD Signature+PE标准头+PE可选头+NumberofSection*节表的大小(40字节))》=80字节。可以直接在最后的节表的后边添加新增节,还要将后面的40个字节置00
2、上面的空间不足80个字节的时候,DOS_STU是垃圾数据用不到,可以将后面的数据(pe标记signature+pe标准头+Pe可选头)进行迁移。使用此方法的时候记得将e_lfanew指向新的PE标记
注意事项:
1.将最后一个节表的后40个字节进行00的填充
2.修改numberofsection
3.sizeoflmage装入内存后的大小
4.修改节表里面的内容