lsposed的编译流程实践

admin 2025年6月2日19:53:17评论26 views字数 1412阅读4分42秒阅读模式

lsposed的编译流程实践

1.环境准备

本文主要介绍lsposed的编译流程;

lsposed仓库:https://github.com/LSPosed/LSPosed

libxposed100仓库:https://github.com/LSPosed/LSPosed

jdk:17

2.lsposed编译

首先拉取lsposed的仓库:

git clone https://github.com/LSPosed/LSPosed.git .

此时lsposed仓库中的子模块需要再次拉取:

git submodule update --init --recursive
lsposed的编译流程实践
image.png

待子模块拉取完成后,可以进行编译,不过可能会错误,则可以本地编译出xposed100的框架

set JAVA_HOME="E:LanguageEnvironmentJavajdk17"git clone --depth 1 https://github.com/libxposed/api.git libxposed/apigit clone --depth 1 https://github.com/libxposed/service.git libxposed/servicecd libxposed/apigradlew :api:publishApiPublicationToMavenLocalcd  ../servicegradlew :interface:publishInterfacePublicationToMavenLocal

编译完后,就发现本地就有libxposed 100的库了

lsposed的编译流程实践
image-20250602104013426

我们还可以将lsposed100的框架加入到工程中

lsposed的编译流程实践
image.png

然后执行命令开始编译

gradlew zipAll

编译成功

lsposed的编译流程实践
image.png

magisk-load下面就编译出来了

lsposed的编译流程实践
image.png

3.问题解决

编译过程中可能会遇到一些问题,这里列举一下

  • 过程中会遇到xposed100的类冲突问题,将多dex开关打开

    lsposed的编译流程实践
    image.png
  • 堆栈问题

    org.gradle.jvmargs=-Xmx2048m -Xms512m -XX:MaxMetaspaceSize=2048m

4.lsposed定制

我们编译好源码后,可以针对lsposed一些特征进行进一步定制,例如可以进行粗粒度定制和细粒度定制

  • 粗粒度定制

    我们可以针对一些常见特征进行定制

    LspModuleClassLoaderlSPosedContextLSPosed-BridgeLSPosedLogcat--inline-max-code-units=1

    粗粒度定制好处就是定制的范围不大,lsposed的框架模块基本都可以使用

  • 细粒度定制

    我们还可以针对细粒度定制,例如全局的posed、xposed等特征全部进行定制,这样隐藏效果更好

    不过细粒度定制我们需要针对lsposed模块进行重新适配

    无论哪种定制方式,可以过一些常见的lsposed检测,但针对inlinehook、crc校验、匿名内存等方式都没用,因此这里可以进一步针对一些常见的检测点编译lsposed框架进一步的反制,这样就可以达到不错的效果;

5.参考文章

https://blog.csdn.net/u012787710/article/details/131509943

lsposed的编译流程实践

原文始发于微信公众号(安全后厨):lsposed的编译流程实践

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月2日19:53:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   lsposed的编译流程实践https://cn-sec.com/archives/4124202.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息