自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Android c++内存异常检查

不是一定能检测出,固定case反复测试可以提高检测出的概率;不消耗性能,支持app中非root手机调试;target sdk版本大于等于30;

2023-08-09 21:14:01 693

原创 cmake编译so库没有符号表问题

cmake 符号表

2023-08-02 23:20:56 451

原创 【Android ndk内存泄露检测】

(88条消息) Android native memory leak detect (Android native内存泄露检测)_良秋的专栏-CSDN博客_android native 内存泄露封装 shell 脚本 | Android NDK | Android Developers (google.cn)GitHub - wangwangchen/malloc-debug: study of malloc debug...

2023-08-01 23:36:17 367

原创 android app c++内存泄露检查工具

addHook来添加要监控的so库,检测工具会hook内存管理函数malloc和free,最后生成backtrack,然后使用addrtoline对应分配未释放的位置。将目标so库或者aar集成到测试工程,测试工程集成了检测工具,主要修改。

2023-07-27 10:19:06 245

原创 elf函数hook

系统加载so库到共享区、或加载bin到内存,都有内存的map映射;需要找到映射地址,修改映射地址的函数指针;基于以上原理,实现了xhook开源项目。

2023-07-27 10:14:50 175

原创 Android native内存泄露排查总结

Android开发通常涉及java层、native(c\c++)下的开发;内存的泄露也可以分为dalvik和native两种;java层的通常叫好分析,可以借助heapdump工具直接查看泄露的内存点;重点关注native内存泄露问题,通常Android支持的工具都比较少而且难使用,依赖malloc_debug的也运行起来非常的慢,一些多媒体处理相关的软件根本没法调试;下面是除工具以外,一些排查的经验方法:1、反复运行可能出现泄露的程序步骤,尽量单一;2、实现一个dump信息的脚本,

2022-04-18 21:34:47 4768

原创 c++进阶笔记(继承下的类型转换、虚函数表、运算符重载、模板

c++进阶笔记(继承下的类型转换、虚函数表、运算符重载、模板一 继承下的类型转换二 虚函数表三 运算符重载四 模板一 继承下的类型转换c++继承:c++支持多继承,也就是一个子类继承自多个父类;继承相关的类型转换:在使用中父子类型的继承是泛型的一种,通常一个类的指针可以通过类型转换表示多种类型;c++类对象类型转换有两种方式static_cast和dynamic_cast;static_cast 是静态转换类型pA为A类型对象指针,pB为B类型对象指针,注意为指针;pA = stati

2021-07-13 22:18:12 196

原创 开发Android系统应用

Android系统应用通常放在/system/app和/system/priv-app中,priv-app中拥有更高的权限,应用安装到系统有两种方式;一、系统整体编译应用的Android.mk声明LOCAL_PRIVILEGED_MODULE := true这样通过mk编译出的apk将打包到img,img烧写后开机自动安装在/system/priv-app二、push外部开发的应用到/system/priv-app1、可以按照Android studio编译出未签名的apk2、.

2020-11-16 19:26:12 1238

原创 通过AudioRecord过程详解Android Audio系统

从Android API AudioRecorder构造过程开始:构造函数调用了native_setup native函数,在android_media_AudioRecorder.cpp jni文件中,基本的API接口都对应了native接口。 private native final int native_setup(Object audiorecord_this, Object /*AudioAttributes*/ attributes, .

2020-11-12 11:12:15 3355 2

原创 万能的wifi空口Tcp抓包方式

主要介绍下最近使用中感觉很万能的空口抓包方式和wireshank分析工具使用;目的:抓取各种设备网络通信过程中数据包,定位并分析软硬件设计中问题背景:Tcp抓包方式有很多种,但是有一些限制:tcpdump方式,这种方式必须满足要抓取的设备能运行这个tcpdump的程序,一但遇到单片机设备或其它不支持这个程序的设备就没办法了; 利用电脑开热点,wireshank直接抓电脑wifi方...

2020-03-26 15:10:35 4470

转载 如何生成 AAC ADTS 基本流与 Android MediaCodec 标签: Android 发布时间: 2013/12/10 20:29:50 本文来自: http://stackoverfl

如何生成 AAC ADTS 基本流与 Android MediaCodec标签: Android发布时间: 2013/12/10 20:29:50本文来自: http://stackoverflow.com/questions/18862715/how-to-generate-the-aac-adts-elementary-stream-with-android-media

2017-10-20 10:38:23 693

原创 给虚拟机添加虚拟磁盘时出现uuid already exists解决办法

给虚拟机添加虚拟磁盘时出现uuid already exists解决办法出现这种问题可能是你将一个虚拟磁盘移动了位置,再次添加到虚拟机时提示uuid已经存在,也可能是其他导致,解决办法是让uuid不冲突,virtualbox有个工具VBoxManager可以为虚拟磁盘重新生成uuid:在cmd中:VBoxManager.exe  internalcommands sethduu

2017-05-25 10:03:49 3664

原创 Linux 4.1最新内核usb与hid驱动分析记录

Linux hid驱动分析记录 从usb到hid core ,hiddev

2017-05-11 13:56:49 4152

原创 Linux HID分析

Linux hid子系统实现原理以及访问方式

2017-04-26 11:20:24 11285 2

原创 Android5.1视频解码过程分析(三)

Android5.1视频解码过程分析(三)接着上篇部分分析;1,onOMXFillBufferDone中的处理,实际是解码组建完成了解码操作,并且将解码数据放入到送入的输出buffer中了,该方法被调用,通知ACodec继续相应的处理;2,分析过程记录下MediaCodec和ACodec的消息机制,在ACodec中经常看到通过notify发送消息,如notify->post()

2016-08-10 09:26:31 3062

原创 Android5.1视频解码过程分析(二)

android5.1视频解码

2016-08-09 16:25:29 1664

原创 Android5.1视频解码过程分析(一)

Android5.1视频解码过程分析

2016-08-09 15:55:05 3050

空空如也

空空如也

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

TA关注的人

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