基础:如何用OD找到Hello World的main函数

首先从百度上下载一个Hello World的文件,如下图所示。当然,你也可以自己使用vc6.0或vc2012自己写一个Hello World的文件,至于怎么写我就不详细描述了,不会的可以自己百度,很简单的。 在这里插入图片描述OD调试用到的一些基本指令

| 指令 | 快捷键 | 含义 |
Restart | Ctrl+F2 | 重新开始调试
Step Into | F7 | 执行一句命令,若遇到CALL命令,则进入函数代码内部
Step Over | F7 | 执行一句命令,若遇到CALL命令,仅仅执行函数自身,并不跟随进入函数内部。
Execute till Return | Ctrl+F9 | 在函数代码内部时运行,一直遇到RETN返回命令,从而跳出CALL函数。

一 用OD打开Hello World.EXE文件

下面是我的OD打开的初始界面在这里插入图片描述先选择OD界面左上角的文件,选择打开,然后找到你下载/编写好的Hello World.EXE的文件。在这里插入图片描述

文件打开后如下图所示

程序断在了004011A1这个地址,这个地址即为Hello Worl.exe执行的起始地址,我们从这个地方开始进行调试

在这里插入图片描述

首先,我们点击F7,进入004011A1地址处的CALL函数

在这里插入图片描述

进去后我们并没有看到和main函数有关的信息,因此我们选择使用CTRL+F9跳出函数。当我们跳转到RETN时,可以选择使用F7或F8,运行RETN命令,从而跳出004011A1处的CALL函数。

在这里插入图片描述

当我们从函数中出来后,我们会发现我们现在跳转到了004011A6处的JMP函数。然后我们F7进入JMP函数。在这里插入图片描述
进入后我们发现我们在00401026这个地址,使用F8,我们跳过这个函数。下面有两个CALL函数,我们先跟进第一个看看,使用F7进入。这时我们会发现,0040102D函数内部同样没有我们所要找的main函数的信息,因此我们CTRL+F9,跳出,和上述方法一样。在这里插入图片描述
继续跟进下一个CALL函数,F7跟进。进去后我们会发现同样没有什么东西,因此我们选择跳出,使用相同的方法继续往下走。在这里插入图片描述
然后我们一直往下跟,就这样我们跟到了0040111F处的CALL函数,进去看看。在这里插入图片描述
进去后我们发现这里面就是我们所需要的main函数在这里插入图片描述
继续往下跟,到0040100E处的CALL函数。这个地方是微软官方的一个API,让它执行后就是我们的信息框了在这里插入图片描述
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值