zoukankan      html  css  js  c++  java
  • Android设备直接运行java项目?还杀不死?

    思路:拿到dex可执行文件,使用android执行

    1. 使用idea创建java类库,写相关逻辑代码

    2. 使用idea导出该类库jar包

    3. 使用android dx工具 将jar文件转换为dex可执行文件
      dx --dex --output="$outputfilepath" "$filepath"

    4. 将xxx.dexpush到data/local/tmp目录下,并修改权限
      adb push "$filepath" /data/local/tmp
      adb shell;chmod 777 /data/lcoal/tmp/xxx.dex

    5. 使用app_process命令执行dex文件
      app_process -Djava.class.path=xxx.dex /data/local/tmp com.xxx.xxx.xxx
      命令最后直接跟的是类名,这样是无法运行的,需要添加完整的类名,即包名+类名

    6. 查询app_process的pid
      ps | grep app_process

    7. 查询该pid的进程等级
      cat /proc/pid/oom_adj
      查询结果为-17,不受android内存管理控制

    使用场景:
    1.可以用该项目提升权限,做一些应用层没有权限的工作
    2.可以常驻系统而不会被清理(除非程序挂了,或者手机重启)

    缺点:
    1.需要pc端开启该进程(某些应用声称需要使用pc端激活工具激活 )
    2.没有专属进程名,依附于app_process进程

  • 相关阅读:
    vue移动端滚动插件BetterScroll
    vue商品推荐信息展示 案例
    css吸顶效果
    vue TabControl案例
    首页导航栏样式 案例
    HO引擎近况20210713
    go定时器--timer
    go定时器--Ticker
    Go测试--main测试
    Spring 核心技术 AOP 实例
  • 原文地址:https://www.cnblogs.com/happyburglar/p/8081799.html
Copyright © 2011-2022 走看看