【问题标题】:PE File InjectionPE文件注入
【发布时间】:2015-08-15 04:32:26
【问题描述】:

我的项目有问题。我想在任何程序中插入我的代码。我解释了情况:我的程序获取文件(PE 类型)并从第一节开始异或数据到最后一节。然后我在最后一节下载了我的 ASM 代码,它可以解码这些数据。我将最后一节标记为(写入、执行、数据)。我的 ASM 代码:

mov eax, /*I insert address of the beginning of the first section*/
mov ebx, /* I insert orginal EntryPoint (need to use jmp in the end)*/
mov cx, /*I insert number of bytes between Last Section and First*/
DO:
    mov ch, [eax]
    xor ch,2
    mov [eax], ch
    inc eax
    loop DO
jmp ebx

我修复了VirtualSizeSizeOfRawData(每个人都加 24 + 对齐)。我还更改了SizeOfImageBaseOfCode(这里我写了新地址我的asm 代码(pLastSectHeader->Misc.VirtualSize))。

但是当我运行我的应用程序(我注入的)时我遇到了问题。请帮我解决我的问题 :) 我试着做这几周。

P.S 我在普通 C + WinAPI 上的代码 http://pastebin.com/Q4EJvM2J

【问题讨论】:

  • 欢迎来到 Stack Overflow!您可能想查看how to ask a question。正确格式化您的问题将大大有助于获得您正在寻找的答案。
  • 祝您好运说服反恶意软件,您这样做是出于好意。

标签: c winapi assembly code-injection portable-executable


【解决方案1】:

checx 的一部分,因此您正在覆盖您的计数器。此外,x86 允许xor 带有内存操作数,所以只需使用xor byte [eax], 2。此外,您应该加载ecx 而不仅仅是cx,因为loop 使用了所有ecx

请注意,如果您尝试解密的部分未标记为可写,您也会在那里遇到问题。

学习使用调试器,下次提供比“我在运行我的应用程序时遇到问题”更好的问题。

【讨论】:

  • 非常感谢!我明白你的言论。但也许你对为什么我的 PE 文件无效有一些想法?我在帖子中留下了我的代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-25
  • 2016-11-14
  • 2016-02-16
  • 1970-01-01
  • 2019-11-30
  • 1970-01-01
相关资源
最近更新 更多