STM32——IDA反编译 Hex\Bin文件成C代码(转)

转:https://blog.csdn.net/daidi1989/article/details/86304843

 

IDA是一款功能强大的反编译软件,网上找了许久没找到它的使用教程,经过摸索可将STM32的hex文件进行反汇编,操作步骤如下,首先下载IDA Pro版破解软件,免安装。

IDA Pro下载链接:https://pan.baidu.com/s/181PHGYRQvKUZlgL6VVQOIw        提取码:sa2y 

 

 

如果文件为bin文件,可使用bin转hex工具转为hex格式

BinToHex下载链接:https://pan.baidu.com/s/12pkwO2DHhJd7_zVDF5RbaA     提取码:8lel 

 

 

1、打开解压后目录下的idaq.exe可执行文件,点击[File]-[Open]看到如下界面

 

 

 

 2、打开hex文件弹出提示

 

 

 3、【processot type】选择小端ARM,点击【set】保存

 

 

 4、按顺序点击图片中的1-2-3,设置好后点击所以【ok】关闭提示框

 

 

 5、接下来将看到hex的文件内容,在CODE32下按d合并行

 

 

 6、右击第二行跳到程序起始处

 

 

 7、在跳转到的程序前面按c键

 

 

 8、反汇编完成,在CODE32处按F5键将生成类C伪代码,见第12步

 

 

 9、右击函数头选择【Graph view】可查看函数间调用关系

 

 

 10、查看函数调用关系

 

 

 

 11、在子函数中按【F5】键,生成反编译代码

 

 

 12、反编译后的CODE32函数,该函数前面是stm32中启动文件中的一些时钟初始化函数,main函数的入口在最后sub_8003076();中,双击该函数即可进入。

 

 

 

 13、进入main函数中将看到如下一些具体功能实现代码,注意寄存器的配置都是对芯片的某个内存地址进行操作,变量也是对应某一个存储器地址。

 

 

转载于:https://www.cnblogs.com/panda-w/p/11548121.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32——ST-LINK通过BIN文件烧录STM32芯片(转)

转:https://www.cnblogs.com/schips/p/8215711.html 提供2种下载方式 KEIL编译下载 KEIL 5 在开发中还算是比较强大的一种平台。在开发中通过编译再下载会显得很方便。 尽管这个是老生常谈的问题,但还是在这里补全这个设置步骤 1.点击“魔法棒” 2.Debug…

离线应用架构

