首先从百度上下载一个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,让它执行后就是我们的信息框了

基础:如何用OD找到Hello World的main函数相关推荐

  1. 反汇编基础-MSVC2012,2008,MinGw中控制台main函数入口特征

    目录 理论 MSVC2012 MSVC2008 MinGW 理论 断点的作用:当程序运行到断点处就会暂停,并将程序接下来的处理权交给这个程序的调试器,调试器就拥有了被调试程序中获取相关信息的权利,在某 ...

  2. 关于如何用od反汇编win32 控制台程序

    *********************************************************** 如何用od反汇编win32 控制台程序(类似dos程序)呢? ********* ...

  3. Python|装饰器|执行时间|递归|动态属性|静态方法和类|继承和多态|isinstance类型判断|溢出|“魔法”方法|语言基础50课:学习记录(6)-函数的高级应用、面向对象编程、进阶及应用

    文章目录 系列目录 原项目地址: 第16课:函数的高级应用 装饰器(记录执行时间的例子) 递归调用 简单的总结 第17课:面向对象编程入门 类和对象 定义类 创建和使用对象 初始化方法 打印对象 面向 ...

  4. T-SQL的基础:超越基础6级:使用CASE表达式和IIF函数

                                                                                                        ...

  5. [C/C++基础知识] main函数的参数argc和argv

    该篇文章主要是关于C++\C语言最基础的main函数的参数知识,是学习C++或C语言都必备的知识点.不知道你是否知道该知识?希望对大家有所帮助. 一.main()函数参数 通常我们在写主函数时都是vo ...

  6. C语言 main 函数参数 main(int argc, char *argv[]) - C语言零基础入门教程

    目录 一.main 函数写法 二.main 函数参数简介 三.使用 main 函数参数 1.打印 main 函数参数 a.直接运行 exe 文件 b.打开 cmd 命令行窗口执行 exe 文件 c.打 ...

  7. C语言 main 函数 - C语言零基础入门教程

    目录 一.main 函数简介 二.main 函数写法 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.main 函数简介 main 函 ...

  8. 菜鸟学习笔记:Java基础篇5(抽象类与接口、回调函数、内部类)

    菜鸟学习笔记:Java面向对象篇下 抽象类 接口 回调函数 内部类 成员内部类 匿名内部类 抽象类 通过前面知识的学习,抽象类这个概念应该不难理解,但比较容易和后面要说的接口混淆,而且在面试中也比较爱 ...

  9. Dart基础知识之main()函数介绍

    Dart基础知识之main()函数介绍 main()函数 main()函数,这是一种特殊的.必需的顶级函数,应用程序从这里开始执行(重要)!!! print()函数 显示输出,把内容显示在屏幕上 字符 ...

最新文章

  1. asp.net MVC3 无法打开项目文件“E:\我们的项目\Project\HeatingMIS.Web\HeatingMIS.Web.csproj”。此安装不支持该项目类型。...
  2. calcBackProject函数(搜索小物体的位置)
  3. 利用Web Services实现软件自动升级
  4. Linux CentOS7 rsync通过服务同步、linux系统日志、screen工具
  5. 解决java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor问题
  6. DevOps到底是什么鬼?DevOps介绍及工具推荐
  7. ZUI – 开源HTML5跨屏框架
  8. SQL Agent服务无法启动如何破
  9. (二)cmockery中run_tests.c分析
  10. 镇魂街武神躯怎么修改服务器,镇魂街武神躯怎么重置守护灵_守护灵重置方法_3DM手游...
  11. Mac下安装配置Tomcat 9, Homebrew安装Tomcat
  12. wps/word中怎么插入各种水平分隔线
  13. 技嘉 AORUS RTX2080显卡光线追踪技术详解
  14. 在苹果Mac上如何隐藏桌面图标?
  15. PPT制作毛玻璃效果
  16. 今天完成了股票自动化交易软件1.2版本了
  17. Android 获取世界时区
  18. MySQL数据库——语句
  19. java对比俩个word文件内容差异
  20. js点击下载文件的几种情况

热门文章

  1. 记录_20190712
  2. java+python+nodejs设备配件采购报修进销存管理系统
  3. ufunc ‘isnan‘ not supported for the input types, and the inputs could not be safely
  4. 转--孟岩《理解矩阵》
  5. JUC-9.“锁”事(显式锁与隐式锁/悲观锁与乐观锁/公平锁与非公平锁/可重入锁/读写锁(独占/共享/降级)/邮戳锁/死锁)、锁升级
  6. php编程狼和兔子山洞,一天,一只兔子在山洞前写论文, 一只狼走了过来,问:“兔子啊,你在干什么?” 兔。。。...
  7. 读取 DTC 信息服务 (0x19) – UDS 协议
  8. 结合DDE指标来分析成本分布的重要作用
  9. 机器学习:评价指标:分类问题、回归问题、排序问题
  10. spark调优面试专题