自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 memset 的x86 32bit实现函数

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

2024-04-01 16:35:43 189

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

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

2024-04-01 16:18:39 164

原创 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 566

原创 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 577

原创 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 902

原创 mfc 疑难杂症之一

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

2024-02-23 06:41:27 747

原创 arm 汇编 dump buff data

dump_buff:STMFD SP!skip_next:

2024-02-04 23:51:41 473

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

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

2024-02-03 18:33:01 630

原创 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 616

原创 hexdump 命令 -e 选项

hexdump -e option

2023-10-20 20:08:11 465

原创 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 284

原创 用实例理解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 298

原创 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 681

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

python hexdump实例

2023-08-11 12:17:01 350 3

原创 nand flash oob64 算法实例代码

oob nandflash

2023-07-25 17:40:06 237

原创 crc16

RC16-CCITT是一个16位的循环冗余校验(CRC)算法,它是由国际电报电话咨询委员会(CCITT)制定的。处理顺序(Processing Order):按照数据的字节顺序(从高位到低位或从低位到高位)依次处理每一个字节,每个字节的最高位先处理。多项式生成器(Polynomial Generator): x^16 + x^12 + x^5 + 1。crc16_ccitt(0x200 个 0xff) = 0x7FA1。多项式: 1021 x^16 + x^12 + x^5 + 1。

2023-07-18 22:09:33 144 1

原创 没饭吃之 获取物理网卡的所有信息

MFC ethernet info get

2023-06-01 12:03:46 739

原创 android p java 调用栈输出

import android.os.Debug; Log.w(mTag, "makeDhcpClientx: " + Debug.getCallers(50));

2023-04-19 17:00:28 125 1

原创 c lz4解压代码

解压算法 lz4

2023-03-30 22:01:44 483

原创 uboot 自拷贝运行流程关键代码理解

uboot relocate_code board_init_f board_init_r

2023-02-23 09:51:58 228

原创 sed 细节理解 . && .*

第2个 / 后面跟了69999, 第2次命中的内容为 /69999,碰到 \7停止。第一个 / 后面跟了一个 /,没有命中,但是后面不是 .*,是 *带 .* 匹配上第一个之后,后面的内容不再分析,直接匹配上。第2个/后面匹配上了,整句话后面不再分析,直接匹配。第一个/后面跟 /,没有匹配上 注意有一个.不带 .的* 会逐个字节分析匹配字符串。[^\\/] ^ 不是 \ 或者 /12345 不是以 /开头 没有替换。所以此次命中的就是1个 /,|\|| 替换为 |

2023-02-05 08:40:07 522

原创 makefile debug

makefile debug

2022-11-16 09:31:12 1025

原创 无题之2

我也不知道

2022-11-14 15:42:18 323

原创 python helloworld

python hello world!

2022-10-25 14:41:15 215

原创 无题之1(ASM)

无题

2022-10-14 18:46:56 404

原创 cpp层直接操作 surface

android 绕过java 操作surface

2022-07-27 20:31:13 409

原创 android hwcomposer 抓取各个显示图层的raw显示数据

android 显示

2022-07-25 17:38:45 851

转载 errno错误码及含义(中文)

https://www.cnblogs.com/pengdonglin137/p/3326460.html

2022-07-25 15:08:33 10190 1

原创 静态库修改初探

1.ar -x xxxx.a 解包2.modify the elf format .o bin files 修改3.ar -rcs xxxx.a *.o 重新打包in_get_sample_rate ->UU_UUU_sample_rate

2022-04-19 14:54:31 318

原创 linux shell 搜索文件夹

#! /bin/bashecho "fuck start..."function read_dir() {for file in `ls $1` do if [ -d $1"/"$file ]; then read_dir $1"/"$file else path=$1"/"$file echo path=$path cat $path > /tmp/xcvb.txt r...

2022-03-21 10:52:24 1721

原创 android usb摄像头 抓取一张图片 yuv格式 yuyv(yuy2)

