• Frida : 在Android上简单使用

     · Grape

    环境搭建

    frida-server : 12.8.19

    下载frida-server并解压

    xz -d frida-server-12.8.19-android-arm64.xz
    adb push frida-server-12.8.19-android-arm64 /data/local/tmp/frida-server-arm64
    

    修改权限并启动frida-server

    adb shell
    cd /data/local/tmp
    chown root:root frida-server-arm64
    chmod a+x frida-server-arm64
    ./frida-server-arm64
    

    遇 …

  • Kotlin : 使用 VSCode 运行代码

     · Grape

    安装扩展

    • Kotlin Language
    • Code Runner

    设置kotlinc路径

    $ANDROID_STUDIO/plugins/Kotlin/kotlinc/bin
    kotlinc -version
    

    安装JDK

    JDK安装完成后,设置路径,使其可以在命令行找到

    java -version
    
  • Linux Command : grep & sed

     · Grape

    如何利用grep和sed实现搜索和替换

    grep -Erl "M\\('local" .|xargs sed -Ei "" "s/M\\('local/M\\('remote/g"
    
    grep -Erl "http://loca" .|xargs sed -Ei "" "s/http:\/\/local/http:\/\/remote/g"
    

    grep

    • -E 将样式为延伸的普通表示法来使用
    • -r 此 …
  • Linux常用命令工具使用笔记

     · 3 min read  · Grape

    find

    在当前目录下查找某个文件:

    find -name "lib*.a"
    

    rsync

    Linux 下合并两个目录,软连接也一起同步。

    rsync -K -a 源目录  被覆盖目录
    

    比如:

    rsync -K -a …
  • Kotlin:object 与 companion object 的区别

     · Grape

    区别

    • object 可以定义在全局也可以在类的内部使用
    • object 就是单例模式的化身
    • object 可以实现 Java 中的匿名类
    • companion object 就是 Java 中的 static 变 …
  • capture package with charles

     · Grape
  • Android 8.1 源码分析:PackageInstaller

     · Grape

    PackageInstallerSession

    源码位置:PackageInstallerSession.java

    commit

    {% include_code lang:java from:689 to:750 aosp/8.1/frameworks/base/services/core/java/com/android/server/pm/PackageInstallerSession.java %} 该方法主要发送了一个MSG_COMMIT消息。下面看Handler如何处理这个消息。

    Handler.Callback

    {% include_code lang:java from …

  • Linux Process

     · Grape

    概念

    程序是一系列指令的集合,通常存为可执行文件。进程是程序的执行过程。

    进程属性

    使用ps可以查看系统正在运行的进程。 ps --help显示该命令的用法。

    ps -e -o USER,PID,PPID,GID,NAME
    USER …
  • The Implementation Details of Android's force-stop

     · 28 min read  · Grape

    基于AOSP 8.0.1源码分析force-stop的实现细节。

    使用 force-stop

    am force-stop com.example
    

    com.example 是应用程序包名。

    am命令

    cat /system/bin/am
    #!/system/bin/sh
    if [ "$1" != "instrument" ] ; then
        cmd activity "$@"
    else
        base=/system
        export CLASSPATH=$base/framework/am.jar
        exec app_process $base/bin com …
  • Debug Android Framework with Android Studio

     · Grape

    背景

    在阅读Android Framework代码时,有时需要动态调试加深理解,或者想调试某个API的实现原理(如startActivity)时,希望可以使用Android Studio调试,且可以对应到源码的每一行 …

  1. 1
  2. 2
  3. 3
  4. 4