- 博客(57)
- 资源 (13)
- 收藏
- 关注
原创 劳特巴赫ICD调试器CMM调用烧录框架固件研究之汇编版本
怀疑是底层调用用烧录固件“~~/demo/arm/flash/word/stm32f300.bin”与芯片不兼容造成的,于是有了这编研究文档,多的不说直接上代码吧,具体的操作,请自行查代码理解。另外发了一篇C语言版本的在付费专栏。接到客户一个项目是基本GD32F301C8XX的,尝试用手上的劳特巴赫仿真器对它进行开发操作,发现总是提示“FLASH algorithm did not execute completely”
2024-09-15 21:14:36
861
原创 劳特巴赫ICD调试器CMM调用烧录框架固件研究之C语言版本
怀疑是底层调用用烧录固件“~~/demo/arm/flash/word/stm32f300.bin”与芯片不兼容造成的,于是有了这编研究文档,多的不说直接上代码吧,具体的操作,请自行查代码理解。另外还会再发一篇汇编的。接到客户一个项目是基本GD32F301C8XX的,尝试用手上的劳特巴赫仿真器对它进行开发操作,发现总是提示“FLASH algorithm did not execute completely”
2024-09-15 21:10:46
502
原创 STC-ISP原厂代码研究之 V3.7d C代码版本
最近在研究STC的ISP程序,用来做一个上位机烧录软件,逆向了上位机软件,有些地方始终没看明白,因此尝试读取它的ISP代码,但是没有读取成功。应该是目前的芯片架构已经将引导代码放入在了单独的存储块中,而这存储块有硬件级的使能线,在。下载到了一个老版本的opcode固件,对它进行了深入的研究后,虽然对自己没有太多作用,但是还是对ISP程序有兴趣的可以借鉴参考一下。面包板社区-宏晶STC单片机的ISP的BIN文件 (芯片保密性) 原创。当前版本已经用C代码重写,编译通过但未调试。
2024-02-27 12:56:54
409
原创 STC-ISP原厂代码研究之 V3.7d汇编版本
最近在研究STC的ISP程序,用来做一个上位机烧录软件,逆向了上位机软件,有些地方始终没看明白,因此尝试读取它的ISP代码,但是没有读取成功。应该是目前的芯片架构已经将引导代码放入在了单独的存储块中,而这存储块有硬件级的使能线,在。下载到了一个老版本的opcode固件,对它进行了深入的研究后,虽然对自己没有太多作用,但是还是对ISP程序有兴趣的可以借鉴参考一下。http://面包板社区-宏晶STC单片机的ISP的BIN文件 (芯片保密性) 原创。
2024-02-27 12:51:17
441
转载 编写FLM编程算法文件(制作离线烧录器的OPT文件)
在MDK的Debug界面下的Flash Download可以选择芯片的编程算法,在安装了芯片包之后可以直接得到目标的编程算法文件,但是对于芯片包的开发者或者有独特的下载需求(校验),这个时候就需要去编写编程算法文件。编译工程文件,在输出目录下即可看到*.axf文件,工程中的*.axf文件跟*.FLM文件相同,只需将后缀.axf修改为.FLM,然后复制到MDK安装目录的ARM/FLASH下,就能在选项卡里选择自己的编程算法文件了。开源库进行文件转换就能得到离线下载的编程算法文件了,参考该文献。
2023-05-08 14:51:46
3692
转载 ARM汇编-5 OC反汇编
OC代码的精髓其实就是。而OC的反汇编其实就是查看其中的方法调用。objc_msgSend有两个参数,第一个是id类型,第二个是SEL类型。id、SEL其实都是一个结构体,内部有isa指针,所以这两个在内存中占有8个字节。
2023-05-07 17:54:10
630
转载 ARM汇编-4 指针
不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。这里定义一个int类型的指针a,然后赋值位100,我们知道指针的size是8个字节,a++之后打印多少?是的,没有看错,这里是因为指针的自增和自减操作,与执行的数据类型的宽度有关。// x8的地址放在了sp+0x8的位置,打印一下内存,就是x8存储的地址。// 4. 把x8存储的地址放在sp + 0x8的位置上。按照我们正常的理解,上述代码的意思就是把b的地址给到a,这个时候。所以结果就是108。
2023-05-07 17:47:40
406
转载 ARM汇编-3 状态寄存器 if、loop、switch
NZ:是否为0,判断正负CV:无符号,有符号判断是否溢出假设switch语句的分支比较少的时候(例如3,少于4的时候没有意义)没有必要使用此结构,相当于if。各个case分支常量的差值较大的时候,编译器会在效率还是内存进行取舍,这个时候编译器还是会编译成类似于if,else的结构。在分支比较多的时候:在编译的时候会生成一个表(跳转表每个地址四个字节)
2023-05-07 17:47:29
3295
转载 ARM汇编-2 函数
栈:引出SP、FP寄存器。SP:保存栈顶地址,FP:保存栈底的地址。(栈顶的地址比栈底的地址小,所以获取栈顶的值都是通过sub sp, sp #0x10,是减去一个空间,在存值的时候一般都是[sp+#0x08])stp/str 存值(16个字节/8个字节)ldp/ldr 取值(16个字节/8个字节)stur/ldur 本质上与str/ldr没有区别,带【u】的操作的是一个负值。bl指令:通过lr(x30)寄存器,保存回家的路,bl跳转到对应的方法。
2023-05-07 17:39:49
1614
转载 ARM汇编-1 初识汇编
汇编基础知识,发展、用途、特点几个知识点:bit,Byte,总线,数据宽度CPU 寄存器。浮点寄存器(64位: D0 - D31 32位: S0 - S31);向量寄存器(128位:V0-V31);通用寄存器(32位w0-w28,64位x0-x28),PC寄存器。bl指令ARM汇编-1 初识汇编 | 不会飞的小白1. 初识汇编 汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
2023-05-07 17:34:26
457
原创 DAP之FLM算法研究
前言上一讲我们讲到stm32可以将代码直接下载到RAM中时行程序调试,同时可以有效避开STM32 Flash 擦写次数有限问题,其实除了仿真调试时将程序设置在RAM中可以解决FLASH擦写次数问题外,如果程序实际运行时能直接在RAM中运行,其代码的运行效率也会有一定的提高,那么怎么实现实际运行时让程序在RAM中运行呢,本节将带领大家来实现这一操作。由于本人尽来因为服务的客户令人十分糟心,也想搞个刷写器的项目,因此本着好奇的心,研究了了该HEX文本的算法内容,并将汇编反译成了C。反汇编为C代码后,内容为。
2023-05-07 16:51:17
1237
1
原创 IDA 知识汇总
idapython 版本api变化api变化基础apiidc.ScreenEA()--> idc.get_screen_ea() 获取当前光标所在行的地址, 返回一个 int 类型idc.MaxEA()--> ida_ida.inf_get_min_ea() 获取当前idb 的最小地址 和 最大地址idc.SegName(ea) --> idc.get_segm_name(ea) ea是一个变量存储当前地址, 这个api 是获取当前地址所在的段idc.GetDisasm。启动界面介绍: ...
2023-04-26 19:07:22
605
原创 OllyScript脚本语言语法
gpa "MessageBoxA", "user32.dll" //这条指令执行后,$RESULT等于函数MessageBoxA的地址,您可以使用"bp $RESULT"设置断点。"1234567ABCDEF"注:value的值最大8个字节,可以为寄存器值,标志位值,Varial值,16进制值,10进制值,[]指针opcode.从指定地址处开始,在内存中提取指定大小的数据,并保存到指定的文件中;- 32位寄存器 (EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP, EIP)。
2023-04-11 17:27:40
574
原创 逆向入门--何为OEP
OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP), 只要我们找到程序真正的OEP,就可以立刻脱壳。再用一个最幼稚的比喻来形容加壳的软件,那个带壳的软件,就是穿了衣服的人,要看它到底是男是女,就把衣服脱掉,不可能哪个生出来就穿了衣服吧,就像软件一样,写出来不可能就带壳的,都是后面加上去的。以上方法,针对不同的壳,至于OEP是什么样子,这个就不好说了,不同的语言写出来的样子就不一样,有高手能总结下OEP的样子吗?基础东西,老鸟绕过,新手要学破解的,必须掌握~~我也在学习中。
2023-04-11 08:38:09
1254
原创 INFINONE XC164单片机逆向记录(6)C语言学习
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。---- 文接上章 -------------------------------INFINONE XC164单片机逆向记录(1)资料准备。INFINONE XC164单片机逆向记录(3)汇编语法。INFINONE XC164单片机逆向记录(4)开发环境。INFINONE XC164单片机逆向记录(2)反汇编。指定生成的指令集为C167, 默认为C166。一个为客户逆向解析通讯协议的真实案例。指定生成类名,可以在链接器指定类地址。
2023-04-09 10:32:38
694
原创 INFINONE XC164单片机逆向记录(5)C166地址系统
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题);---- 文接上章 -------------------------------INFINONE XC164单片机逆向记录(1)资料准备。INFINONE XC164单片机逆向记录(3)汇编语法。INFINONE XC164单片机逆向记录(4)开发环境。INFINONE XC164单片机逆向记录(2)反汇编。一个为客户逆向解析通讯协议的真实案例。
2023-04-09 09:39:33
686
转载 【转载】一文看懂汽车电子ECU bootloader工作原理及开发要点
在开发应用程序时,需要先对其进行单独调试以保证其功能正常,这时虽然其外设中断向量表已经进行了偏移,但其复位向量必须的放置在默认中断向量表中复位向量所在的地址,否则下载后无法运行,进行正常调试,因为如果把应用程序的复位向量放在偏移后的应用程序中断向量表中,则默认的复位向量内容为0xFFFF(Flash擦除后的状态),CPU内核就会到0xFFFF的地址取指运行,显然不是真实的工程启动函数,所以无法运行,其结果跟一个新MCU未写入任何程序时上电运行的情况一样,会不断的出现非法地址复位;
2023-04-08 09:33:34
1189
原创 写在专栏前面
因此决定进入与原来工作完全相反的领域,之前完全是正向开发的,那现在做逆向,为客户提供那么算法研究,产品改进等,至于逆向是什么,为何逆向,说实施我也不懂,那还是搬书吧。我在本栏内将会用心记录逆向过程的技术细节,主要是为自己在今后的工作中查找 资料以及因为相隔时间稍长后无印象所做的一个索引。实际上大多数开发者都痛恨对产品逆向,包括我之前也是这样看,但反过来对于如何防止逆向却也是一门新的课题,我之所以做逆向是因为生存问题,但是我却希望通过对产品的逆向流程最终可以提高产品防盗版的能力。
2023-04-04 16:27:43
567
2
转载 INFINONE XC164单片机逆向记录(R1) 汽车动力系统ECU固件逆向工程初探
此时,第一步提取的固件信息就很有用了,至少为我们提供了搜索的线索,结合固件涉及的电子属性和发动机相关信息,我发现该ECU属于英飞凌的(Infineon,前身为西门子集团的半导体部门),而该ECU采用的是C16X系列的内核,也就是说该ECU封装的实际上C16X的MCU,这款MCU原先属于西门子,因此指令集极有可能也是西门子的。通过更加细致的分析,我找到了一些MAP表,比如油量表、直接转矩控制表(DTC表)、DTS表、油量表、RPM表、进气温度表等,以及操作表的函数,比如有做MAP校验的函数,查表的函数等等。
2023-04-04 15:33:24
1290
1
原创 在FPGA开发板上玩《超级玛丽》之笔记 -(2)重构2A03CPU
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题);
2021-06-20 09:10:28
1339
5
原创 在FPGA开发板上玩《超级玛丽》之笔记 -(1)为什么做这个项目
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题);
2021-06-20 08:49:23
622
原创 NIOSII 安装问题汇总
问题1:1 [main] sh 13224 find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer. Please report this problem tothe public mailing list cygwin@cygwin.com[BSP clean complete]
2021-06-10 12:19:03
2593
2
原创 MTK AP热点扫描不到热点的问题
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题);从接触OPENWRT以来,因为需要把设备做成一个AP CLIENT。但纠结于一直无法通过iwinfo 扫描到AP,尝试了多个版本的OPENWRT,LEDE,Pandorbox等均不行。root@OpenWrt:/# iwinfo ra0 scanScanning not possible一直显示这个问题,在恩山上找到一个关于这个问题的历史贴子《i
2020-07-08 21:46:08
1225
转载 OpenWRT配置 -- 修改用户名、密码以及网页用户名的修改
openwrt系统默认的用户名是root,并且web页登录页面也默认是填充用户名root的状态,所以在考虑到安全性以及自己的个性,所以需要自己制定自己喜欢的用户名和密码。一、修改密码1、在openwrt开发板上密码使用指令 passwd,直接输入密码即可完成密码重置。2、修改源码实现实现密码的永久指定现在开发板上使用指令 passwd 修改密码,然后将/etc/shadow 文件里面的内容拷贝到源码文件/openwrt/package/base-files/files/etc/sh.
2020-06-29 22:44:06
22302
2
原创 OPENWRT-MTK-SDK 使用问题记录
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题),如需转载,请复制全部内容包括此行;1、串口波物率修改openwrt@OpenWRT:~/openwrt-sdk/20170518$ vim build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/linux-3.10.14/arch/mips/ralink/cmdlin.
2020-06-29 10:56:39
1472
原创 MTK的SDK编译环境问题整理
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题),如需转载,请复制全部内容包括此行;花了一个多月时间,给朋友开发了一款产品。这一个多月来就没有碰openWRT, 也就没有遇到OPENWRT开发中的问题。不过还好,一个多月的时间终于把朋友产品的软硬件都处理好了,接下来又得在OPENWRT上大干一场。之前碰到的所有问题,都是在最新版的OPENWRT上遇到的,问题实在是太多,有些问题处理起来也是一头雾水,还.
2020-06-25 00:28:59
1095
原创 MT7620更换128M内存后无法启动的问题
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题),如需转载,请复制全部内容包括此行;在MT7620N的板子上做开发,板子上的内存为64M,在开发时,带上busybox, ssh-server,ftp等服务后,内存就很小了,为了更新驱动,通过FTP将KO文件上传到开发板时,总是会因为内存小而KILL进程,因此又花了一把银子,置办了一套设备。自己可以来更换BGA的内存芯片,板子上的内存芯片型号为K4T5116.
2020-05-25 00:19:58
1774
转载 openwrt默认mac地址配置(MT7620a)
对于MT7620a,默认的mac地址都是保存在factory分区,具体为: 1.offset 0x04 WIIF MAC 2.offset 0x28 LAN MAC 3.offset 0x2E WAN MACfactory分区不仅保存这mac,还包括wifi的校准参数。以dts使用MT7620a.dts为例,openwrt使用15.05版本。一、w...
2020-04-18 22:47:59
1751
原创 OpenWRT Wifi自动启动
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题),如需转载,请复制全部内容包括此行;经过近十天的折腾,MT7628的WIFI驱动算是移植成了,但移植成功驱动是远远不够的,我们还需要使用它,那么就从自动加载内核驱动开始吧!经过摸索,MT7628WIFI模块算是成功了。先上两张图片,证明一下...
2020-04-18 22:33:40
3136
原创 OPENWRT MT7628 驱动移植WIFI折腾记
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题);我手上的MT7628开发板编译后,没有无线接口,检查menuconfig后,发现MT7628需要选中kmod-mt76重新编译后可以在控制台看到无线接口之前编译时候/etc/config/wireless是不存在的,选中kmod-...
2020-04-18 18:23:48
4910
原创 构建自己的OPENWRT 资源仓库
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题);OpenWRT的副本在机器上创建得多,每个副本都有一个dl文件夹,占用硬盘空间就很大,所以能不能多个副本共用同一个DL文件夹呢?答案肯定是可以的,只需要将修改 rules.mk 文件即可## Copyright (C) 2006-201...
2020-04-17 21:50:53
1448
原创 Openwrt 移植MT7628驱动遇到的问题记录
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题);In file included from /home/bruce/MT7628/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/mt7628-linuxap_v4p1-...
2020-04-17 14:20:48
2256
原创 OpenWRT 开发相关资源
本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题);OpenWRT开发时需要用到的相关资源, 持续更新记录如下:1:OpenWRT 官方开发手册2:OpenWrt下载网...
2020-04-15 17:44:54
296
原创 OPENWRT IO直接驱动
在加载wifi驱动时,出现了加载内核失败的问题kmodloader: failed to mmap /lib/modules/4.14.171/mt7628.ko在搜索解决办法时,找到了佐须之男关于 作用MMAP方法直接驱动IO的方法,这里先记录一下,至于怎么使用,我会在后面使用时再进行补充/* forgotfun.org 佐须之男 */#include <st...
2020-04-14 07:23:33
936
原创 OpenWRT LUCI国际化
我们先看看i18n.luadispatch函数function dispatch(request) --context._disable_memtrace = require "luci.debug".trap_memtrace("l") local ctx = context ctx.path = request local conf = require "luci.confi...
2020-04-10 23:22:58
876
迅飞(run-xin fei)编程器软件全集
2023-01-23
openwrt_swoole_php_m4.patch
2020-03-26
BS83B08A_20160607_LIBV413.rar
2020-01-06
BMP转C文件转换软件
2010-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人