//#加了点注释//#Rockie Cheng#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <getopt.h> #include <fcntl.h> #include <unistd.h>#include <err...

2022-03-11 21:57:23 4181

原创 Android android.bp使用 编译宏

以 hardware 下的[email protected] 为例。android.bp//// Copyright (C) 2016 The Android Open Source Project//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the .

2022-02-25 10:23:17 2756

原创 android linux 内核驱动传递 编译宏

在makefile中ifeq ($(BUILD_BOARD), xxxx) ccflags-y += -DYYYYelse ccflags-y += -DKKKKendifBUILD_BOARD 是在mk中所定义的 环境变量然后,内核c代码中就有宏定义了YYYY或者KKKK

2022-02-25 10:15:59 2343

原创 ubuntu ftp 服务的使用

Linux(Ubuntu 16.04)搭建ftp服务器(最简单版)Linux(Ubuntu 16.04)搭建ftp服务器(最简单版)_null_qiao的博客-CSDN博客1.关于上传文件ftpput: unexpected server response to STOR: 553 Could not create file.ftpput 192.168.11.43 anonymous/x5GoogleChrome-v81.0.4044.117.apk ftp/an...

2021-12-22 17:50:33 649

原创 linux 某文件夹下只保留最近的n个文件 其余删除

int clear_old_files( void ){ int i,index,len,current_start,cnt; char buffer [RESULT_MAX_BUFF_SIZE]; char cmd_str[RESULT_MAX_BUFF_SIZE]; char name[128]; //strcpy( cmd_str, "busybox ls -t /data/system_log/ | sed -n \'...

2021-12-10 09:31:45 1004

原创 第一个MIPS程序

LEAF(mips_asm_test_fun) li t1,11add t0,t1,22add t0,t0,33move v0,t0j raEND(mips_asm_test_fun)#testcall asm fun...ret = 0x42do my test work...*** command status = 0

2021-11-26 21:33:20 396

原创 Android 按键事件流程

#号键 的处理流程keyCode=18, scanCode=2281.linux kernel阶段scanCode=2280001 00e4 00000000 14*16 224+4=228内核驱动层发送 输入事件 228/vendor/etc/remote.tab10x96 0x55 #TELECOM_VOICE添加一个按键0x96 代表扫描码0x55 输入事件的值,也是上层的扫描码2.input 服务/vendor/usr/keylayout/Vend...

2021-09-26 19:46:27 467

原创 批处理学习资源

用Random产生1到10之间的一个随机数 - 熊仔其人 - 博客园bat脚本里面if else if的写法 - 熊仔其人 - 博客园

2021-09-24 15:09:42 905

原创 正则表达式 获取系统序列号

getprop |grep ro.serialno |awk '{print $2}' |sed 's/\[//g' |sed 's/\]//g' 解释一下:'{print $2}' 以空格隔开的第2部分sed 's/\[//g' 不需要 '['字符 替换为空sed 's/\]//g' 不需要 ']'字符 替换为空

2021-09-17 10:36:53 467

原创 printk直接输出消息到控制台

cat /proc/sys/kernel/printk 0 4 1 7第一个参数为0 不能直接输出到控制台只能用dmesg方法查看 缺乏实时性echo '7 4 1 7' > /proc/sys/kernel/printk这样就可以实时输出调试信息到串口控制台了该文件有四个数字值,它们根据日志记录消息的重要性,定义将其发送到何处。关于不同日志级别的更多信息,请查阅sysl...

2021-08-24 12:10:19 868

Frontline 蓝牙协议分析软件 cpas

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

2023-11-16

sourceinsight.rar

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

2021-08-02

AXMLPrinter2.rar

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

2020-08-21

systemd.rar

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

2019-12-19

apktool最新版

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

2018-06-23

android jni helloword

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

2018-06-23

stm32 dfu上位机软件

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

2018-04-02

stm32 dfu文件生成 命令行工具

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

2018-04-02

android aidl 实例

android aidl 实例

2017-02-22

libevent for android

libevent for android 自己调试通过

2016-11-12

空空如也

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

TA关注的人

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