Code Monkey home page Code Monkey logo

dss's Introduction

dss's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

dss's Issues

DSService.TaskThread修改为静态

1、静态内部类不会持有外部类的隐式引用,不会影响到GC对于外部类的回收。
2、这个线程的本身与DSS服务没太多关系。
3、在解密完后,需要保证DSS服务内存完全释放 - #1

    class TaskThread extends Thread {
        public void run() {
            dss("/data/local/od-targets.json");
            PropertyUtil.set(PROP_IS_FINISH, "Yes");
        }
    }

插件某个类初始化失败导致应用崩溃

6952  12-22 16:07:23.731  W  15206  dalvikvm    Exception Ljava/lang/RuntimeException; thrown while initializing Lcom/uerylbesb/ryhdrzgcio/xgtRtRawcet;
6953  12-22 16:07:23.731  W  15206  dalvikvm    threadid=14: thread exiting with uncaught exception (group=0x41654ce0)
6954  12-22 16:07:23.731  E  15206  AndroidRuntime    FATAL EXCEPTION: Thread-3217
6955  12-22 16:07:23.731  E  15206  AndroidRuntime    Process: me.mikusjelly.dss, PID: 15206
6956  12-22 16:07:23.731  E  15206  AndroidRuntime    java.lang.ExceptionInInitializerError
6957  12-22 16:07:23.731  E  15206  AndroidRuntime    	at java.lang.Class.classForName(Native Method)
6958  12-22 16:07:23.731  E  15206  AndroidRuntime    	at java.lang.Class.forName(Class.java:251)
6959  12-22 16:07:23.731  E  15206  AndroidRuntime    	at me.mikusjelly.dss.dl.PluginManager.loadClass(PluginManager.java:163)
6960  12-22 16:07:23.731  E  15206  AndroidRuntime    	at me.mikusjelly.dss.dl.PluginManager.invoke(PluginManager.java:206)
6961  12-22 16:07:23.731  E  15206  AndroidRuntime    	at me.mikusjelly.dss.dl.PluginManager.invokeTarget(PluginManager.java:188)
6962  12-22 16:07:23.731  E  15206  AndroidRuntime    	at me.mikusjelly.dss.DSService.dss(DSService.java:164)
6963  12-22 16:07:23.731  E  15206  AndroidRuntime    	at me.mikusjelly.dss.DSService.access$000(DSService.java:60)
6964  12-22 16:07:23.731  E  15206  AndroidRuntime    	at me.mikusjelly.dss.DSService$TaskThread.run(DSService.java:98)
6965  12-22 16:07:23.731  E  15206  AndroidRuntime    Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
6966  12-22 16:07:23.731  E  15206  AndroidRuntime    	at android.os.Handler.<init>(Handler.java:200)
6967  12-22 16:07:23.731  E  15206  AndroidRuntime    	at android.os.Handler.<init>(Handler.java:114)
6968  12-22 16:07:23.731  E  15206  AndroidRuntime    	at com.uerylbesb.ryhdrzgcio.xgtRtRawcet.<clinit>(:38)
6969  12-22 16:07:23.731  E  15206  AndroidRuntime    	... 8 more
6970  12-22 16:07:23.741  W  605  ActivityManager      Force finishing activity me.mikusjelly.dss/.MainActivity

不兼容模拟器

目前与dexsim的通信方式是:
通过getprop、setprop,修改特定值来判断是否解密成功,但这仅仅在手机上可行,在模拟器上不可行。
这种方式DSS需要su,然而,模拟器默认su其他程序不能使用的,只有自身才能使用。

所以,需要考虑其他通信方式。

连续解密DSS崩溃

I/DEBUG   (  192): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  192): Build fingerprint: 'Xiaomi/aries/aries:4.4.2/KOT49H/937116:user/release-keys'
I/DEBUG   (  192): Revision: '0'
I/DEBUG   (  192): pid: 16964, tid: 16968, name: GC  >>> me.mikusjelly.dss <<<
I/DEBUG   (  192): signal 7 (SIGBUS), code 2 (BUS_ADRERR), fault addr 75b4159d
I/DEBUG   (  192):     r0 75b4159d  r1 415b4498  r2 41d34670  r3 00000022
I/DEBUG   (  192):     r4 41d34670  r5 41d34670  r6 00000001  r7 415b4498
I/DEBUG   (  192):     r8 80000000  r9 4150fa4c  sl 415b4498  fp 41d34700
I/DEBUG   (  192):     ip 00000000  sp 713d6cb0  lr 4150f7a8  pc 4150f990  cpsr 200f0010

……

I/DEBUG   (  192):
I/DEBUG   (  192): memory map around fault addr 75b4159d:
I/DEBUG   (  192):     75b22000-75b23000 r-- /data/data/me.mikusjelly.dss/app_dex/tmp.dex (deleted)
I/DEBUG   (  192):     75b23000-75b4a000 r-- /data/data/me.mikusjelly.dss/app_dex/tmp.dex (deleted)
I/DEBUG   (  192):     75b4a000-75b4d000 rw- /dev/ashmem/dalvik-aux-structure (deleted)

解密A样本后,如果继续解密B样本,DSS则会崩溃。
B推送的APK会覆盖掉A,而之前加载的A在内存中。
之前加载过A被deleted掉了,而且被替换成同名文件的B,导致了异常。

解密完毕后,考虑 context.stopService(new Intent(context, DSService.class));

com.google.gson.JsonSyntaxException 会导致应用崩溃

参考:kin9-0rz/dexsim#7

E/AndroidRuntime(21142): Process: me.mikusjelly.dss, PID: 21142
E/AndroidRuntime(21142): com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected an int but was STRING at line 1 column 2 path $[0]
E/AndroidRuntime(21142):        at com.google.gson.Gson.fromJson(Gson.java:873)
E/AndroidRuntime(21142):        at com.google.gson.Gson.fromJson(Gson.java:826)
E/AndroidRuntime(21142):        at com.google.gson.Gson.fromJson(Gson.java:775)
E/AndroidRuntime(21142):        at com.google.gson.Gson.fromJson(Gson.java:747)
E/AndroidRuntime(21142):        at me.mikusjelly.dss.DSService.buildTarget(DSService.java:292)
E/AndroidRuntime(21142):        at me.mikusjelly.dss.DSService.loadTargetsFromFile(DSService.java:209)
E/AndroidRuntime(21142):        at me.mikusjelly.dss.DSService.dss(DSService.java:154)
E/AndroidRuntime(21142):        at me.mikusjelly.dss.DSService.access$000(DSService.java:60)
E/AndroidRuntime(21142):        at me.mikusjelly.dss.DSService$TaskThread.run(DSService.java:98)
E/AndroidRuntime(21142): Caused by: java.lang.IllegalStateException: Expected an int but was STRING at line 1 column 2 path $[0]
E/AndroidRuntime(21142):        at com.google.gson.stream.JsonReader.nextInt(JsonReader.java:1201)
E/AndroidRuntime(21142):        at com.google.gson.internal.bind.TypeAdapters$5.read(TypeAdapters.java:202)
E/AndroidRuntime(21142):        at com.google.gson.internal.bind.TypeAdapters$5.read(TypeAdapters.java:194)
E/AndroidRuntime(21142):        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
E/AndroidRuntime(21142):        at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72)
E/AndroidRuntime(21142):        at com.google.gson.Gson.fromJson(Gson.java:861)
E/AndroidRuntime(21142):        ... 8 more

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.