Git Product home page Git Product logo

ratel-core's People

Contributors

blankeer avatar invokerwu avatar sangkaka avatar tsai-ilin avatar virjar 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

ratel-core's Issues

vm虚拟机 感染apk报错

BUILD SUCCESSFUL in 49s
134 actionable tasks: 51 executed, 83 up-to-date
engineVersionCode: 2.0.0-SNAPSHOT
test file:container-builder-repkg-2.0.0-SNAPSHOT.jar
use /home/virjar/Desktop/ratel/ratel-core/container-builder-repkg/build/libs/container-builder-repkg-2.0.0-SNAPSHOT.jar
java.lang.IllegalStateException: no infect apk passed
at com.virjar.ratel.builder.ratelentry.BuilderContextParser.check(BuilderContextParser.java:66)
at com.virjar.ratel.builder.ratelentry.BuilderContextParser.parse(BuilderContextParser.java:34)
at com.virjar.ratel.builder.ratelentry.Main.ratelMain(Main.java:99)
at com.virjar.ratel.builder.ratelentry.Main.main(Main.java:73)
assemble new apk for /Desktop/XX_9.25.0_apkcombo.com.apk
build with default certificate
error java.lang.IllegalStateException: no infect apk passed
java.lang.IllegalStateException: no infect apk passed
at com.virjar.ratel.builder.ratelentry.BuilderContextParser.check(BuilderContextParser.java:66)
at com.virjar.ratel.builder.ratelentry.BuilderContextParser.parse(BuilderContextParser.java:34)
at com.virjar.ratel.builder.ratelentry.Main.ratelMain(Main.java:99)
at com.virjar.ratel.builder.ratelentry.Main.main(Main.java:73)
task finish error
the final output apk file is :error java.lang.IllegalStateException: no infect apk passed
task finish error
virjar@virjar-aosp:~/Desktop/ratel/ratel-core$

repkg failure 重打包失败

step1: download the project from github
step2: ./script/create-dist.sh
step3: ./script/build_ratel_manager.sh
step4: repkg my apk:

$ ./script/dist/ratel.sh app-debug.apk
use /Users/yueyueniao/android-safe/ratel-core-master/script/dist/res/container-builder-repkg-2.0.0-SNAPSHOT.jar
assemble new apk for app-debug.apk
build with default certificate
ratel build param: -s -w /Users/yueyueniao/.ratel-working-repkg -c /Users/yueyueniao/android-safe/ratel-core-master/script/dist/res/monthly_temp.txt app-debug.apk
use ratel engine: rebuildDex
build serialNo: ratel_85576517-0fcc-4218-9255-504a9bcd1239
work dir: /Users/yueyueniao/.ratel-working-repkg
apk info [packageName:com.example.helloworld,appEntryClass: com.example.helloworld.MainActivity]
warning: can not find class: android.app.AppComponentFactory
handle inject for class: androidx.core.app.CoreComponentFactory
Exception in thread "main" java.lang.AssertionError
at external.com.android.dex.Dex$Section.writeStringData(Dex.java:723)
at external.com.android.dx.merge.DexMerger$1.write(DexMerger.java:1433)
at external.com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:298)
at external.com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:1435)
at external.com.android.dx.merge.DexMerger.merge(DexMerger.java:215)
at com.virjar.ratel.builder.injector.CodeInjectorV2.doInject$187f0e2e(CodeInjectorV2.java:111)
at com.virjar.ratel.builder.mode.RatelPackageBuilderRepackage.handleTask$16585ff8(RatelPackageBuilderRepackage.java:56)
at com.virjar.ratel.builder.ratelentry.Main.ratelMain(Main.java:7174)
at com.virjar.ratel.builder.ratelentry.Main.main(Main.java:67)
assemble ratel apk failed

定位问题:
container-builder-repkg-2.0.0-SNAPSHOT.jar 生成的jar包好像有问题,不知道什么原因

forbid对arm64貌似不支持。在armeabi-v7a是正常的

我是抠runtime里面的io重定向出来使用。在armeabi-v7a是正常的,在arm64里面forbid不生效,redirectFile是成功的。
RatelNative.forbid("/sbin/su",true);
RatelNative.redirectFile("/proc/cpuinfo", "/data/local/tmp/cpuinfo" );

vm 虚拟机执行 ./script/create-dist.sh 找不到java类

BUILD SUCCESSFUL in 1m 52s
135 actionable tasks: 120 executed, 15 up-to-date
replace BuildEnv.class

input and output

-libraryjars /usr/lib/jvm/java-9-openjdk-amd64/jmods/java.base.jmod(!**.jar;!module-info.class)
-injars /tmp/rdp-tmp16539001164654877404.jar
-outjars /tmp/builder-opt2662734108458548883.jar
-printmapping /tmp/builder-proguard.map

builder 的优化规则

-keepattributes *

貌似大小写会出问题,导致文件名大写,对应class小写

-dontusemixedcaseclassnames

ratel 框架入口class

-keep class com.virjar.ratel.rdp.RDPBuilder {
public static void main(java.lang.String[]);
}

-keep class org.jf.dexlib2.Opcode{*;}

-keep class com.android.apksig.internal.**{*;}

-dontwarn
-dontnote
-ignorewarnings

开源环境,我们不做混淆

-dontobfuscate

