{"action":"created","issue":{"url":"https://api.github.com/repos/java-deobfuscator/deobfuscator/issues/14","repository_url":"https://api.github.com/repos/java-deobfuscator/deobfuscator","labels_url":"https://api.github.com/repos/java-deobfuscator/deobfuscator/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/java-deobfuscator/deobfuscator/issues/14/comments","events_url":"https://api.github.com/repos/java-deobfuscator/deobfuscator/issues/14/events","html_url":"https://github.com/java-deobfuscator/deobfuscator/issues/14","id":145771144,"number":14,"title":"NPE in zelix.StringEncryptionTransformer","user":{"login":"rmueller83","id":2698076,"avatar_url":"https://avatars.githubusercontent.com/u/2698076?v=3","gravatar_id":"","url":"https://api.github.com/users/rmueller83","html_url":"https://github.com/rmueller83","followers_url":"https://api.github.com/users/rmueller83/followers","following_url":"https://api.github.com/users/rmueller83/following{/other_user}","gists_url":"https://api.github.com/users/rmueller83/gists{/gist_id}","starred_url":"https://api.github.com/users/rmueller83/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmueller83/subscriptions","organizations_url":"https://api.github.com/users/rmueller83/orgs","repos_url":"https://api.github.com/users/rmueller83/repos","events_url":"https://api.github.com/users/rmueller83/events{/privacy}","received_events_url":"https://api.github.com/users/rmueller83/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-04-04T18:46:15Z","updated_at":"2016-07-29T11:24:45Z","closed_at":null,"body":"```\r\nDeobfuscation failed. Please open a ticket on GitHub\r\njava.lang.NullPointerException\r\n        at com.javadeobfuscator.deobfuscator.transformers.zelix.StringEncryptionTransformer.lambda$transform$249(StringEncryptionTransformer.java:89)\r\n        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)\r\n        at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)\r\n        at java.util.HashMap$ValueSpliterator.forEachRemaining(Unknown Source)\r\n        at java.util.stream.AbstractPipeline.copyInto(Unknown Source)\r\n        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)\r\n        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)\r\n        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)\r\n        at java.util.stream.AbstractPipeline.evaluate(Unknown Source)\r\n        at java.util.stream.ReferencePipeline.forEach(Unknown Source)\r\n        at com.javadeobfuscator.deobfuscator.transformers.zelix.StringEncryptionTransformer.transform(StringEncryptionTransformer.java:57)\r\n        at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:152)\r\n        at com.javadeobfuscator.deobfuscator.DeobfuscatorMain.run(DeobfuscatorMain.java:102)\r\n        at com.javadeobfuscator.deobfuscator.DeobfuscatorMain.main(DeobfuscatorMain.java:26)\r\n```\r\n\r\nCould this even work at all? In https://github.com/java-deobfuscator/deobfuscator/blob/master/src/main/java/com/javadeobfuscator/deobfuscator/transformers/zelix/StringEncryptionTransformer.java#L78 the `while` is left due to `next == null`, so calling `next.getNext()` in https://github.com/java-deobfuscator/deobfuscator/blob/master/src/main/java/com/javadeobfuscator/deobfuscator/transformers/zelix/StringEncryptionTransformer.java#L89 fails."},"comment":{"url":"https://api.github.com/repos/java-deobfuscator/deobfuscator/issues/comments/236157000","html_url":"https://github.com/java-deobfuscator/deobfuscator/issues/14#issuecomment-236157000","issue_url":"https://api.github.com/repos/java-deobfuscator/deobfuscator/issues/14","id":236157000,"user":{"login":"Djamana","id":7028778,"avatar_url":"https://avatars.githubusercontent.com/u/7028778?v=3","gravatar_id":"","url":"https://api.github.com/users/Djamana","html_url":"https://github.com/Djamana","followers_url":"https://api.github.com/users/Djamana/followers","following_url":"https://api.github.com/users/Djamana/following{/other_user}","gists_url":"https://api.github.com/users/Djamana/gists{/gist_id}","starred_url":"https://api.github.com/users/Djamana/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Djamana/subscriptions","organizations_url":"https://api.github.com/users/Djamana/orgs","repos_url":"https://api.github.com/users/Djamana/repos","events_url":"https://api.github.com/users/Djamana/events{/privacy}","received_events_url":"https://api.github.com/users/Djamana/received_events","type":"User","site_admin":false},"created_at":"2016-07-29T11:24:45Z","updated_at":"2016-07-29T11:24:45Z","body":"Got some simulare error:\r\n\r\n```\r\nError while fully initializing burp/opc\r\njava.lang.NullPointerException\r\n\tat com.javadeobfuscator.deobfuscator.executor.MethodExecutor.execute(MethodExecutor.java:942)\r\n\tat com.javadeobfuscator.deobfuscator.executor.MethodExecutor.execute(MethodExecutor.java:80)\r\n\tat com.javadeobfuscator.deobfuscator.transformers.zelix.StringEncryptionTransformer.lambda$transform$11(StringEncryptionTransformer.java:250)\r\n\tat java.util.HashMap$Values.forEach(HashMap.java:972)\r\n\tat com.javadeobfuscator.deobfuscator.transformers.zelix.StringEncryptionTransformer.transform(StringEncryptionTransformer.java:198)\r\n\tat com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:170)\r\n\tat com.javadeobfuscator.deobfuscator.DeobfuscatorMain.run(DeobfuscatorMain.java:102)\r\n\tat com.javadeobfuscator.deobfuscator.DeobfuscatorMain.main(DeobfuscatorMain.java:26)\r\n```\r\nand 'argument type mismatch'\r\n```\r\nError while fully initializing burp/s5g\r\njava.lang.IllegalArgumentException: argument type mismatch\r\n\tat java.lang.reflect.Array.set(Native Method)\r\n...\r\nError while fully initializing burp/zdh\r\njava.lang.IllegalArgumentException: argument type mismatch\r\n\tat java.lang.reflect.Array.set(Native Method)\r\n\tat com.javadeobfuscator.deobfuscator.executor.MethodExecutor.executeArrayStore(MethodExecutor.java:167)\r\n\tat com.javadeobfuscator.deobfuscator.executor.MethodExecutor.execute(MethodExecutor.java:472)\r\n\tat com.javadeobfuscator.deobfuscator.executor.MethodExecutor.execute(MethodExecutor.java:80)\r\n\tat com.javadeobfuscator.deobfuscator.transformers.zelix.StringEncryptionTransformer.lambda$transform$11(StringEncryptionTransformer.java:250)\r\n...\r\n```\r\nThat's how I run deobfuscator:\r\n```\r\n@set InFile=burpP1.7.03.jar\r\n::@set InPath=..\\!sample\\\r\n\r\ndeobfuscator-1.0.0.jar ^\r\n\t-input %InPath%%InFile% ^\r\n\t-output %InPath%DeObfu_%InFile% ^\r\n\t-transformer zelix.StringEncryptionTransformer ^\r\n\t-path \"%Java_Home%/jre/lib/rt.jar\"\r\n```\r\nHere's a sample to easy reproduce these errors:\r\n[Zelix-Sample.zip.txt](https://github.com/java-deobfuscator/deobfuscator/files/390401/Zelix-Sample.zip.txt)\r\n_^-rename to .zip before opening!_ \r\n(^-That github somehow don't work with zip - even if it mention it as allow extension.)\r\n\r\nBtw the sample is taken from 'Burpsuite_pro_v1.7.03' that uses Zelix KlassMaster Obfuscation\r\n"}}
{"actor":{"display_login":"Djamana"}}