首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

怎么扩大一个节

2012-02-02 
如何扩大一个节assume edi:ptr IMAGE_NT_HEADERSassume ebx:ptr IMAGE_SECTION_HEADERmov [ebx].Character

如何扩大一个节
assume edi:ptr IMAGE_NT_HEADERS
  assume ebx:ptr IMAGE_SECTION_HEADER

  mov [ebx].Characteristics,0e0000020h  
  mov eax,[ebx].Misc.VirtualSize
  push eax
  add eax,[ebx].VirtualAddress
  mov [edi].OptionalHeader.AddressOfEntryPoint,eax
  add [ebx].Misc.VirtualSize,offset _m2-offset _m1
  mov eax,[ebx].Misc.VirtualSize
  mov ecx,[edi].OptionalHeader.FileAlignment
  cdq
  div ecx
  inc eax
  mul ecx
  mov [ebx].SizeOfRawData,eax
  mov eax,[ebx].Misc.VirtualSize
  mov ecx,[edi].OptionalHeader.SectionAlignment
  cdq
  div ecx
  inc eax
  mul ecx
  add eax,[ebx].VirtualAddress
  mov [edi].OptionalHeader.SizeOfImage,eax

这段代码错在哪里啊,我想给记事本的最后节加上一段代码,可是注入后老提示不是WIN32程序,是不是这些赋值计算错了,请帮忙看下,谢谢

[解决办法]
可能你将PE头格式破坏了。

你扩大一节,注意要将原有节的大小修改,包括VA和FILE Offset,

推荐看一下《加密与解密》里面一章有相关内容

另外也可以看一下《win32汇编语言程序设计》里面有用MASM给PE修改的章节。

热点排行