Closed jusReal closed 1 year ago
In your command, can you change to -J ir_type_checker.run_on_input=true
and see if the error still happens? If the input program is not passing the checks then there is not much we are going to do here.
In your command, can you change to
-J ir_type_checker.run_on_input=true
and see if the error still happens? If the input program is not passing the checks then there is not much we are going to do here.
I try this command -J ir_type_checker.run_on_input=true
, the error still happened !
[0x60014200e360] OPCODE: GOTO [0x60014200edc0] CATCH: [0x60014200ee40] CATCH: [0x60014200ef00] CATCH: [0x60014200efc0] CATCH: [0x60014200e380] OPCODE: MOVE_EXCEPTION v9 [0x60014200f040] TRY: TRY_START 0x60014200f020 [0x60014200e3a0] OPCODE: MONITOR_EXIT v1 [0x60014200e3c0] OPCODE: THROW v9 [0x60014200e7c0] TARGET: SIMPLE 0x600142009b20 [0x60014200e3e0] OPCODE: IGET_OBJECT v8, Lcom/heytap/openid/base/m_c;.m_f:Landroid/os/Handler; [0x600142029260] OPCODE: IOPCODE_MOVE_RESULT_PSEUDO_OBJECT v9 [0x60014200e400] OPCODE: INVOKE_VIRTUAL v9, Landroid/os/Handler;.obtainMessage:()Landroid/os/Message; [0x60014200e420] OPCODE: MOVE_RESULT_OBJECT v9 [0x60014200e440] OPCODE: IPUT v10, v9, Landroid/os/Message;.what:I [0x60014200e460] OPCODE: IGET_OBJECT v8, Lcom/heytap/openid/base/m_c;.m_f:Landroid/os/Handler; [0x600142029320] OPCODE: IOPCODE_MOVE_RESULT_PSEUDO_OBJECT v10 [0x60014200e480] OPCODE: CONST_WIDE v0, 300000 [0x60014200e4a0] OPCODE: INVOKE_VIRTUAL v10, v9, v0, Landroid/os/Handler;.sendMessageDelayed:(Landroid/os/Message;J)Z [0x60014200f060] TRY: TRY_END 0x60014200f020 [0x60014200e4c0] OPCODE: MONITOR_EXIT v8 [0x60014200e4e0] OPCODE: RETURN_VOID [0x60014200e8c0] CATCH: [0x60014200e920] CATCH: [0x60014200e940] CATCH: [0x60014200ea80] CATCH: [0x60014200eb40] CATCH: [0x60014200ebc0] CATCH: [0x60014200ec20] CATCH: [0x60014200eca0] CATCH: [0x60014200ed00] CATCH: [0x60014200ed60] CATCH: [0x60014200eea0] CATCH: [0x60014200ef60] CATCH: [0x60014200f020] CATCH: [0x60014200e500] OPCODE: MOVE_EXCEPTION v9 [0x60014200e520] OPCODE: MONITOR_EXIT v8 [0x60014200e540] OPCODE: THROW v9
If you are confident that this does not matter (e.g., because you are using MakePublicPass), turn off accessibility checking on input with -J ir_type_checker.run_on_input_ignore_access=true
.
You may turn off all input checking with -J ir_type_checker.run_on_input=false
.
Traceback (most recent call last):
File "/Users/didi/projects/redex/redex.py", line 1425, in
If this input program doesn't pass the type checker, you'll probably have to look into the operation of any tools you're running beforehand (i.e. ProGuard / R8 or other obfuscators). If you think Redex type checker is incorrectly rejecting valid code, please reopen/file a new issue and include the entirety of the output (I can't even tell if this is an entire method body it look just like the tail end of something).
If this input program doesn't pass the type checker, you'll probably have to look into the operation of any tools you're running beforehand (i.e. ProGuard / R8 or other obfuscators). If you think Redex type checker is incorrectly rejecting valid code, please reopen/file a new issue and include the entirety of the output (I can't even tell if this is an entire method body it look just like the tail end of something).
Here is the command:
python3 redex.py -c config/sample.config --android-sdk-path /Users/didi/Library/Android/sdk --proguard-config=/Users/didi/Desktop/package/proguard-all-configuration.txt -j /Users/didi/Library/Android/sdk/platforms/android-31/android.jar -J ir_type_checker.run_on_input=true /Users/didi/Desktop/package/6.6.8-r.apk -o /Users/didi/Desktop/package/6.6.8-r-out.apk
Here is the full log:
Extracting apk...
Unpacking dex files
Detecting Application Modules
TRACE_CLASS_FILE=
TRACE_CLASS_NAME=
Trace settings:
TRACEFILE=
SHOW_TIMESTAMPS=
SHOW_TRACEMODULE=
TRACE_METHOD_FILTER=
Command line -j option: /Users/didi/Library/Android/sdk/platforms/android-31/android.jar
Verify-none mode: No
Art build: No
Enable InstrumentPass: No
Parsing proguard map completed in 5.3 seconds
parsed minSdkVersion = 23
Unimplemented command (skipping): -dontskipnonpubliclibraryclassmembers at line 664
662: -libraryjars filepath /Users/didi/Library/Android/sdk/platforms/android-31/optional/android.test.runner.jar
664: !>-dontskipnonpubliclibraryclassmembers<!
665: -forceprocessing
666: -printusage filepath /Users/didi/AndroidStudioProjects/TheOneIntegration/product/build/outputs/mapping/sdupsnger64Release/usage.txt
Unimplemented command (skipping): -forceprocessing at line 665
664: -dontskipnonpubliclibraryclassmembers
665: !>-forceprocessing<!
666: -printusage filepath /Users/didi/AndroidStudioProjects/TheOneIntegration/product/build/outputs/mapping/sdupsnger64Release/usage.txt
667: -optimizations
Unimplemented command (skipping): -keepparameternames at line 673
671: -keeppackagenames
672: filter: org.mozilla.javascript. filter: com.didi.carmate.list filter: com.didi.carmate.detail filter: com.didi.carmate.blord.profile filter: com.didi.carmate.publish filter: com.didi.carmate.service filter: com.didi.theonebts.business.main filter: com.didi.theonebts.business.profile -keepattributes
673: filter: SourceFile filter: LineNumberTable filter: Annotation filter: Exceptions filter: InnerClasses filter: Signature filter: JavascriptInterface filter: EnclosingMethod filter: Signature filter: InnerClasses filter: EnclosingMethod filter: Signature filter: Annotation filter: Annotation filter: Annotation filter: Signature filter: Annotation filter: Annotation filter: DatabaseField filter: DatabaseTable filter: SerializedName filter: Annotation filter: Exceptions filter: InnerClasses filter: Signature filter: Annotation filter: Annotation filter: Annotation filter: Signature filter: InnerClasses filter: EnclosingMethod filter: Annotation filter: Annotation filter: Signature filter: InnerClasses filter: EnclosingMethod filter: RuntimeVisibleAnnotations filter: RuntimeVisibleParameterAnnotations filter: RuntimeVisibleAnnotation filter: Annotation filter: Annotation filter: Exceptions filter: InnerClasses filter: Signature filter: Deprecated filter: Annotation filter: EnclosingMethod !>-keepparameternames<!
674: -renamesourcefileattribute identifier: src
675: -dontpreverify
Unimplemented command (skipping): -renamesourcefileattribute at line 674
672: filter: org.mozilla.javascript. filter: com.didi.carmate.list filter: com.didi.carmate.detail filter: com.didi.carmate.blord.profile filter: com.didi.carmate.publish filter: com.didi.carmate.service filter: com.didi.theonebts.business.main filter: com.didi.theonebts.business.profile -keepattributes
673: filter: SourceFile filter: LineNumberTable filter: Annotation filter: Exceptions filter: InnerClasses filter: Signature filter: JavascriptInterface filter: EnclosingMethod filter: Signature filter: InnerClasses filter: EnclosingMethod filter: Signature filter: Annotation filter: Annotation filter: Annotation filter: Signature filter: Annotation filter: Annotation filter: DatabaseField filter: DatabaseTable filter: SerializedName filter: Annotation filter: Exceptions filter: InnerClasses filter: Signature filter: Annotation filter: Annotation filter: Annotation filter: Signature filter: InnerClasses filter: EnclosingMethod filter: Annotation filter: Annotation filter: Signature filter: InnerClasses filter: EnclosingMethod filter: RuntimeVisibleAnnotations filter: RuntimeVisibleParameterAnnotations filter: RuntimeVisibleAnnotation filter: Annotation filter: Annotation filter: Exceptions filter: InnerClasses filter: Signature filter: Deprecated filter: Annotation filter: EnclosingMethod -keepparameternames
674: !>-renamesourcefileattribute<! identifier: src
675: -dontpreverify
676: -android
Unimplemented command (skipping): -android at line 676
674: -renamesourcefileattribute identifier: src
675: -dontpreverify
676: !>-android<!
677: -verbose
678: -dontnote identifier: java. , identifier: javax. , identifier: android. , identifier: androidx. , identifier: kotlin. , identifier: org.apache.http. , identifier: sun.misc.SharedSecrets , identifier: sun.misc.JavaLangAccess , identifier: com.google.appengine.api.ThreadManager , identifier: com.google.apphosting.api.ApiProxy , identifier: com.google.common. , identifier: rx. , identifier: io.reactivex. , identifier: com.appsflyer. , identifier: com.googlecode.protobuf. , identifier: com.google.protobuf. , identifier: org.apache.commons. , identifier: com.igexin. , identifier: com.taobao.weex. , identifier: androidx.appcompat.app.AlertDialog.Builder , identifier: androidx.appcompat.app.AlertDialog.Builder , identifier: com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer , identifier: com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer , identifier: com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer , identifier: com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer , identifier: com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer , identifier: com.google.android.exoplayer2.ext.rtmp.RtmpDataSource , identifier: com.google.android.exoplayer2.source.dash.offline.DashDownloader , identifier: com.google.android.exoplayer2.source.hls.offline.HlsDownloader , identifier: com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader , identifier: com.google.android.exoplayer2.source.dash.DashMediaSource$Factory , identifier: com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory , identifier: com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory , identifier: com.google.android.exoplayer2.ext.flac.FlacExtractor , identifier: com.google.android.exoplayer2.ext.flac.FlacLibrary
Unimplemented command (skipping): -ignorewarnings at line 680
678: -dontnote identifier: java. , identifier: javax. , identifier: android. , identifier: androidx. , identifier: kotlin. , identifier: org.apache.http. , identifier: sun.misc.SharedSecrets , identifier: sun.misc.JavaLangAccess , identifier: com.google.appengine.api.ThreadManager , identifier: com.google.apphosting.api.ApiProxy , identifier: com.google.common. , identifier: rx. , identifier: io.reactivex. , identifier: com.appsflyer. , identifier: com.googlecode.protobuf. , identifier: com.google.protobuf. , identifier: org.apache.commons. , identifier: com.igexin. , identifier: com.taobao.weex. , identifier: androidx.appcompat.app.AlertDialog.Builder , identifier: androidx.appcompat.app.AlertDialog.Builder , identifier: com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer , identifier: com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer , identifier: com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer , identifier: com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer , identifier: com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer , identifier: com.google.android.exoplayer2.ext.rtmp.RtmpDataSource , identifier: com.google.android.exoplayer2.source.dash.offline.DashDownloader , identifier: com.google.android.exoplayer2.source.hls.offline.HlsDownloader , identifier: com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader , identifier: com.google.android.exoplayer2.source.dash.DashMediaSource$Factory , identifier: com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory , identifier: com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory , identifier: com.google.android.exoplayer2.ext.flac.FlacExtractor , identifier: com.google.android.exoplayer2.ext.flac.FlacLibrary
679: -dontwarn
680: filter: android.support. filter: java. filter: javax. filter: android. filter: androidx. filter: kotlinx.coroutines.flow.inlined filter: javax.annotation. filter: org.codehaus.mojo.animal_sniffer. filter: okhttp3.internal.platform.ConscryptPlatform filter: org.codehaus.mojo.animal_sniffer. filter: org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement filter: javax.annotation. filter: kotlin.Unit filter: retrofit2.-KotlinExtensions filter: sun.misc. filter: org.greenrobot.greendao.database. filter: rx. filter: com.alibaba.fastjson. filter: sun.reflect. filter: java.beans. filter: sun.nio.ch. filter: com.esotericsoftware. filter: javax.lang.model.element.Modifier filter: sun.misc.Unsafe filter: java.lang.SafeVarargs filter: java.lang.ClassValue filter: com.google.common. filter: sun.misc. filter: com.android.installreferrer filter: com.appsflyer.AFKeystoreWrapper filter: com.google.firebase. filter: com.google.maps. filter: com.appsflyer. filter: com.googlecode.protobuf. filter: com.google.protobuf. filter: org.apache.commons. filter: org.mozilla. filter: org.osgi. filter: org.eclipse.jdt.annotation. filter: c.t. filter: com.igexin. filter: com.j256.ormlite.logger.Slf4jLoggingLog filter: net.sourceforge.pinyin4j. filter: com.google.android.gms. filter: com.iflytek. filter: com.didi.thanos. filter: com.taobao.weex. filter: com.ddtaxi.common.tracesdk. filter: com.alibaba. filter: com.alipay. filter: com.tencent. filter: com.qq. filter: com.sina. filter: cn.sharesdk. filter: ct. filter: com.tunasashimi. filter: com.ut. filter: com.example. filter: com.ta. filter: com.turbomanage. filter: in.srain. filter: net.security.device.api. filter: com.didichuxing.security.device. filter: com.didichuxing.security.challenge. filter: com.didichuxing.foundation.spi. filter: com.didi.sdk.location. filter: com.didichuxing.bigdata.dp.locsdk.impl.v2.stat.AMap filter: com.didichuxing.bigdata.dp.locsdk.impl.v2.stat.GpsWeakStatImpl filter: com.didichuxing.bigdata.dp.locsdk.impl.v2.stat.StatUtils filter: com.didichuxing.bigdata.dp.locsdk.impl.v3.stat.AMap filter: com.didichuxing.bigdata.dp.locsdk.impl.v3.stat.GpsWeakStatImpl filter: com.didichuxing.bigdata.dp.locsdk.impl.v3.stat.StatUtils filter: com.ta.utdid2. filter: com.ut.device. filter: com.alipay.mobilesecuritysdk. filter: com.squareup.haha. filter: com.pajf.library.http. filter: com.pajf.chat.ah filter: com.yalantis.ucrop filter: com.google.common. filter: didihttp. filter: com.huawei. filter: com.vivo.push. filter: com.huawei.android.fsm. filter: com.cmic.sso.sdk.shanyan. filter: com.sdk.shanyan. filter: ddiot.iot.log. filter: org.slf4j. filter: com.didichuxing.saimageloader. filter: com.didi.nova.assembly. filter: com.google.android.exoplayer2. filter: okio. filter: android.app.Notification filter: didio. filter: com.didi.sdk.webview. filter: com.squareup.okhttp. filter: com.didi.onehybrid.util.Util. filter: com.didi.carmate.common.pay. filter: com.didi.carmate.common.h5. filter: com.didi.map.destinationselector. filter: com.didi.thanos. filter: com.taobao.weex. filter: com.didichuxing.doraemonkit.DoraemonKit filter: com.didichuxing.doraemonkit.weex.DKWeexInstance filter: com.didichuxing.doraemonkit. filter: android.app.Notification filter: didio. filter: com.didi.sdk.webview. filter: com.squareup.okhttp. filter: com.didi.onehybrid.util.Util. filter: com.didi.hotpatch.Hack filter: com.reyun.tracking. filter: net.sqlcipher. filter: com.alibaba. filter: com.tencent. filter: com.qq. filter: com.sina. filter: cn.sharesdk. filter: org.eclipse.jdt.annotation.Nullable filter: org.eclipse.jdt.annotation.NonNull filter: java.beans.Transient filter: java.beans.ConstructorProperties filter: com.xiaoju.foundation.teleporterclient. filter: org.webrtc. filter: com.didi.sdk.logging. filter: org.greenrobot.greendao.database. filter: net.sqlcipher.database. filter: rx. filter: androidx.databinding.ViewDataBinding filter: androidx.databinding.ViewDataBinding$LiveDataListener filter: org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement filter: javax.annotation. filter: kotlin.Unit filter: retrofit2.KotlinExtensions filter: retrofit2.KotlinExtensions$ filter: com.didichuxing.omega.sdk.init.OmegaSDK filter: com.didi.drouter.loader.host. filter: com.android.volley. filter: com.bumptech.glide. filter: com.didi.carmate.dreambox.ReportUtil filter: androidx.viewpager2. filter: androidx.recyclerview.widget.RecyclerView filter: com.youth.banner. filter: androidx.room.paging. filter: javax.annotation. filter: org.codehaus.mojo.animal_sniffer. filter: okhttp3.internal.platform.ConscryptPlatform filter: org.codehaus.mojo.animal_sniffer. filter: java.lang.instrument.ClassFileTransformer filter: sun.misc.SignalHandler filter: java.lang.instrument.Instrumentation filter: sun.misc.Signal filter: org.checkerframework. filter: kotlin.annotations.jvm. filter: javax.annotation. filter: org.checkerframework. filter: kotlin.annotations.jvm. filter: javax.annotation. filter: org.checkerframework. filter: kotlin.annotations.jvm. filter: javax.annotation. filter: java.lang.ClassValue filter: java.lang.SafeVarargs filter: javax.lang.model.element.Modifier filter: sun.misc.Unsafe filter: com.google.errorprone.annotations. filter: com.google.j2objc.annotations. filter: org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement filter: com.taobao.weex.bridge. filter: com.ta.utdid2. filter: com.ut.device. filter: com.alipay.mobilesecuritysdk. filter: com.alipay.security. filter: android.net.SSLCertificateSocketFactory filter: com.mobile.auth. filter: com.cmic.sso.sdk.utils. filter: com.nirvana. filter: com.didichuxing.doraemonkit.DoraemonKit !>-ignorewarnings<!
681: -printconfiguration filepath /Users/didi/AndroidStudioProjects/TheOneIntegration/product/build/outputs/proguard-all-configuration.txt
682: -printseeds filepath /Users/didi/AndroidStudioProjects/TheOneIntegration/product/build/outputs/mapping/sdupsnger64Release/seeds.txt
Unimplemented command (skipping): -if at line 11710
11708: # -renamesourcefileattribute SourceFile
11709: # Generated keep rule for Lifecycle observer adapter.
11710: !>-if<! class identifier: com.didi.carmate.spr.publish.base.util.SprPubLoopHandler {
11711: identifier:
Warning: Found a duplicate class 'Lorg/apache/commons/codec/BinaryEncoder;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/Decoder;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/DecoderException;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/Encoder;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/EncoderException;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/StringDecoder;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/StringEncoder;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/StringEncoderComparator;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/binary/Base64;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/binary/BinaryCodec;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/binary/Hex;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/language/DoubleMetaphone$DoubleMetaphoneResult;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/language/DoubleMetaphone;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/language/Metaphone;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/language/RefinedSoundex;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/language/Soundex;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/net/BCodec;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/net/QCodec;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/net/QuotedPrintableCodec;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Warning: Found a duplicate class 'Lorg/apache/commons/codec/net/URLCodec;' in .dex and .jar file. Current: '/Users/didi/Library/Android/sdk/platforms/android-31/optional/org.apache.http.legacy.jar' Previous: '/var/folders/y_/9xtv85x15yb16_k8285p6yf00000gn/T/tmp5dljs_5x.redex_dexen/dex2/classes3.dex'
Load library jars completed in 0.6 seconds
Deobfuscating dex elements completed in 0.8 seconds
No Optimizations Rules completed in 0.0 seconds
Mark keep-methods completed in 0.0 seconds
Computing XML reachability completed in 0.2 seconds
Computing native reachability completed in 0.4 seconds
Analyzing reflection completed in 0.1 seconds
Analyzing Serializable completed in 0.1 seconds
Initializing for json serde completed in 0.0 seconds
Initializing reachable classes completed in 0.9 seconds
Process keep for whyareyoukeeping completed in 0.0 seconds
Slow rule: '-keep com.didi.sdk.onehotpatch. { ; (); }' from /Users/didi/Desktop/package/proguard-all-configuration.txt:686
Slow rule: '-keepclassmembers { @Landroid/webkit/JavascriptInterface; (); }' from /Users/didi/Desktop/package/proguard-all-configuration.txt:745
Slow rule: '-keepclassmembers enum { public static (Ljava/lang/String;)L; valueOf(); public static ()[L; values(); }' from /Users/didi/Desktop/package/proguard-all-configuration.txt:758
Slow rule: '-keep @Landroid/support/annotation/Keep; { ; (); }' from /Users/didi/Desktop/package/proguard-all-configuration.txt:778
Slow rule: '-keepclasseswithmembers { @Landroid/support/annotation/Keep; (); }' from /Users/didi/Desktop/package/proguard-all-configuration.txt:783
Slow rule: '-keepclasseswithmembers { @Landroid/support/annotation/Keep; ; }' from /Users/didi/Desktop/package/proguard-all-configuration.txt:788
Slow rule: '-keepclasseswithmembers { @Landroid/support/annotation/Keep; (...)V
illegal access to package-private Landroid/media/Image;.
illegal access to package-private Landroid/media/Image$Plane;.
Code:
[0x6001408bdfe0] OPCODE: IOPCODE_LOAD_PARAM_OBJECT v8
[0x6001408be020] OPCODE: IOPCODE_LOAD_PARAM_OBJECT v9
[0x6001408be060] OPCODE: IOPCODE_LOAD_PARAM_OBJECT v10
[0x6001408be0a0] OPCODE: IOPCODE_LOAD_PARAM v11
[0x6001408be0c0] OPCODE: MONITOR_ENTER v8
[0x6001408bfc40] TRY: TRY_START 0x6001408bfc20
[0x6001408be0e0] OPCODE: NEW_INSTANCE Ljava/util/ArrayList;
[0x600140870440] OPCODE: IOPCODE_MOVE_RESULT_PSEUDO_OBJECT v0
[0x6001408be100] OPCODE: INVOKE_DIRECT v0, Ljava/util/ArrayList;.
If you are confident that this does not matter (e.g., because you are using MakePublicPass), turn off accessibility checking on input with -J ir_type_checker.run_on_input_ignore_access=true
.
You may turn off all input checking with -J ir_type_checker.run_on_input=false
.
Traceback (most recent call last):
File "/Users/didi/projects/redex/redex.py", line 1425, in
this is my cmd:
python3 redex.py -c config/sample.config \ --android-sdk-path /Users/didi/Library/Android/sdk \ --proguard-config=/Users/didi/Desktop/package/proguard-all-configuration.txt \ -J ir_type_checker.run_on_input=false \ /Users/didi/Desktop/package/6.6.8-r.apk -o /Users/didi/Desktop/package/6.6.8-r-out.apk
this is my config file
{ "redex" : { "passes" : [ "ReBindRefsPass" ] }, "proguard_map":"/Users/didi/Desktop/package/mapping.txt", "debug_info_kind": "no_custom_symbolication", "method_move_map" : "redex-moved-methods-map.txt", "string_sort_mode" : "class_order", "bytecode_sort_mode" : ["method_similarity_order", "class_order"], "ir_type_checker": { "run_after_each_pass" : false, "verify_moves" : false } }
this is the error log:
..........
running IRTypeChecker
.........
[0x600142af4bc0] OPCODE: GOTO [0x600142af5620] CATCH: [0x600142af56a0] CATCH: [0x600142af5760] CATCH: [0x600142af5820] CATCH: [0x600142af4be0] OPCODE: MOVE_EXCEPTION v9 [0x600142af58a0] TRY: TRY_START 0x600142af5880 [0x600142af4c00] OPCODE: MONITOR_EXIT v1 [0x600142af4c20] OPCODE: THROW v9 [0x600142af5020] TARGET: SIMPLE 0x600142af4380 [0x600142af4c40] OPCODE: IGET_OBJECT v8, Lcom/heytap/openid/base/m_c;.m_f:Landroid/os/Handler; [0x600142af7ac0] OPCODE: IOPCODE_MOVE_RESULT_PSEUDO_OBJECT v9 [0x600142af4c60] OPCODE: INVOKE_VIRTUAL v9, Landroid/os/Handler;.obtainMessage:()Landroid/os/Message; [0x600142af4c80] OPCODE: MOVE_RESULT_OBJECT v9 [0x600142af4ca0] OPCODE: IPUT v10, v9, Landroid/os/Message;.what:I [0x600142af4cc0] OPCODE: IGET_OBJECT v8, Lcom/heytap/openid/base/m_c;.m_f:Landroid/os/Handler; [0x600142af7b80] OPCODE: IOPCODE_MOVE_RESULT_PSEUDO_OBJECT v10 [0x600142af4ce0] OPCODE: CONST_WIDE v0, 300000 [0x600142af4d00] OPCODE: INVOKE_VIRTUAL v10, v9, v0, Landroid/os/Handler;.sendMessageDelayed:(Landroid/os/Message;J)Z [0x600142af58c0] TRY: TRY_END 0x600142af5880 [0x600142af4d20] OPCODE: MONITOR_EXIT v8 [0x600142af4d40] OPCODE: RETURN_VOID [0x600142af5120] CATCH: [0x600142af5180] CATCH: [0x600142af51a0] CATCH: [0x600142af52e0] CATCH: [0x600142af53a0] CATCH: [0x600142af5420] CATCH: [0x600142af5480] CATCH: [0x600142af5500] CATCH: [0x600142af5560] CATCH: [0x600142af55c0] CATCH: [0x600142af5700] CATCH: [0x600142af57c0] CATCH: [0x600142af5880] CATCH: [0x600142af4d60] OPCODE: MOVE_EXCEPTION v9 [0x600142af4d80] OPCODE: MONITOR_EXIT v8 [0x600142af4da0] OPCODE: THROW v9
0 redex-all 0x00000001070ecc71 _Z23debug_backtrace_handleri + 81 1 libsystem_platform.dylib 0x00007ff8092a9dfd _sigtramp + 29 2 ??? 0x000000000000d389 0x0 + 54153 3 libsystem_c.dylib 0x00007ff8091dfd24 abort + 123 4 libc++abi.dylib 0x00007ff809250082 abort_message + 241 5 libc++abi.dylib 0x00007ff8092411a5 _ZL28demangling_terminate_handlerv + 242 6 libobjc.A.dylib 0x00007ff80913de09 _ZL15_objc_terminatev + 104 7 libc++abi.dylib 0x00007ff80924f4a7 _ZSt11terminatePFvvE + 8 8 libc++abi.dylib 0x00007ff809251d05 cxa_get_exception_ptr + 0 9 libc++abi.dylib 0x00007ff809251ccc _ZN10cxxabiv1L22exception_cleanup_funcE19_Unwind_Reason_CodeP17_Unwind_Exception + 0 10 redex-all 0x00000001070ed1ba _Z11assert_failPKcS0_jS0_10RedexErrorS0_z + 762 11 redex-all 0x00000001072af5c3 _ZN12_GLOBALN_113CheckerConfig12run_verifierERKNSt316vectorIP8DexClassNS1_9allocatorIS4_EEEEb + 5155 12 redex-all 0x00000001072aa454 _ZN11PassManager10run_passesERNSt316vectorI8DexStoreNS0_9allocatorIS2_EEEER11ConfigFiles + 34436 13 redex-all 0x0000000107039372 main + 2530 14 dyld 0x00000001158db51e start + 462 Traceback (most recent call last): File "/Users/didi/projects/redex/redex.py", line 1425, in
with_temp_cleanup(lambda: run_redex(args), args.always_clean_up)
File "/Users/didi/projects/redex/pyredex/utils.py", line 62, in with_temp_cleanup
fn()
File "/Users/didi/projects/redex/redex.py", line 1425, in
with_temp_cleanup(lambda: run_redex(args), args.always_clean_up)
File "/Users/didi/projects/redex/redex.py", line 1391, in run_redex
run_redex_binary(state, exception_formatter, output_line_handler)
File "/Users/didi/projects/redex/redex.py", line 399, in run_redex_binary
run()
File "/Users/didi/projects/redex/redex.py", line 392, in run
raise RedexRunException(msg, returncode, aborterror, symbolized)
main.RedexRunException: redex-all crashed with exit code -6! You can re-run it under gdb by running /var/folders/y/9xtv85x15yb16k8285p6yf00000gn/T/redex-gdb-0lgaw138.sh or under lldb by running /var/folders/y/9xtv85x15yb16_k8285p6yf00000gn/T/redex-lldb-oyts49rd.sh
pls, thanks!