自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(312)
  • 资源 (9)
  • 收藏
  • 关注

原创 freertos关键函数理解 uxListRemove

/|------->volatile UBaseType_t uxNumberOfItems = 1 0x20000088 链表中元素的个数。<-------------| 0x200004ac 链表节点的值。

2025-07-22 22:26:31 443

原创 freertos任务调度关键函数理解 vTaskSwitchContext

-------------| //链表节点的值 xLIST_ITEM xLIST_ITEM。<-------------| //链表节点的值 xLIST_ITEM xLIST_ITEM。//为啥后续不交错指向?//|------->volatile UBaseType_t uxNumberOfItems = 1 //链表中元素的个数。//|------->volatile UBaseType_t uxNumberOfItems = 1 //链表中元素的个数。

2025-07-22 22:17:24 672

原创 freertos双向链表的插入

/|------->volatile UBaseType_t uxNumberOfItems = 1 //链表中元素的个数。----->| //前驱节点。//|------->volatile UBaseType_t uxNumberOfItems = 2 //链表中元素的个数。--|----->| //前驱节点。<-------------| //链表节点的值。

2025-07-21 10:04:00 521

原创 freertos任务调度关键函数理解

" \n" //只保存/恢复r4-r11是因为ARM架构下中断自动保存r0-r3,r12,lr,pc,xPSR。" ldr r1, [r3] \n" //从新任务的TCB获取栈指针 临界区嵌套计数可能是前面版本的注释,此处不适合." mrs r0, psp \n" //读取进程栈指针(PSP)到r0。

2025-07-19 22:51:40 393

原创 c代码获取某地址在elf文件的名称

/ 匹配格式: " Num: Value Size Type Bind Vis Ndx Name"// 构建readelf命令。// 执行命令并获取输出。

2025-07-11 15:55:02 263

原创 stm32 data,bss段加载理解

