建议在汇编解码器中,.text部分在Windows中不可写。如何使此程序集解码器作为exe从Windows中的.text部分执行和解码/异或?
将编码器转换为win 7 64的步骤> nasm -fwin64 Workingwin7messageBoxassembly.nasm -o xorencoder.obj
从obj文件中提取shellcode
插入编码器.nasm
组装编码器nasm -fwin64 encoder.nasm -o xorencoder.obj
在Windows上,使用golink创建exe。 golink \ console xorencoder.obj
运行exe并崩溃。 />当我包括从组装/链接的Workingwin7messageBoxassembly.nasm中提取的shellcode并尝试让下面的解码器调用并解码该shellcode时,这种方法会中断。下面的encode_shellcode:部分中的shellcode是在此处找到的win 7-64消息框的XORed版本。尝试对“ encoded_shellcode”的内容进行XOR时,此方法有访问冲突。可写的,以允许解码器从.text节读取以进行解码。它仍然失败。如何获取此汇编解码器进行解码?
#1 楼
我在golink
链接器中没有看到该选项,但是如果使用ie link.exe
(Microsoft(R)增量链接器版本14.11.25506.0),则可以使用/SECTION
参数指定该选项。链接/ SUBSYSTEM:CONSOLE / ENTRY:开始xor.obj /SECTION:.text,RWE 之后,如果在xdbg中显示内存映射,您将看到更改:
之后,编码器可以修改其中的代码
评论
我不明白为什么会有两个帖子针对同一问题。这个问题专门与使.text节可写有关。另一个问题是笼统的。