- 博客(17)
- 收藏
- 关注
原创 Android c++内存异常检查
不是一定能检测出,固定case反复测试可以提高检测出的概率;不消耗性能,支持app中非root手机调试;target sdk版本大于等于30;
2023-08-09 21:14:01
721
原创 【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
445
原创 android app c++内存泄露检查工具
addHook来添加要监控的so库,检测工具会hook内存管理函数malloc和free,最后生成backtrack,然后使用addrtoline对应分配未释放的位置。将目标so库或者aar集成到测试工程,测试工程集成了检测工具,主要修改。
2023-07-27 10:19:06
292
原创 elf函数hook
系统加载so库到共享区、或加载bin到内存,都有内存的map映射;需要找到映射地址,修改映射地址的函数指针;基于以上原理,实现了xhook开源项目。
2023-07-27 10:14:50
191
原创 Android native内存泄露排查总结
Android开发通常涉及java层、native(c\c++)下的开发;内存的泄露也可以分为dalvik和native两种;java层的通常叫好分析,可以借助heapdump工具直接查看泄露的内存点;重点关注native内存泄露问题,通常Android支持的工具都比较少而且难使用,依赖malloc_debug的也运行起来非常的慢,一些多媒体处理相关的软件根本没法调试;下面是除工具以外,一些排查的经验方法:1、反复运行可能出现泄露的程序步骤,尽量单一;2、实现一个dump信息的脚本,
2022-04-18 21:34:47
5086
原创 c++进阶笔记(继承下的类型转换、虚函数表、运算符重载、模板
c++进阶笔记(继承下的类型转换、虚函数表、运算符重载、模板一 继承下的类型转换二 虚函数表三 运算符重载四 模板一 继承下的类型转换c++继承:c++支持多继承,也就是一个子类继承自多个父类;继承相关的类型转换:在使用中父子类型的继承是泛型的一种,通常一个类的指针可以通过类型转换表示多种类型;c++类对象类型转换有两种方式static_cast和dynamic_cast;static_cast 是静态转换类型pA为A类型对象指针,pB为B类型对象指针,注意为指针;pA = stati
2021-07-13 22:18:12
212
原创 开发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
1276
原创 通过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
3505
2
原创 万能的wifi空口Tcp抓包方式
主要介绍下最近使用中感觉很万能的空口抓包方式和wireshank分析工具使用;目的:抓取各种设备网络通信过程中数据包,定位并分析软硬件设计中问题背景:Tcp抓包方式有很多种,但是有一些限制:tcpdump方式,这种方式必须满足要抓取的设备能运行这个tcpdump的程序,一但遇到单片机设备或其它不支持这个程序的设备就没办法了; 利用电脑开热点,wireshank直接抓电脑wifi方...
2020-03-26 15:10:35
4728
转载 如何生成 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
711
原创 给虚拟机添加虚拟磁盘时出现uuid already exists解决办法
给虚拟机添加虚拟磁盘时出现uuid already exists解决办法出现这种问题可能是你将一个虚拟磁盘移动了位置,再次添加到虚拟机时提示uuid已经存在,也可能是其他导致,解决办法是让uuid不冲突,virtualbox有个工具VBoxManager可以为虚拟磁盘重新生成uuid:在cmd中:VBoxManager.exe internalcommands sethduu
2017-05-25 10:03:49
3760
原创 Android5.1视频解码过程分析(三)
Android5.1视频解码过程分析(三)接着上篇部分分析;1,onOMXFillBufferDone中的处理,实际是解码组建完成了解码操作,并且将解码数据放入到送入的输出buffer中了,该方法被调用,通知ACodec继续相应的处理;2,分析过程记录下MediaCodec和ACodec的消息机制,在ACodec中经常看到通过notify发送消息,如notify->post()
2016-08-10 09:26:31
3095
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人