【发布时间】:2014-08-11 13:23:56
【问题描述】:
我正在尝试学习如何修改 windows PE 并制作打包程序。我目前所做的是获取一个 exe 文件,向其中添加一个新部分并将 oep 更改为该新部分。该新部分的唯一作用是跳回文件的原始地址。这是新部分的代码:
__asm {
pushad
mov eax, 0x0044F125 //oep
jmp eax
}
如您所见,我必须对 oep 地址进行硬编码。有什么方法可以存储或计算 oep?
【问题讨论】:
-
为什么要计算它?是静态的吗?你将如何计算它?您提议的计算的输入是什么?
-
如果我的问题不正确,我很抱歉,但我只想知道如何找回 oep
-
当您更改了 oep 时,您已经更改了它。 AFAIK 它只存储一次(在扩展标题中)。
-
这是我看到的一些文件注入器,它们都改变了 oep,甚至 upx 也能做到,但最后它们都把它改回来了怎么办?? rohitab.com/discuss/topic/33006-detailed-guide-to-pe-infection
-
要么记住这个值,要么用魔法恢复它。
标签: c++ windows assembly portable-executable