| 发表于:2007-07-08 15:29:293楼 得分:0 |
只是片段: 假设已经读入原pe文件所有信息,image_nt_header,image_section_header 设:image_nt_header *nth; image_section_header *scnh,*p; // nth和scnh已经读入 增加区块代码: p = scnh + (++nth-> fileheader.numberofsections);//指向增加的那个 p-> virtualaddress = align((p-1)-> virtualaddress,scnh-> optionalheader.sectionalignment);//调用一个函数,求出对齐后数值 p-> misc.virtualsize = 0x1000;// ms编译器默认大小 p-> pointertorawdata = (p-1)-> pointertorawdata + (p-1)-> sizeofrawdata; p-> sizeofrawdata = 0x200;// ms编译器默认大小 //其余赋值成0 p-> flags = image_scn_cnt_code ;//可以执行 nth-> optionalheader.imagesize = p-> virtualaddress + p-> misc.virtualsize; //调整景象大小 //完成区块的增加 | | |
|