- 博客(7)
- 收藏
- 关注
原创 Android逆向之旅---Native层的Hook神器Cydia Substrate使用详解
这里网上没有好的hook代码,这里我们为了更好的查看这个工具的牛逼之处,弄一个比较实际的案例就是hook系统加载dex的函数,这样我们就可以获取到每个应用的dex文件了,这种方式对于早期加固是一个比较好的脱壳方案。这里先获取当前进程名称,然后构造dex文件名,保存dex文件,最后一定要记得返回原始的函数,不能影响正常的流程。第二件事:**需要过滤系统进程,并不是所有的进程都是我们想要hook的,而且这些进程未必有dex文件,比如鼻祖进程zygote,而这些进程过滤规则,需要我们自己打印看结果。
2024-09-08 07:56:40
1261
原创 Android性能优化:这些绘制优化你千万不能忽略!太特么重要了!
clipRect()作用:给 Canvas 设置一个裁剪区域,只有在该区域内才会被绘制,区域之外的都不绘制布局 = 左抽屉布局@Override// …仅贴出关键代码// 1. 遍历 DrawerLayout 的 child view,拿到抽屉布局i++) {= VISIBLE||!continue;// a. 若是左抽屉布局// 则取抽屉布局的右边界作为裁剪区的左边界、设置原主布局的裁剪区域,如上图裁剪区域// b. 若是右抽屉布局。
2024-09-08 02:24:06
1113
原创 Android备忘录《内存泄漏》
熟悉Handler消息机制的都知道,mHandler会作为成员变量保存在发送的消息msg中,即msg持有mHandler的引用,而mHandler是Activity的非静态内部类实例,即mHandler持有Activity的引用,那么我们就可以理解为msg间接持有Activity的引用。在Android开发中,静态持有很多时候都有可能因为其使用的生命周期不一致而导致内存泄露,所以我们在新建静态持有的变量的时候需要多考虑一下各个成员之间的引用关系,并且尽量少地使用静态持有的变量,以避免发生内存泄露。
2024-09-07 15:51:20
1060
原创 Android 后台线程Thread调用前台线程Handler,延时线程,runOnUiThread使用,Timer延时,定时循环,倒计时
connect(5);
2024-09-07 03:39:00
340
1
原创 2020秋招某大厂面试官:刷掉一批又一批的Android开发面试者,有些话不得不跟你们说……
异常处理内部类匿名内部类多态抽象和接口集合框架HashMap结构图HashMap 的工作原理HashMap 与 HashTable 对比Base 1.7Base 1.8ArrayListLinkedList反射单例饿汉式双重检查模式静态内部类模式线程状态状态控制volatile根据获取的锁分类原理Lock锁的分类悲观锁、乐观锁自旋锁、适应性自旋锁死锁引用类型动态代理元注解。
2024-09-06 14:41:51
1497
原创 java this用法
本文介绍了Java中this关键字的用法,包括引用当前对象的实例变量、实例方法,以及调用当前对象的构造方法。在使用this关键字时,需要注意它的使用场景和注意事项。希望本文对你理解和使用Java中this关键字有所帮助!
2024-09-05 03:32:25
450
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人