java混淆代码还原 java代码混淆算法

如何根据mapping.txt还原混淆的代码根据mapping.txt还原混淆的代码
BEFORE
Here’s the stack trace as obfuscated by ProGuard:
Caused by: java.lang.NullPointerException
at net.simplyadvanced.ltediscovery.be.u(Unknown Source)
at net.simplyadvanced.ltediscovery.at.v(Unknown Source)
at net.simplyadvanced.ltediscovery.at.d(Unknown Source)
at net.simplyadvanced.ltediscovery.av.onReceive(Unknown Source)
AFTER
【java混淆代码还原 java代码混淆算法】All you need to do is write one line in the command prompt, and the obfuscation will be removed, as you can see here:
Caused by: java.lang.NullPointerException
at net.simplyadvanced.ltediscovery.UtilTelephony.boolean is800MhzNetwork()(Unknown Source)
at net.simplyadvanced.ltediscovery.ServiceDetectLte.void checkAndAlertUserIf800MhzConnected()(Unknown Source)
at net.simplyadvanced.ltediscovery.ServiceDetectLte.void startLocalBroadcastReceiver()(Unknown Source)
at net.simplyadvanced.ltediscovery.ServiceDetectLte$2.void onReceive(android.content.Context,android.content.Intent)(Unknown Source)
HOW TO DECODE STACK TRACE
You can choose either the command line method or GUI (Graphical User Interface) method.
HOW TO DECODE STACK TRACE VIA GUI
1) Open android-sdk/tools/proguard/bin/proguardgui.bat
2) Select the “ReTrace” option on the left column.
3) Add your mapping file and obfuscated stack trace.
4) Click “ReTrace!”
Thanks to David Bilik for mentioning this GUI method.
HOW TO DECODE STACK TRACE VIA COMMAND LINE
1) You will need your ProGuard’s mapping.txt file and the stack trace (Ex: stacktrace.txt) that you want to de-obfuscate.
2) The easiest way to do the next step is copy both these files into yourandroid_sdk_root/tools/proguard/bin.
3) If you are on Windows, run the following command in the same directory as the files (make sure you change to your own file names):
retrace.bat -verbose mapping.txt stacktrace.txtout.txt
4) out.txt will have the stack trace de-obfuscated. Now you can debug much easier and faster than before.
如何分析经过混淆后的java代码混淆代码 是为了防止class文件被反编译用的 但是程序的功能还是正常的 和你正常运行一样
如果连变量名都混淆了 , 就是说所有有具体意义的英文变量名都用a,b,c,x,y等等来表示 , 那这是不可能还原的 , 因为电脑也不可能知道你这个a实际上代表了你的年龄而那个c代表了你老婆的胸围!
但如果只是个事混淆,那网上倒有不少工具可以格式化源代码!自己搜一搜吧!推荐一款编辑器,IntelliJ,很不错,值得一提的是,我用过的众多编辑器中,这款编辑器的代码格式化功能最强大!
JS代码混淆了,怎么反混淆回去?这不是混淆,只是使用16进制表示的ASCII码~
单独提取出字符串,在后面加上.toString()进行调试即可看到原本字符串 。
你的这句转码后如下:
window["document"]["write"]('sc')
相当于:window.document.write('sc')
很有可能是输出一个script标签的代码段的开始 。
android源码被混淆了怎么还原android源码被混淆java混淆代码还原了还原方法为java混淆代码还原:
1、得到 classes.dex文件java混淆代码还原;直接用机器上的解压软件 打开 .apk 文件java混淆代码还原,解压出 classes.dex 文件 。
2、还原.jar文件;这一步需要用到一个工具 dex2jar (谷歌的代码库里有)下载完了,解压,然后把第一步的 产物(即那个classes.dex文件)放到 dex2jar的解压目录(解压目录里 有 dex2jar.bat 文件,检查一下 , 没有的话说明目录不对) 。
3、查看.jar文件;这一步就是传统的 反编译 了,需要工具辅助,这里用到的工具是jd-gui()下载系统对应的版本,解压,(xp系统)会看到一个 .exe文件 , 没错就是 单文件绿色版,双击,选择 第二步 生成的 .jar,即可 。

推荐阅读