android
groundhappy
这个作者很懒,什么都没留下…
展开
-
查找android对应的navtive so函数地址
第一是从so文件里面查找。导出表以及符号。另外一种就是 一般会在JNI_OnLoad里面注册 native函数。native函数定义如下。typedef struct { const char* name; const char* signature; void* fnPtr;} JNINativeMethod;jint RegisterNatives(jc...原创 2018-05-14 09:39:17 · 2792 阅读 · 0 评论 -
测试编译art部分
source build/envsetup.sh&&lunch rk3288-userdebug启动环境cd ./art/runtimemm -j8编译好的文件位于/out/target/product/rk3288/system/liblibart.so 如果是从ArtMethod的Invoke调用的。那么进入EnterInterpreterFro...原创 2018-12-07 16:16:13 · 681 阅读 · 0 评论 -
android java 虚拟机 thread
第一个线程是在 切记 所有后来的进程都是zygote孵化出来的。所以只很多前期初始化的工作不会再次进入。比如Create startvm等等因为是fork的init 启动了zygote zygote启动了 system_server然后等待system_server传递启动activity的消息过来。等待的时候zygote已经进入vm虚拟机器了。每次接受到system_server的消息就执行...原创 2018-08-10 21:28:03 · 302 阅读 · 0 评论 -
android DDMS 调试的几个关键
第一是能够在DDMS中看到进程和线程 首先要将default.prop的debuggable修改为1使用https://github.com/liudongmiao/bootimg实现解压bootimg的修改和打包。 使用原来的 先 --unpack-bootimg再--unpack-ramdisk修改完毕以后先--repack-ramdisk再--repack...原创 2018-07-13 11:21:44 · 725 阅读 · 0 评论 -
xposed初探1
新建一个android工程工程内新建一个lib目录1 将xposed的jar api包放进来api-82.jarapi-82-source.jar 2 在两个jar包上右键Add as library 点击OK确认配置这两个jar包为provided.因为安装xposed框架的时候框架里面会自动带。所以要把compile修改为provided在File--&...原创 2018-06-20 16:11:52 · 453 阅读 · 0 评论 -
Virtual Box 安装 Android x86 关键点
1 设置->系统->主板->指点设备选择 PS/2鼠标2 安装的时候要格式化系统 选择new 分区 选择Bootable3 选择Linux 其他版本linux原创 2018-05-24 17:40:37 · 1139 阅读 · 0 评论 -
尝试在清华源下载openthos源码
安装git gnupg gnupg2相关链接https://mirrors.tuna.tsinghua.edu.cn/help/openthos-src/https://mirrors.tuna.tsinghua.edu.cn/help/git-repo/https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/1下载repocurl https://mirro...原创 2018-05-29 12:25:03 · 2633 阅读 · 0 评论 -
UNICORN模拟ARM遇到的问题记录
ARM指令为4字节THUMB指令为2字节THUMB2 指令可能是2字节,也可能是4字节 (通过PC的最低bit位来检测)问题1 在使用UNICORN模拟器 THUMB2 的时候,返回 UC_ERR_INSN_INVALID一定要检查当前设置PC值是不是正确因为在unicorn_arm.c中对于reg_write写入PC寄存器的时候case UC_ARM_REG_R15: ...原创 2018-05-24 15:29:13 · 2891 阅读 · 1 评论 -
android的native_bridge
开门见山。native_bridge就是让不同指令集能够运行。这里主要是在X86上跑ARM后续的均以android6.0为例在加载so文件的时候。最后调用到了art/runtime/java_vm_ext.cc当中的JavaVMExt::LoadNativeLibraryvoid* handle = dlopen(path_str, RTLD_NOW); bool needs_native...原创 2018-05-29 14:51:40 · 4534 阅读 · 0 评论 -
android studio 添加第三方库so
也就是在Project目录中main 目录下新建jniLibs。并且建立相应的版本文件夹, 然后直接把so文件拷贝过去。如果我只有32位的so。没有64位的so 。那怎么办呢?在android下面增加ndk { abiFilters "armeabi", "armeabi-v7a"}保留你要的abiFilters。比如arm64-v8a这种不写。那么就不会用arm64的了。...原创 2018-05-08 11:31:36 · 314 阅读 · 0 评论 -
xposedhook部分记录
https://blog.coderstory.cn/?s=xposed之前看到有人发了关于使用xposed屏蔽抖音检测xposed的思路(https://www.52pojie.cn/thread-684757-1-1.html),贴出了部分伪代码,但觉抖音写的蛮有意思的,自己对这方面也不是很清楚,毕竟Android我没怎么学习。借这个机会,了解一下。写的不是很清楚,大家多多抱哈啊!~~整理了一...原创 2018-05-08 11:18:45 · 1352 阅读 · 0 评论 -
使用IDA调试执行android调试
1首先在IDA的dbgsrv下面查找android_server找到对应需要的版本。2将android_server放到android设备的目录下。并且以root方式启动android_server会启动一个监听端口和远端的gdb通信。默认为23946如果 调试机器和被调试android机器不再一个局域网 ping不通的话。需要用adb将这个端口转发到本机端口上来。adb forward tcp:...原创 2018-05-14 12:11:16 · 2652 阅读 · 0 评论 -
frida初探1
frida包括客户端和服务。服务运行在windows上面 通过Pip install frida安装安装比较慢的话 直接下载frida-12.6.13.tar 执行python setup.py install然后会要继续下载frida-12.6.13-py3.7-win-amd64.egg如果也慢的话。修改setup.py 的egg_url自建服务器url ...原创 2019-08-15 08:27:44 · 537 阅读 · 0 评论