读书人

怎么扩大一个节

发布时间: 2012-02-02 23:57:14 作者: rapoo

如何扩大一个节
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修改的章节。

读书人网 >汇编语言

热点推荐