首先就是OD载入我们的程序


然后鼠标右键,如图,找到智能搜索.


然后点击,找到了HelloWord字符串


双击跟进去就是main函数的地址了


这样做的前提是因为我们知道线索(程序在运行时就弹出信息框),所以才可以这样做。


同时我们看到了此时这个地址PUSH的参数push    0x40ED00


我们在下面的数据窗口看看里面是什么东西。


在左下角Ctrl+G,然后输入40ED00,回车跟进。



我们发现了我们的helloword字符串。


如果我们在反汇编区域跟进这个地址将会是这样的:





这是因为这个地址属于数据区域,而不是代码区域,程序的代码区域和数据区域的内存是分开的。


逆向工程核心原理学习笔记(二):字符串检索法查找main函数相关推荐

  1. 逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串

    打补丁方法可以修复程序的BUG,给程序添加新功能. 打补丁的对象可以是文件,内存,数据,代码,等等... 我们今天就用打补丁的方法来把helloworld程序中的字符串改掉! 首先呢,OD载入程序, ...

  2. 逆向工程核心原理学习笔记(十四):栈帧1

    栈帧的话,直接截了一些图,大家看一下就好了,理解起来很简单,就是简单的参数转存. 看完之后,我们需要用一个小程序来进一步学习我们的栈帧了. 下载地址:http://t.cn/RaUSglI 代码写法: ...

  3. 逆向工程核心原理学习笔记(六):实战开辟新内存区域写入缓冲区跳转修改字符串

    首先我们跳转到程序的入口点,然后观察 00401007      68 00ED4000   push    0x40ED00                         ;  Hello Wor ...

  4. 逆向工程核心原理学习笔记(十二):分析abex' crackme #1

    程序下载地址:http://t.cn/RX1wpX7 我们首先运行一下,看看提示什么: 我们初步推测,这个程序应该是判断磁盘是否运行在一个CD-ROM上. 为了验证我们的推测,我们拖进OD看一下. 我 ...

  5. 逆向工程核心原理学习笔记(七):总结

    首先就是上一节,我们尝试把修改后的代码保存后运行,发现不可以,. 这是由于我们修改的那部分缓冲区造成的. 可执行文件加大再到内存中兵役进程的形式运行并非原封不动的载入内存,而是遵循一定的规则进行,这一 ...

  6. 逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈

    还是上一次的abex' crackme #1,我们用OD附加看一下. 我们发现在调用这个MessageBox函数的时候,用了4个PUSH指令,我们在后面的注释中可以清楚的看到压入参数的内容. 如果我们 ...

  7. 逆向工程核心原理学习笔记(十一):栈

    栈(stack)用途广泛,通常用于存储局部变量.传递函数参数,保存函数返回地址等. 调试程序需要不断查看栈内存,这是很有必要的. 栈是一种数据结构,按照后进先出的原则存储数据. 栈的特征: 一个进程中 ...

  8. 逆向工程核心原理学习笔记(十):IA-32寄存器基本讲解

    什么是CPU寄存器: 为什么要学习寄存器: IA-32寄存器: 基本程序运行寄存器: 下面介绍一下各种寄存器:

  9. 逆向工程核心原理学习笔记(九):小端序标记法2

    程序地址:http://t.cn/RXnT2pD 我们用OD查看小端序. 代码如下: 我们编译,然后拖进OD查看,直接跳到0x401000入口点. 我们看到几个位置: 由此处我们可以推测后面括号中存放 ...

最新文章

  1. TortoiseSVN找不到系统指定路径
  2. form表单用js提前执行函数若不成功则不提交_如何用Jmeter做接口自动化测试?跟着操作一次就明白了...
  3. 算法:买卖股票的最佳时机含冷冻期
  4. 【MM模块】Procurement for Consumption Material 消耗性物料的采购流程
  5. [leetcode]27.移除元素
  6. 一个逐步“优化”的范例程序(转)
  7. 基于机器学习的GitHub敏感信息泄露监控
  8. struts2的struts.xml的详细配置1-1
  9. 怎么方便地不通过鼠标在应用之间复制/粘贴文本
  10. 侯捷 - C++ Startup 揭密:C++ 程序的生前和死后 (二)
  11. Silverlight 4 帮助文件例子的连接
  12. MacOS 64位GaussView5的破解
  13. 故障诊断仪采集发动机EMS故障的报文与故障码记录
  14. 0_freeCAD_介绍,下载,语言设置
  15. 微信JSSDK使用签名算法
  16. JPush推送 之 RegistrationID 精确对点推送
  17. HTML图片热区map area的用法整理
  18. 高通baseband多媒体简介
  19. 淘宝店铺怎么靠前排名?有哪些技巧?
  20. 关于element table表格横向数据展示封装

热门文章

  1. 模块化操作(es6写法)
  2. 加密与安全 - Java加密与安全
  3. 设计模式------观察者模式
  4. Bootstrap全局css样式_表格
  5. matlab图片拼接变成白的,利用matlab实现对图片的拼接
  6. linux下开发python爬虫_linux入门教程—开发常用命令
  7. python爬取12306_python爬取12306的车次信息
  8. 简述中断处理的6个步骤_实用!处理电机振动的11个常用步骤
  9. sql动态拼接<if>标签嵌套<foreach>判空、if失效等问题
  10. Asp.NetCore-部署到IIS