argcint temp;int ctrl;int offset;int cnt;do {= 0){--cnt >= 0;++i) {}else {

2025-07-05 21:26:04 1036

原创 x86 rop攻击理解2

pop_ecx, target_addr, pop_edx, 32, # ecx=目标地址, edx=4(字节数)#bin_sh_addr = next(libc.search(b'/bin/sh')) # 自动搜索字符串。fflush_plt = elf.plt['fflush'] #获取fflush的PLT地址。pop_ebx, 0, #文件描述符0(标准输入)pop_eax, 3, #read系统调用号。

2025-06-29 23:08:36 792

原创 x86 rop攻击理解1

bin_sh_addr = next(libc.search(b'/bin/sh')) # 自动搜索字符串。fflush_plt = elf.plt['fflush'] # 获取fflush的PLT地址。#p.interactive() # 获取交互式shell。#ret, # 栈对齐(可选)// 3. 获取system偏移量(需提前计算)b'B'*4, # 覆盖返回地址。

2025-06-29 01:56:00 698

原创 x86 rop攻击理解

/传给第2跳的参数0。

2025-06-26 16:16:16 300

原创 x86 32bit模式 堆栈溢出攻击理解

printf("恶意函数地址: \033[1;printf("缓冲区地址: \033[1;//指向本身的下4个字节。// 强制转型为函数指针执行。//这个其实没啥用了,默认系统是禁止在stack上执行代码的 一执行必爆。printf("正常返回\n");

2025-06-23 21:36:55 310 1

原创 risc-v 函数hook理解

/保留hook前的返回地址到gp寄存器。//恢复原始的(before hook)程序返回流。

2025-06-20 21:30:33 309

原创 fc模拟器ppu关键代码的理解

/比如 NameTable[0][0x0] = 0, 瓦片0的起始地址0;//提取PPU内部寄存器v的[14:12]位 (当前扫描线在8像素图块[瓦片]内的行号0-7) 与0x0007掩码确保数值范围安全。//from 0x3c0之后,是属性表区域,描述前面960个瓦片的颜色属性,总共有64字节的属性字节。//属性字节一个字节是8bit,每2bit表示相邻的4个瓦片的颜色属性,这个值是代表调色板的索引。//0x3c0+index 0x38 0x80个瓦片一个字节循环 行号。

2025-06-01 18:26:26 729

原创 sqlite

Insert into User_info (UserName, Password, Level) values ('大', 'd', 123)

2025-04-12 23:41:12 587

原创 java版hexdump

/ 每个未用字节用三个空格填充。// ASCII 可打印字符(非打印字符显示为`.`)// 1. 计算当前行处理的字节数(最多16字节)// 2. 格式化地址(例如: 00000000)// 十六进制部分(每字节两个字符)// 4. 填充剩余空格(不足16字节的行)// 在第八个字节后加空格分隔。* 生成类似 hexdump 的十六进制转储格式。// 3. 生成十六进制部分。// 5. 拼接最终行。// 示例:转储字符串。// 示例:转储文件。

2025-03-15 10:13:25 430

原创 适合嵌入式系统的shell代码

从linux的wifi驱动中移植而来。

2025-02-22 10:48:35 613

原创 android logcat 限制特定tag输出

.....if (!

2025-01-07 16:05:29 396

原创 thumb tbb指令理解

/跳转位置计算 new_pc = pc+4 (jpt_1A7C) ......1 step。//比如 r4=1, new_pc = new_pc + 4*2 = loc_1A84x。//比如 r4=0, new_pc = new_pc + 2*2 = loc_1A84。//PC = PC + 4 流水线原因 指到jpt_1A7C 跳转表的起始位置。TBB [PC,R4] //TBB指令占4字节。

2024-11-27 18:52:42 418 1

原创 wav文件生成代码

/ = 数据传输速率(每秒平均字节数):声道数×采样频率×每样本的数据位数/8。// = 每采样点字节数 : 声道数×位数/8。// = 常见的 WAV 文件使用 PCM 脉冲编码调制格式,该数值通常为 1。// = 采样位数: 存储每个采样值所用的二进制数位数, 8 | 16。

2024-11-27 11:57:28 425

原创 android 蓝牙遥控器配对过程的一点理解

/LE_KEY_PENC 的内容是 遥控器算出来,并传送给主机的 主机保存至 /data/misc/bluedroid/bt_config.conf。//正确后 用主机的随机数前面8字节加遥控器的随机数的前面8字节组合进行aes128 (key=16 bytes 0)加密。//得出的值作为配对key?//主机发送随机数 和 用随机数加密的aes128 (key=16 bytes 0)给遥控器。//遥控器发送随机数 和 用随机数加密的aes128 (key=16 bytes 0)给主机。

2024-09-20 15:00:06 892

原创 risc-v面向二进制编程

int ret;//3e800513//ret。

2024-07-26 10:06:05 459

原创 hexdump -C 实现

/x6 t1 临时寄存器 否。//x28-x31 t3-t6 临时寄存器 否。//x8 s0/fp 该寄存器需要被调函数予以保存 是。//x18-x27 s2-s11 该寄存器需要被调函数予以保存 是。//x5 t0 临时寄存器,或者用作替代链接寄存器 否。

2024-07-15 20:11:41 1009

原创 ida risc-V 增加几条指令

import sys=0x00:else:#06d05f7b#104 B6 3C#E0 8962else:else:

2024-07-10 15:44:42 928 1

原创 ida 手动补充不识别的指令

(NN_quou,= 13:pass。

2024-07-09 09:58:11 870

转载 ida python 脚本入门

反编译

2024-07-08 15:19:22 500

原创 crc16 算法

/ 协议前位msgToken 计算初值XFFFF,数据部分计算初值:协议头前位的crc(protobuf数据最后要加CRC)input_invert:输入值是否反转。ouput_invert:输出值是否反转。puchMsg:开始校验的数据的起始地址。Input: wCRCin:CRC16算法的初始值。usDataLen:校验的数据长度。if(input_invert)//输入值反转。Description: 通用的位CRC校验算法。// 计算给定长度数据的 16 位 CRC。

2024-06-02 23:16:03 1127

原创 gps NMEA格式校验算法

a[i]!='*';i++){

2024-05-10 13:01:35 378

原创 memset 的x86 32bit实现函数

jnz loop;如果ecx寄存器的值不为零,跳转到loop标签处继续执行。stosd;将eax寄存器的值传送到edi寄存器所指向的内存单元中。dec ecx;将ecx寄存器的值减一。

2024-04-01 16:35:43 331

原创 repne scasb strlen的x86 32bit实现函数

循环开始,ecx减一,搜索edi开始的字符串,匹配al的值,没有匹配继续循环,匹配到退出循环。匹配串结束字符 al=='\0'lea eax, [eax-1];减去'\0'的那一次计数。eax为字符串的长度,作为函数的返回值输出。

2024-04-01 16:18:39 222

原创 x86 32bits c && asm helloworld

起始位置(h): 00000000, 结束位置(h): 000003FF, 长度(h): 00000400 *//* 不受影响的寄存器 */:"=g"(a) /* 输出 */: /* 输入 *//* 未命名1 (2024/3/18 14:33:34)

2024-03-22 08:01:41 904

原创 ida arm64 base function

/ x3// x5// x1__int64 i;// x0v7!= --i;;return a1;__int64 i;// x3a3!= i;++i )__int64 v3;// x4int v5;// w3int v6;// w5v3 = 0i64;do。

2024-03-05 23:36:14 734

原创 QEMU ARM64 Uboot

/传递进来的参数 依次压入堆栈 x1-x7 c8-d8-e8-f8-0x100-[x0 栈顶指针的位置]//传递进来的参数 依次压入堆栈 x1-x7 c8-d8-e8-f8-0x100-[x0 栈顶指针的位置]//7*8=56 0x38 0xFFFFFFC8 + 0x38 = 0x00000000 即-0x38。//函数的参数如果是8个以内(包含8个) 用x0-x7来传递 (param0-param7)//SP 64bit 保存栈指针,使用 SP/WSP来进行对SP寄存器的访问。

2024-03-03 00:32:11 1232

原创 mfc 疑难杂症之一

1.xxxx处的第一机会异常: 0xC0000005: 读取位置 0x00000004 时发生访问冲突。2.不定时程序闪退 访问违例 程序定位到 main处。查自己写的代码,坑定有问题。

2024-02-23 06:41:27 1013

原创 arm 汇编 dump buff data

dump_buff:STMFD SP!skip_next:

2024-02-04 23:51:41 556

原创 uboot 模拟 pc BIOS的 跑码诊断

/字符串指针不为空时加载一个字符,并且字符串指针后移一个字符位置。//字符串指针不为空时测试加载的字符是否为串结束字符。//进入就打印一个字符,然后判断是否继续打印。//恢复现场,并返回。//串口0输出一个字符。//不是串结束字符,继续打印下一字符。//如果是换行符的话,继续打印。//字符串指针为空时不执行此条命令。//字符串指针为空时执行下一条指令。//字符串指针为空时不执行此条命令。//是结束字符,执行下一条指令。

2024-02-03 18:33:01 723

原创 android 4.4 audio 框架

AudioTrackServerProxy:: obtainBuffer()从 audio buffer 获取连续的填充了数据的 buffer;AudioTrackClientProxy:: releaseBuffer ()将填充了数据的 buffer 放回 audio buffer。AudioTrackServerProxy:: releaseBuffer ()将使用完的空buffer 放回 audio buffer。从AudioTrack 写入的buff中取出 解码后的pcm数据。

2024-02-02 15:41:53 701

原创 hexdump 命令 -e 选项

hexdump -e option

2023-10-20 20:08:11 772

原创 qemu gdb debug aarch64 uboot

s 选项告诉 qemu-system-aarch64 启动内置的 gdb-server, 监听在 TCP 端口 1234 上。u表示显示单位:b(byte), h(halfword), w(word), g(giant, 8 bytes)-S 选项告诉 qemu-system-aarch64 不要启动程序执行,等待 gdb 的指令。qemu-system-aarch64 等待 gdb 客户端连接它,发送进一步的指令。f表示格式:x(hex), d(decimal), c(char)7.查看寄存器的内容。

2023-09-16 22:55:48 429

原创 用实例理解c语言的多参数传递过程

/传递进来的参数 依次压入堆栈 x1-x7 c8-d8-e8-f8-0x100-[x0 栈顶指针的位置]//测试 sp+0x38 0xFFFFFFC8 & 0x1F 是否等于0,等于0的话跳转到loc_3718。//传递进来的参数 依次压入堆栈 x1-x7 c8-d8-e8-f8-0x100-[x0 栈顶指针的位置]//7*8=56 0x38 0xFFFFFFC8 + 0x38 = 0x00000000 即-0x38。//[sp+0x38] & 0x1f 不等于0, 自加8。

2023-09-16 22:03:14 446

原创 qemu 模拟stm32f103RB uart && system tick

其实就是用 103的bin文件,qemu用的模拟器是205的。system tick属于芯片核里面的,估计寄存器地址一样。因为keil中的代码模拟的是stm32f103,其串口的基地址为 0x40013800,需要修改。keil4.72.0.0 设置输出 bin asm。

2023-09-02 22:54:01 1199

原创 python hexdump实现 open一个bin文件 并显示之

python hexdump实例

2023-08-11 12:17:01 553 4

Frontline 蓝牙协议分析软件 cpas

Frontline 是一款蓝牙协议分析软件

2023-11-16

stm32 dfu上位机软件

重新编译了原厂程序,原厂程序烧录之前会有一个对话框的提示,需要用户选择,我把它去除了,选定文件之后,直接可以下载

2018-04-02

stm32 dfu文件生成 命令行工具

从官方扒下的代码,用mfc控制台模式重新整合, 没有使用DfuSeCommand里面的那些库, 只提取了与产生dfu文件相关的几个cpp文件

2018-04-02

AXMLPrinter2.rar

AndroidManifest.xml 解密 解压apk文件后,AndroidManifest.xml 是乱码,因为已经被压缩过了 使用AXMLPrinter2 可以解密回来

2020-08-21

sourceinsight.rar

阅读代码神器 带 utf-8 label php插件

2021-08-02

apktool最新版

apktool2.3.3,目前最新版,dex2jar-2.0.zip,jd-gui-windows-1.3.0.zip,全套,省得去网上找了,低版本apktool在反编译和回编的时候,有可能出错。

2018-06-23

systemd.rar

编译systemd需要的libkmod 使得系统可以自动加载内核模块 ubuntu的默认配置是没有开启kmod模块 如果没有安装 libkmod库的话 内部包含文件: 1. systemd_229.orig.tar.gz 2.kmod-libkmod_shared.zip

2019-12-19

libevent for android

libevent for android 自己调试通过

2016-11-12

android jni helloword

android jni例程,主要是环境的配置,在android studio2.3.3调试通过

2018-06-23

android aidl 实例

android aidl 实例

2017-02-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除