gpt4 book ai didi

c++ - 用 Ollydbg 编辑程序

转载 作者:可可西里 更新时间:2023-11-01 10:23:58 27 4
gpt4 key购买 nike

这是我的 C++ 代码:

#include <conio.h>
#include <iostream>

using namespace std;

void func1()
{
static int _count = 0;
if (_count < 5)
{
__asm
{
pop eax
push func1
}
}

_count++;
cout << _count << endl;
}

int main()
{
func1();

cout << "ok" << endl;
return 0;
}

现在,我需要删除 asm inline。

它被加载到 Ollydbg 中,这是 asm inline 的位置: enter image description here

我将填写在图像中用 NOP 标记的两条指令。行。我知道该怎么做。然后,我用一个新名称保存了它。

但是当我将我编辑的程序加载到 Ollydbg 中时。我编辑的地方添加了新指令。

enter image description here

并且新指令使程序崩溃。

好的,如果我的问题足够清楚,我需要知道:该指令是如何自动添加的?我该如何解决?

谢谢。

更新 1:下面是我修改程序的方法 enter image description here enter image description here enter image description here enter image description here

但是..我不知道为什么? enter image description here

最佳答案

NOP 分配 1 个字节,因此用 NOPs 替换这两条指令

POP  EAX              ; 1 byte
PUSH Console.func1 ; 5 byte

你需要放 6 个 NOP 而不是 2 个。否则,你有 2 个 NOP 和 4 个字节的垃圾。

关于c++ - 用 Ollydbg 编辑程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23627425/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com