Code Monkey home page Code Monkey logo

dreamland's Introduction

Dreamland Build Status

中文版本

Introduction

Dreamland is a Xposed framework implementation, you can use it to use Xposed modules.

  • Supports Android 5.0~14
  • Low invasiveness
  • For hooking third apps, only requires restart the target app, not the device
  • Strictly restrict modules, you can choose which apps need to load which modules

Note: Currently I do not have enough time and energy to maintain this project, so the development of this project will be inactive (but will not stop). I think other mature projects (like LSPosed and TaiChi ) will be good substitutes.

Warning

Dreamland needs to modify the system, installing Dreamland is dangerous; In any case, please back up your data yourself and be prepared for equipment damage, your use of Dreamland is at your own risk, we are not responsible for any of your losses.

Install

  1. Install Magisk (the latest version is recommended).
  2. Install Riru or turn on Zygisk in Magisk app and reboot.
  3. Download and install Dreamland in Magisk app. Installing from custom recovery is NO longer supported.
  4. Install Dreamland Manager
  5. Reboot. (For Magisk < 21006, you have to reboot twice.)

Download channel

  • Beta: Test version, released by the developer, download from our GitHub Release Page.
  • Canary: Test version, automatically build by CI, use of the version is at your own risk. Download from Azure Pipelines.

Known issues

  • Thanox not working. Do NOT use Thanox otherwise your device will go into bootloop.
  • New XSharedPreferences is not implemented in Dreamland, some modules that requires this feature will not work. We are planing a new API named "XRemotePreferences", please go to this page to learn more and talk to us.

Discussion

Credits

  • Xposed: the original Xposed framework
  • EdXposed
  • LSPosed: another modern Xposed framework
  • Magisk: makes all these possible
  • Riru: provides a way to inject codes into zygote process
  • Pine: ART hooking library

dreamland's People

Contributors

canyie avatar mlgmxyysd avatar yujincheng08 avatar zh40le1zoob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dreamland's Issues

[Feature] Enhanced Hide Support

目前梦境已经支持riru v22及她自带的隐藏功能,现在/proc/self/maps已经没有libriru_dreamland.so了;但是目前还有很多特征没有隐藏:

  1. 现在还没有隐藏dreamland.jar,直接读maps就能找到,可以做一个名称随机化之类的;或者改到一个普通应用读不到的位置,然后InMemoryDexClassLoader加载(只要内存中存在被magisk替换过的文件就一定会被发现,哭唧唧) 已实现在 80888f6
  2. libriru_dreamland.so的后半部分也可以考虑随机化(前面固定了改不了),以在riru hide未启用的情况下阻止应用检测到梦境 不搞了,反正有现成的 riru hide
  3. 对于Resources Hooking目前是在/data/dalvik_cache/下面生成dex然后加载,名称也是固定的,可以考虑不缓存直接InMemoryDexClassLoader加载 已实现在 d2dd846
  4. 打开Pine自带的反检测开关,maps里的[anon: pine cores]太显眼了
  5. 管理器也可以搞一个随机包名

Safetynet fail

Sony Xperia Z5 android 7.1.1, with global mode enable safetynet fail, without only one module work and have checked in apps options

NFC服务FC

问题:使用模块thanox,激活后NFC服务无限fc

系统:lg 8.0

ed和旧版lsp都没有这个问题。THANOX那边说是nfc权限问题,附件是thanox提取的logs。希望大佬有空看下能否解决这个BUG.

thanos_logs.zip

咨询此模块集成到aosp 源码

你好作者,我想把此模块集成到aosp源码中,无需通过magisk模块安装。通过编译源码打包成rom。作者能给出相关集成方法么?

[TODO] Hooking into isolated process and app zygote

对于isolated process(隔离进程,或者叫孤立进程),不被允许访问现在替换的clipboard service,所以无法与在system server运行的管理服务进行交互,可能需要改替换目标;而且它每次运行的uid都是随机的,很难判断它属于哪个app;
至于app zygote,它是一个child zygote,根本不被允许进行binder transaction,需要想办法绕开;而且就算进去了,现有的Xposed回调也不适用于app zygote,需要开新的api(IXposedHookAppZygoteInit)。

GravityBox not work

Hi i installed dreamland and it's activated
i installed gravitybox check it and framework and systemUI
after restart the module work but there is no effect like battery icon or ram bar
(with or without resource hook)
Redmi note 8 runing RRos A10

No modules in modules.

Does this implementation have dependencies on google api calls?

When using an e nougat rom (e.foundation) I get no enumeration in modules tab.

e is lineage os with all google api removed.

Zygisk support?

Zygisk support if it is possible, The other xposed can't install because old phone, Sony Xperia Z5 android 7.1.1

[Feature] Add command line tool for managing configurations

Now we can only apply configurations via Dreamland Manager or edit the configurations files directly. If the user disabled framework (e.g. stop bootloop caused by modules), manager will not able to disable that module until framework be enabled (active or safemode).
So we plan to add a command line tool to manage configuration.

启用梦境框架模块会导致Magisk Zygisk无法正常开启

我确实不确定这个问题应该反馈到Magisk还是dreamland模块这边

不过关闭梦境框架模块后zygisk能够正常启动,所以目前我认为是梦境的问题

目前切换回到了riru模式,至少riru看起来一切工作正常

日志会在稍后贴出

UnsatisfiedLinkError: error initializing public namespace: "libdreamland.so" was not found in the default namespace

问题:安装Dreamland后,大部分应用闪退
logcat:

