- 博客(7)
- 资源 (8)
- 收藏
- 关注
原创 JNI 获取包名
/** * 获取上下文 * @param env * @return */jobject getApplication(JNIEnv *env) { jobject application = NULL; jclass activity_thread_clz = env->FindClass("android/app/ActivityThread"); if...
2018-06-27 18:21:06 4415
原创 Android 字母侧栏索引菜单
最近在做选择城市的列表,需要用到那个字母索引的,觉得这个东西不难就想偷偷懒百度算了,后来找了好几个都感觉写的太复杂了,想想还行自己写一个简单一点的算了,于是就有了下面的字母侧栏索引菜单控件了。我写的这个很简单,基本都是LinearLayout和TextView,反正就是简单的不能再简单了有两部分,一个是侧栏控件SidebarView,一个是侧栏子控件SidebarItemView效果图:SideB...
2018-06-27 17:53:22 2037
原创 记第一次使用Xposed的感受
以前听到Xposed的时候,完全不知道是啥,后来听说这个东西很叼可以获取各种app的数据,我的天啊,真的很厉害的酱紫,于是就去下载来看看。不过使用这个Xposed是要root手机的,说到这先说个题外话,我的手机是华为的,半个月前就想root了,坑货的大华为,居然要登录账号15天才能解锁,苦逼的我为有等到今天才搞了,后来解锁了就高高兴兴的准备一键root了……苦逼,各大厂获取root的app都试过,...
2018-06-22 17:53:34 1422
原创 Android安全防护(3)-增加so文件的调试难度
人家说在NDK开发中,源文件的函数都有一个默认的visibility属性为public,编译生成的so文件中几乎所有的函数名、全局变量名均被导出,不过我感觉设置了好像作用也不太大,为了有这么一个知识点,还是写一遍吧。 其实关键的还是这个属性 -fvisibility=hidden 在Application.mk里面的写法是 LOCAL_CFLAGS := -fvisibility=h...
2018-06-21 11:14:17 337
原创 Android安全防护(2)-动态注册JNI方法
动态注册jni方法的好处就是增加逆向的分析难度两个对比较就会很容易发现没有加密的很容易就会知道那个方法是干啥的箭头1是根据javah自动生成的方法名箭头2是自定义方法名的,上面是加密过后的方法名 用动态注册的方式最主要的是建立一个映射表 //映射方法表static JNINativeMethod methods[] = { {"test...
2018-06-19 13:16:44 312
原创 记一次TabLayout的用法
问题1:最近在Android8.0上面遇到一个奇葩的事情,就是在布局文件里面设置TabLayout的item,不知为啥,运行起来的时候字体颜色没有显示,以下是没有显示的写法: <android.support.design.widget.TabLayout android:id="@+id/fragment_transaction_tab" androi...
2018-06-08 10:15:10 304
原创 Android安全防护(1)-实现一个简单的so文件反调试
引入的包:#include <sys/ptrace.h> 重新JNI_OnLoad JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved){ ptrace(PTRACE_TRACEME,0 ,0 ,0); return JNI_VERSION_1_6;}原理:ptrace被广泛...
2018-06-07 17:25:32 1114
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人