最新公告
  • 欢迎您光临牛品源码,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • byOpen v1.0

    • 授权方式:开源软件
    • 界面语言:简体中文
    • 文件大小:169 KB
    • 更新时间:2020-07-27
    • 资源类型:国产软件
    • 推荐等级:★★★☆☆
    • 平台环境:JAVA
    • 作者主页:点击查看
    • 演示地址:点击查看

    详细介绍 – [ byOpen v1.0 ]

    byOpen是一个绕过移动端系统限制的增强版dlfunctions库。

    byOpen特性

    支持App中加载和使用Android系统库接口(即使maps中还没有被加载也支持)。
    Android 7以上dlopen, System.load都是被限制调用的,虽然目前网上有Nougat_dlfunctions等库通过从maps中找so库来绕过加载限制。
    不过对于app中还没被加载到maps的so库,这种方式就不行了。
    而byOpen不仅支持fake dlopen方式从maps加载,还可以将还没加载到maps的so库绕过系统限制强行加载进来使用,实现更加通用化得dlopen。
    注:目前的实现方式理论上还是比较通用的,至少我这Android 10上测试ok,但还没完整详细测试过,是否使用请自行评估。

    byOpen相关原理

    具体实现原理还是比较简单的,主要还是借鉴了一种绕过Android P对非SDK接口限制的简单方法的思想和实现方式。
    虽然这篇文章中主要目的是为了绕过hide api,不过它里面使用的将自己假装成系统调用的方式,一样可以用到System.loadLibrary上去,让系统以为是系统自身在调用System.loadLibrary
    从而绕过Android N的classloader-namespace限制,将系统/system/lib中任意so库加载到maps中,然后再通过fake dlopen的方式去dlsym。

    byOpen接口用法

    相关静态库和接口在:dlopen.h
    相关使用方式跟原生dlopen完全相同:
    typedef by_char_t const* (*curl_version_t)();
    by_pointer_t handle = by_dlopen("libcurl.so", BY_RTLD_LAZY);
    if (handle)
    {
    by_pointer_t addr = by_dlsym(handle, "curl_version");
    if (addr)
    {
    curl_version_t curl_version = (curl_version_t)addr;
    by_print("curl_version: %s", curl_version());
    }
    by_dlclose(handle);
    }

    相关阅读

    同类推荐:站长常用源码

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-500)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-500)
      4、网站中毒处理(需额外付费,1000元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: niupinyuanma@foxmail.com),我们会及时删除,给您带来的不便,我们深表歉意!