相信等的那一天会到来

厚积而薄发

 

【Android逆向】一些零碎的笔记

* 在 /sdcard/ 下的文件无法执行 , 必须将其拷贝到其它位置执行 , 如 /data/ 目录 , /data/ 目录中是 system 分组 , 可以执行程序 ;

* 每个应用都会创建一个对应的 应用用户 , 如 : cn.abcpiano.pianist 包名的应用 , 创建了一个 u0_a147 用户 ;

* getprop ro.product.cpu.abi 用于获取 CPU 架构类型

* adb shell dumpsys window | findstr mCurrentFocus 相看当成运行的app包名和Activity

* mount -o remount,rw /   执行命令 , 将根目录重新挂载 , 格式设置为读写格式 ;就可以在/system/lib等原ro目录下写入文件了。 
  Android 5.0 系统开始 , Android 系统加载 so 动态库时 , 只能加载应用内的 so 或者系统 /system/lib/ 下的 so ;
  在逆向中 , 如果想要注入 so 代码 , 修改应用的 so 比较困难 , 要涉及重打包签名等问题 , 如果将 so 直接添加到 /system/lib/ 目录下 , 就比较简单了 ;

* libdvm.so 动态库是 Android 的 Dalvik 虚拟机使用的动态库 ; Android 5.0 及以下系统使用 Dalvik 虚拟机 ;

* libart.so 动态库是 Android 的 Art 虚拟机使用的动态库 ; Android 5.1 及以上系统使用 Art 虚拟机 ;

* 普通应用 会安装到 /data/app/ 目录;
  系统应用 , 会安装在 /system/app/ 目录下 ;
  在 /data/data/package.name/ 目录下生成该应用的对应目录 , 这是应用的内存存储空间 , 应用拥有该目录下的所有权限 , 存放应用运行时所需的数据

* pm list package -f 包名,可以查看应用安装路径

posted on 2023-12-02 08:53  奔跑吧  阅读(4)  评论(0编辑  收藏  举报

导航