execute cmd: java -jar /tmp/proguard10857178538044957529.jar @/tmp/proguard11340759816485037197.pro
ProGuard, version undefined
replace BuildEnv.class

input and output

-libraryjars /usr/lib/jvm/java-9-openjdk-amd64/jmods/java.base.jmod(!**.jar;!module-info.class)
-injars /tmp/builder-dex11647356933490416329.jar
-outjars /tmp/builder-opt16152504066025136237.jar
-printmapping /tmp/builder-proguard.map

builder 的优化规则

-keepattributes *

貌似大小写会出问题,导致文件名大写,对应class小写

-dontusemixedcaseclassnames

ratel 框架入口class

-keep class com.virjar.ratel.builder.ratelentry.Main {
public static void main(java.lang.String[]);
}

-keep class org.jf.dexlib2.Opcode{*;}

-keep class com.android.apksig.internal.**{*;}

-dontwarn
-dontnote
-ignorewarnings

开源环境,我们不做混淆

-dontobfuscate

execute cmd: java -jar /tmp/proguard3626104743551435615.jar @/tmp/proguard18420058970009211339.pro
ProGuard, version undefined
Warning in /tmp/builder-dex11647356933490416329.jar:com/android/apksig/internal/util/X509CertificateUtils.class:
Type java.util.Base64 was not found, it is required for default or static interface methods desugaring of java.nio.ByteBuffer com.android.apksig.internal.util.X509CertificateUtils.getNextDEREncodedCertificateBlock(java.nio.ByteBuffer)
Warning in /tmp/builder-dex11647356933490416329.jar:com/virjar/ratel/builder/ratelentry/HelperZipAndSign.class:
Type java.nio.file.Files was not found, it is required for default or static interface methods desugaring of void com.virjar.ratel.builder.ratelentry.HelperZipAndSign.zipalign(java.io.File, java.io.File)
Warning in /tmp/builder-dex11647356933490416329.jar:com/android/apksig/internal/apk/ApkSigningBlockUtils.class:
Type java.util.stream.Collectors was not found, it is required for default or static interface methods desugaring of java.util.Map com.android.apksig.internal.apk.ApkSigningBlockUtils.computeContentDigests(com.android.apksig.util.RunnablesExecutor, java.util.Set, com.android.apksig.util.DataSource, com.android.apksig.util.DataSource, com.android.apksig.util.DataSource)
Warning in /tmp/builder-dex11647356933490416329.jar:com/android/apksig/internal/apk/ApkSigningBlockUtils$ChunkSupplier.class:
Type java.util.function.Supplier was not found, it is required for default or static interface methods desugaring of com.android.apksig.internal.apk.ApkSigningBlockUtils$ChunkSupplier
Warning in synthesized for lambda desugaring:
Type java.util.function.ToLongFunction was not found, it is required for default or static interface methods desugaring of com.android.apksig.internal.util.-$$Lambda$ChainedDataSource$YbhxliLhPY8NWeCBObJtP04F1LE
Warning in synthesized for lambda desugaring:
Type java.util.function.Predicate was not found, it is required for default or static interface methods desugaring of com.android.apksig.internal.apk.-$$Lambda$ApkSigningBlockUtils$AeXO_V-y3jcGXA8TwhH3-ZW5RHI
Warning in synthesized for lambda desugaring:
Type java.util.function.Function was not found, it is required for default or static interface methods desugaring of org.apache.tools.zip.-$$Lambda$ZipFile$gLw0qrVX7ZhWOQIzPn3nFi3apeo
replace BuildEnv.class

input and output

-libraryjars /usr/lib/jvm/java-9-openjdk-amd64/jmods/java.base.jmod(!**.jar;!module-info.class)
-injars /home/virjar/Desktop/ratel/ratel-core/script/dist/res/container-builder-repkg-2.0.0-SNAPSHOT.jar
-outjars /tmp/builder-opt18015309779143679370.jar
-printmapping /home/virjar/Desktop/ratel/ratel-core/script/dist/res/builder-proguard.map

builder 的优化规则

-keepattributes *

貌似大小写会出问题,导致文件名大写,对应class小写

-dontusemixedcaseclassnames

ratel 框架入口class

-keep class com.virjar.ratel.builder.ratelentry.Main {
public static void main(java.lang.String[]);
}

-keep class org.jf.dexlib2.Opcode{*;}

-keep class com.android.apksig.internal.**{*;}

-dontwarn
-dontnote
-ignorewarnings

开源环境,我们不做混淆

-dontobfuscate

execute cmd: java -jar /tmp/proguard17818899127886307114.jar @/tmp/proguard3184489959863318244.pro
ProGuard, version undefined
adding: ratel.bat (deflated 67%)
adding: ratel.sh (deflated 64%)
adding: res/ (stored 0%)
adding: res/ratel_version.txt (stored 0%)
adding: res/monthly_temp.txt (deflated 20%)
adding: res/container-builder-repkg-2.0.0-SNAPSHOT.jar (deflated 3%)
adding: res/container-builder-repkg-2.0.0-SNAPSHOT-dex.jar (deflated 0%)
adding: res/hermes_key (deflated 5%)
adding: res/build_timestamp.txt (stored 0%)
adding: res/hermes_bksv1_key (deflated 5%)
virjar@virjar-aosp:~/Desktop/ratel/ratel-core$

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.