OD+IDA动静结合反编译C++

这篇具有很好参考价值的文章主要介绍了OD+IDA动静结合反编译C++。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

需求

流程

1.内存搜索

2.定位内存位置

3.搜索引用内存地址的代码

4.给该位置下断点

5.内存代码和exe静态程序地址的映射

 6.使用静态反编译出C++代码

小技巧:静态编译工具定位到起始位置 

 总结


需求

C++编译出来的hello world函数,如果没有源码,如何定位还原到exe当中的汇编代码位置?软件逆向动静态结合如何操作?

OD+IDA动静结合反编译C++

流程

1.内存搜索

OD+IDA动静结合反编译C++

输入你所看到的字符串:

OD+IDA动静结合反编译C++

2.定位内存位置

OD+IDA动静结合反编译C++

3.搜索引用内存地址的代码

OD+IDA动静结合反编译C++

4.给该位置下断点

OD+IDA动静结合反编译C++

5.内存代码和exe静态程序地址的映射

        IDA(Ghidra)导出的EXE程序地址是0x401000,而使用OD(X32dbg)动态调试看到的地址是0xEA1000,目前看到的helloword程序,是原样搬过去一一对应的。那么看到内存地址把EA改为40,就是静态程序地址了。

OD+IDA动静结合反编译C++

OD+IDA动静结合反编译C++ 磁盘地址和内存镜像的对应关系 

6.使用静态反编译出C++代码

在IDA(Ghidra)中,可以对汇编代码进行反编译,它们的功能还是很强大的。

OD+IDA动静结合反编译C++

小技巧:静态编译工具定位到起始位置 

在IDA中,通过view-->open subviews--->Segments,可以看到真实程序起始点:

OD+IDA动静结合反编译C++

 但是程序起始端,并不一定是main,要看一下点跳转。另外一种方法是,在function windows里,启动Quick  filter来查找特定函数:

OD+IDA动静结合反编译C++

弹出搜索框,输入main(或你想找的函数):

OD+IDA动静结合反编译C++

Ghidra的界面这些入口位置就直接在主界面有,按照下面的两个方法都可以找到程序起始点:

OD+IDA动静结合反编译C++

 总结

        通过正向编译,知道要找的东西,在逆向过程中,就可以有的放矢的去观察,了解工具的使用方法和编译原理,数据的追踪线路,再去查找无源码的程序,就有思路了。文章来源地址https://www.toymoban.com/news/detail-444525.html

到了这里,关于OD+IDA动静结合反编译C++的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 需求分析和调研流程

    软件生命周期:软件定义、软件开发、软件维护 软件定义:问题定义、可行性研究、需求分析 软件开发:总体设计、详细设计、编码和单元测试、综合测试 软件维护:改正维护、适应性维护、完善性维护、预防性维护 改正维护:软件运行中发生异常进行维护 适应性维护:

    2023年04月09日
    浏览(25)
  • 010:vue结合el-table实现表格小计总计需求(summary-method)

    el-table 添加如下配置,添加 show-summary 属性,配置 summary-method 函数 getSummaries 计算小计/总计逻辑 没什么注意的,比较简单,记录下,方便自己以后查看 😎

    2024年01月18日
    浏览(28)
  • Go 字节跳动—从需求到上线全流程

    整个课程会带大家先从理论出发,思考为什么有流程 大家以后工作的团队可能不一样,那么不同的团队也会有不同的流程,这背后的逻辑是什么 然后会带大家按照走一遍从需求到上线的全流程,告诉大家在流程的每个阶段,究竟要做什么 最后会给大家介绍一下我们实践当中

    2024年02月07日
    浏览(28)
  • 使用敏捷开发工具做敏捷需求管理流程

    上一篇我们介绍了如何管理产品路线图(用Leangoo领歌Scrum敏捷开发工具管理产品路线图?_哆啦B梦_的博客-CSDN博客),这一篇我们介绍下如何管理产品Backlog。 史诗故事通常都是比较大的故事,所以我们需要将史诗故事规划到产品Backlog中,以便让团队在产品Backlog中对史诗故事

    2024年02月04日
    浏览(31)
  • 抖音seo矩阵系统源码|需求文档编译说明(技术)

    抖音SEO矩阵指的是一系列通过搜索引擎优化(SEO)技术和策略来提升抖音账号在搜索结果中排名的方法和工具。在抖音上,用户可以通过搜索来查找与其相关的视频和账号。因此,抖音SEO矩阵的主要目的是通过的优化和账号信息的完善,使抖音账号能够获得更高

    2024年02月13日
    浏览(36)
  • 抖音seo矩阵系统源码|需求文档编译说明(二)

    1.抖音seo矩阵系统文档开发流程 2.各平台 源码编译方式说明 3.底层技术 功能表达式 ①产品原型 ②需求文档 ③产品流程图 ④部署方式说明 ⑤完整源码 ⑥源码编译方式说明 ⑦三方框架和SDK使用情况说明和代码位置 ⑧平台操作文档 ⑨程序架构文档 1.矩阵管理: 多平台,多账号

    2024年02月11日
    浏览(66)
  • 抖音seo矩阵系统源码|需求文档编译说明(一)

    ①产品原型 ②需求文档 ③产品流程图 ④部署方式说明 ⑤完整源码 ⑥源码编译方式说明 ⑦三方框架和SDK使用情况说明和代码位置 ⑧平台操作文档 ⑨程序架构文档 短视频矩阵系统源码开发锦囊囊括 前言 一、短视频账号矩阵系统开发者必备能力语言? 二、源码编译方式说明

    2024年02月08日
    浏览(33)
  • [架构之路-212]- 需求- UML需求建模:用例图、ER图/概念类图、流程图、序列图、状态机图

    目录 前言: 什么是需求建模 1. 用例图 1.1 用例图 1.1.1 组件 1.1.2 用例细化与用例关系 1.2 用例规约 2. ER图/概念类图 3. 跨角色流程图(串行、协同) 4. 活动图(并行、协同) 5. 状态机图 6. 时序图 需求规格说明书: 用户场景=》用例图 场景说明=》用例规约 领域模型=》实体关

    2024年02月09日
    浏览(81)
  • 软件测试-功能测试-测试流程-如何进行需求评审?对于测试人员来讲,如何从测试的角度评审需求文档?

    产品人员编写的需求文档,无疑是一个项目或者一项新功能的开端。需求文档的优劣,直接影响开发人员的代码质量,更会影响到后续的测试工作。所以,我认为,需求评审对于开发质量以及测试质量至关重要,那么,如何做好一次优秀的评审,或者说,如何去评审一份需求

    2024年02月19日
    浏览(43)
  • 模拟目录管理 - 华为OD统一考试(C卷)

    OD统一考试(C卷) 分值: 200分 题解: Java / Python / C++ 实现一个模拟目录管理功能的软件,输入一个命令序列,输出最后一条命令运行结果。 支持命令: 1)创建目录命令: mkdir 目录名称,如mkdir abc为在当前目录创建abc目录,如果已存在同名目录则不执行任何操作。此命令无输出

    2024年02月04日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包