分类分类
大小:169 KB更新:2026-02-19
类别:其他网站源码系统:JAVA
byOpen是一个绕过移动端系统限制的增强版dlfunctions库。
支持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,但还没完整详细测试过,是否使用请自行评估。
具体实现原理还是比较简单的,主要还是借鉴了一种绕过Android P对非SDK接口限制的简单方法的思想和实现方式。
虽然这篇文章中主要目的是为了绕过hide api,不过它里面使用的将自己假装成系统调用的方式,一样可以用到System.loadLibrary上去,让系统以为是系统自身在调用System.loadLibrary
从而绕过Android N的classloader-namespace限制,将系统/system/lib中任意so库加载到maps中,然后再通过fake dlopen的方式去dlsym。
相关静态库和接口在: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);
}
同类推荐:站长常用源码
Screen to Gif 动画录制软件其他网站源码1.99 MBv2.41.12024-09-13
下载Dubbo服务框架其他网站源码5.66 MBv3.3.02024-09-13
下载开源向量数据库milvus其他网站源码5.98 MBv2.4.112024-09-13
下载DGIOT轻量级工业物联网开源平台其他网站源码8.33 MBv4.9.02024-09-13
下载nginx网页配置工具其他网站源码3.58 MBv4.2.42024-09-12
下载Highcharts图表库其他网站源码24.80 MBv11.4.82024-09-12
下载Countly移动分析应用其他网站源码26.67 MBv24.05.92024-09-12
下载Ant Design前端框架其他网站源码5.12 MBv5.20.62024-09-12
下载Memcached缓存系统其他网站源码644 KBv1.6.312024-09-12
下载WeUI微信UI库其他网站源码659 KBv2.6.162024-08-23
下载VvvebJs拖拽式自动生成网页其他网站源码1.13 MBv2.0.22024-08-23
下载ReactNative移动开发工具其他网站源码11.14 MBv0.75.22024-08-23
下载








