inject-hook-cflumen | Android library injection and function hooking

 by   Chainfire C++ Version: Current License: Non-SPDX

kandi X-RAY | inject-hook-cflumen Summary

kandi X-RAY | inject-hook-cflumen Summary

inject-hook-cflumen is a C++ library. inject-hook-cflumen has no bugs, it has no vulnerabilities and it has low support. However inject-hook-cflumen has a Non-SPDX License. You can download it from GitHub.

CF.lumen is an Android (root) app that changes the colors on your screen, its original purpose was primarily to save battery on AMOLED devices, provide a red-only night mode that didn't destroy your night vision, and to provide f.lux-like functionality on Android. It has existed in various forms since the Android 2.x days. In the 2.x days, Chainfire3D hijacked Android's entire GL rendering pipeline, by proxying the EGL and GL libraries. Some of its purposes were to run apps and games written with support only for specific GPUs to work on all the phones, and tweak shaders and select graphics settings. CF.lumen (CF3D Night Mode) was an add-on to that, tapping into CF3D's plug-in system. Chainfire3D never made it into the 4.x era, as apps and games stopped being GPU-specific and started supporting most (if not all) of the hardware out there. The most used graphics tweaks (forcing MSAA for example) also became options in Android's developer settings, and the need to tweak individual shaders almost disappeared as well. CF.lumen was released from its Chainfire3D dependency and re-implemented as a library LD_PRELOAD'd into SurfaceFlinger, which required modifications to /system. On 5.x and beyond, root itself moved away from modifying the /system partition, and apps soon followed wherever possible; CF.lumen was no exception. Since LD_PRELOAD could no longer easily be made to work, another solution had to be found. The answer was injecting the CF.lumen library into SufaceFlinger directly, and manually hooking the required (E)GL functions rather than letting the linker doing it for us (as was the case with LD_PRELOAD). evilsocket's ARM Inject provided the base code necessary to perform this hijack. I restructured the code to suit my needs, and added arm64, x86 and x86-64 support. Over time, linker structures were adjusted to reflect changes in Android, while maintaining compatibility with older versions. It took quite a bit of effort to get all that working semi-reliably. Android itself also gained functionality to apply color matrices to the rendered surfaces around this time, but the early implementations were not very efficient. Support for that functionality was named the compatibility driver, as though it was not the fastest, it was supported on all devices. The code released here was named the performance driver as it was significantly faster on many devices when it worked, though on some devices it just didn't.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              inject-hook-cflumen has a low active ecosystem.
              It has 145 star(s) with 45 fork(s). There are 15 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 6 open issues and 1 have been closed. On average issues are closed in 18 days. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of inject-hook-cflumen is current.

            kandi-Quality Quality

              inject-hook-cflumen has 0 bugs and 0 code smells.

            kandi-Security Security

              inject-hook-cflumen has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              inject-hook-cflumen code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              inject-hook-cflumen has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              inject-hook-cflumen releases are not available. You will need to build from source code and install.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of inject-hook-cflumen
            Get all kandi verified functions for this library.

            inject-hook-cflumen Key Features

            No Key Features are available at this moment for inject-hook-cflumen.

            inject-hook-cflumen Examples and Code Snippets

            No Code Snippets are available at this moment for inject-hook-cflumen.

            Community Discussions

            No Community Discussions are available at this moment for inject-hook-cflumen.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install inject-hook-cflumen

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/Chainfire/inject-hook-cflumen.git

          • CLI

            gh repo clone Chainfire/inject-hook-cflumen

          • sshUrl

            git@github.com:Chainfire/inject-hook-cflumen.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link