02-05 11:10:44.888 15784 15784 E AndroidRuntime: java.lang.UnsatisfiedLinkError: Unable to create namespace for the classloader dalvik.system.PathClassLoader[DexPathList[[zip file "/system/priv-app/ViPER4AndroidFX/ViPER4AndroidFX.apk"],nativeLibraryDirectories=[/system/priv-app/ViPER4AndroidFX/lib/arm, /system/fake-libs, /system/priv-app/ViPER4AndroidFX/ViPER4AndroidFX.apk!/lib/armeabi, /system/lib, /vendor/lib, /system/vendor/lib, /product/lib, /system/lib, /vendor/lib, /system/vendor/lib, /product/lib]]]: android_init_namespaces failed: error initializing public namespace: "libdreamland.so" was not found in the default namespace
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:54)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:58)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:540)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.LoadedApk.getClassLoader(LoadedApk.java:573)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.ActivityThread.getTopLevelResources(ActivityThread.java:1993)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.LoadedApk.getResources(LoadedApk.java:799)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.ContextImpl.<init>(ContextImpl.java:2218)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.ContextImpl.createAppContext(ContextImpl.java:2163)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5618)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.ActivityThread.handleBindApplication(<Xposed>)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.ActivityThread.-wrap2(ActivityThread.java)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1640)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:105)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:156)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6595)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
02-05 11:10:44.888 15784 15784 E AndroidRuntime: 	at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)

设备信息:
HuaWei Honor DUK-AL20
Android 7.0
装了Xposed

Framework and Chrome error on Nougat

hello,

just after installing Riru+Dreamland 2.1-2101, on next reboot "android has stopped" error comes up (1 time on every reboot). Chrome never starts. No module is in use. Android version is 7.1.2 and Selinux is permissive (device is chinese Android Box).

thank you

Xposed edge pro无法使用

在梦境中,我已将模块本身和系统界面勾选并重启,但模块依然不生效,并显示 “模块未激活(或未更新), 请在Xposed installer中激活,然后重启。”
在lsposed中模块并无此状况。

哔哩漫游在最新版本失效

安装了最新版本2101,使用后发现哔哩漫游失效了,哔哩漫游版本1.5.7。
在lsp好好的,换成梦境失效了。

I am wondering how you build successully

I download your project , but I build faild.

\Dreamland-master\app\src\main\java\android\app\AndroidAppHelper.java:3: 错误: 找不到符号
import android.content.SharedPreferences;
^
符号: 类 SharedPreferences
位置: 程序包 android.content

Chrome not loading webpages after installing Dreamland Framework.

Hey there

I like Dreamland so much because it can pass safetynet. Bu after installing this framework, Chrome browser can't load any single webpages.

My device name is Samsung Galaxy Note4 S-LTE (codename- tre3calteskt), rooted by Magisk and Dreamland framework installed. It's current running OS is a custom OS named Refined Note8, android version 7.1.1 (API 25). I also attached some screenshots with more info and also the error logcat. If you want more information please let me know.

Screenshot_20210926-194024

Screenshot_20210926-192424

logcat_09-26-2021_19-23-51.txt

白名单模式不太对

app和magisk包用了群里的测试版
发现问题如下

默认白名单模式下勾选 android 和systemui

 public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam){
           XposedBridge.log("on handleLoadPackage");
           XposedBridge.log("current package "+loadPackageParam.packageName);
          .....

的日志中没找到android 和 systemui的打印输出 实际观测hook没生效

反而发现了打印了几个白名单中没有勾选的app

2020-12-09 16:04:42.500 9291-9291/? I/PineXposed: current package com.meizu.flyme.sdkstage
2020-12-09 16:04:42.936 9360-9360/? I/PineXposed: current package com.meizu.flyme.update
2020-12-09 16:04:45.604 10338-10338/? I/PineXposed: current package com.qualcomm.qti.sva
2020-12-09 16:04:51.683 10547-10547/? I/PineXposed: current package com.meizu.connectivitysettings
2020-12-09 16:04:53.693 10860-10860/? I/PineXposed: current package com.android.keychain

开启全局模式下可以看到对应的日志打印

2020-12-09 16:00:30.021 2299-2299/? I/PineXposed: current package com.android.systemui

但是全局模式下系统黑屏【日志稍后提供】

请教关于xhook冲突问题

首先我觉得楼主真的脑洞大开,居然通过public.libraries.txt来注入so, 哇靠,真的很棒,非常优秀。另外我也非常佩服太极阳,也是非常轻量级的注入到了进程,但是由于没开源不知道使用啥原理,不过我觉得楼主的注入方式要比riru要好的多,不用替换so就能注入到进程了。

我的问题点:
关于使用xhook hook 了jniRegisterNativeMethods,那么如果别人使用了riru,会不会2个都使用了xhook hook了同一个native方法会不会造成冲突. 先抛开javahook的逻辑,因为我的需求是,把自己的dex注入到目标进程,不需要java的hook,希望楼主能回复我

无法准确识别推荐的作用域

设备:M2011K2C
android版本:12
MIUI版本:13.0.5
使用框架:zy版梦境
出现问题:部分模块无法显示出推荐的作用域
解决方法:无
出现几率:100%

请解决问题

哔哩漫游模块用梦境框架激活提示不支持此框架,请解决一下

[Feature] Add new API for query the features supported by the framework

自rovo89停更后(Xposed API 89+),Xposed API Version十分混乱,很多features在这个框架有,那个框架没有;不如添加新的查询API,初步设计有 getAvailableFeatures(),isFeatureAvailable(feature),meta-data里也可以require feature,如果没有拒绝激活。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.