看完了Google的官方架构文档( [url]http://code.google.com/apis/gears/architecture.html[/url]), 结合了Modal和Modeless两种优点,总结出如下架构模式:这种架构的好处是,用户总是把数据存在本地&#xff…

突破PTU网页认证校园网开热点

人总有浮躁, 之前只是把脚本写好,没有实操过。 [这是更新过的教程,保证只要按教程走一定可以--->运行成功] 教程可能有些生涩,需要一点耐心 ###ps:不保证热点不出现断网情况【此时手机WiFi关开一次既解决】 教程篇 …

IIS的安全配置策略

IIS的安全配置策略<?XML:NAMESPACE PREFIX O />因为IIS(即Internet Information Server)的方便性和易用性&#xff0c;使它成为最受欢迎的Web服务器软件之一。但是&#xff0c;IIS的安全性却一直令人担忧。如何利用IIS建立一个安全的Web服务器&#xff0c;是很多人关心…

PowerDesigner 导入sql脚本到MySQL乱码问题

为什么80%的码农都做不了架构师&#xff1f;>>> PowerDesigner 12.5 / MySQL 5.0.22 通过PowerDesigner生成MySQL5的数据库脚本。因为对MySQL的命令不熟悉&#xff0c;所以就下载了一个MySQL UI TOOLS。想着通过MySQL Query Browser来执行SQL脚本。 安装好之后&…

robots.txt 简单解析

简介 robots.txt 是一个规范&#xff0c;对于执行正常操作的爬虫理应遵守的规范. 例子 博客园例子 https://www.cnblogs.com/robots.txt User-Agent: * Allow: / 允许所有爬虫爬取网站任何地址。 百度例子 User-agent: Baiduspider # 百度自己的爬虫 Disallow: /baidu # 不允许…

rhel5之光盘更新终结篇

1&#xff0c;进入/etc/yum.repos.d目录中&#xff0c;编辑rhel5-local.repo文件&#xff0c;这个文件名可以随便取&#xff0c;以个人爱好为准&#xff0c;加入如下内容&#xff1a; [Cluster] nameRed Hat Enterprise Linux $releasever - $basearch -Cluster baseurlfile://…

爬虫 查看站点的个数和解析网站使用的技术栈和找到网站的所有者

简介 网站的个数可以作为自己要爬取时间的估算。 技术栈可以知道自己要爬取的难度。 网站的个数 www.baidu.com 然后 输入 site:www.cnblogs.com 就可以知道 博客园大概有多少个页面了。 1000万个左右。 识别网站所采用技术栈 pip install builtwith import builtwith builtwit…

安装Windows 2003 域控制器

操作系统要求&#xff1a;Windows 2003 Server StdWindows 2003 Server EntWindows 2003 Server Dc相关配置要求&#xff1a;DNS服务器转载于:https://blog.51cto.com/handongliu/141779

爬虫 下载页面

简介 爬虫下载页面 代码 简易下载 #!/usr/bin/env python #codingutf-8 import urllib2def download(url):print(Download:,url)try:html urllib2.urlopen(url).read()except urllib2.URLError as e:print(Download error:, e.reason)html Nonereturn htmlif __name__ __mai…

域控制器的强制卸载,Active Directory系列之十四

域控制器的强制卸载上篇博文中我们介绍了如何对域控制器进行常规卸载&#xff0c;本文中我们将介绍如何对域控制器进行强制卸载。为什么需要对域控制器进行强制卸载呢&#xff1f;如果域控制器不能和复制伙伴正常通讯&#xff0c;而且更正无望&#xff0c;那我们就要考虑进行强…

题解 [SHOI2014]概率充电器

前情提要&#xff1a;最近大佬们都在写题解&#xff0c;只有我在咕咕咕。QAQ&#xff1b;明明我都把flag写出来辣&#xff0c;dalao们没看见&#xff0c;然后就被嘲讽了,QAQ 洛谷 树形DP期望&#xff08;讲了两次&#xff0c;菜鸡的我才做&#xff31;&#xff21;&#xff31;…

泛微对协同管理的定义

针对"信息孤岛"、"应用孤岛"和"资源孤岛"&#xff0c;协同管理最主要的三个方面就是要实现信息的协同&#xff0c;业务的协同和资源的协同。泛微的协同管理理念主要体现为三大基本思想&#xff0c;即"信息网状思想"、"业务关联思…

AtCoderGC038B - Sorting a Segment 数据结构 + RMQ

题意&#xff1a;给定一个长度为N的排列&#xff0c;你只能对其中长度为K的连续子序列进行一次从小到大的排序&#xff0c;问&#xff1a;排序之后能形成多少不同的排列&#xff1f; 数据范围&#xff1a; 1 < n, k < 200,000&#xff0c; k < n. -------------------…

添加栏目HyperLink

HyperLink控件&#xff1a;NavigateUrl属性指定跳转页面。页面绑定函数&#xff1a;private void BindPage(){string action Request.QueryString["action"].ToString();if (action "add"){Button1.Text "添加";Label1.Text "添加"…

luogu P2216 [HAOI2007]理想的正方形 递推+ST表

题意&#xff1a;有一个a*b的整数组成的矩阵&#xff0c;现请你从中找出一个n*n的正方形区域&#xff0c;使得该区域所有数中的最大值和最小值的差最小。 数据规模&#xff1a; &#xff08;1&#xff09;矩阵中的所有数都不超过1,000,000,000 &#xff08;2&#xff09;20%的数…

网络管理员必看

值得一看的东西转载于:https://blog.51cto.com/740542/147758

[USACO12MAR]花盆Flowerpot 二分答案+单调队列

题意&#xff1a; 给出N滴水的坐标&#xff0c;y表示水滴的高度&#xff0c;x表示它下落到x轴的位置。 每滴水以每秒1个单位长度的速度下落。你需要把花盆放在x轴上的某个位置&#xff0c;使得从被花盆接着的第1滴水开始&#xff0c;到被花盆接着的最后1滴水结束&#xff0c;之…

jQuery使用手册

jQuery是一款同prototype一样优秀js开发库类&#xff0c;特别是对css和XPath的支持&#xff0c;使我们写js变得更加方便&#xff01;如果你不是个js高手又想写出优 秀的js效果&#xff0c;jQuery可以帮你达到目的&#xff01;下载地址&#xff1a;Starterkit &#xff08;http:…

线程池三种队列使用,SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue

使用方法&#xff1a; private static ExecutorService cachedThreadPool new ThreadPoolExecutor(4, Runtime.getRuntime().availableProcessors() * 2, 0, TimeUnit.MILLISECONDS, new SynchronousQueue<>(), r -> new Thread(r, "ThreadTest"));1.Synch…