导航:首页 > 操作系统 > android还原混淆代码

android还原混淆代码

发布时间:2023-08-10 19:13:46

android studio怎么混淆代码

Android Studio上混淆打包apk方法:
//混淆,新版本是ninifyEnabled不再是runproguard
minifyEnabled true
//加载默认混淆配置文件及自定义混淆 配置
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard.cfg'
设置minifyEnabled true,就会在打包的时候进行代码混淆处理. 其中proguard-android.txt不用管,在sdk目录里面,主要是配置了proguard.cfg文件。
直接在android studio创建项目不会有这个文件,而是 proguard-rules.pro文件,其实一样的,因为项目是从eclipse迁移过来的,之前在eclipse上混淆是 proguard.cfg文件.

Ⅱ 如何根据mapping.txt还原混淆的代码

1.把附件中的retrace_crash.sh、mapping.txt放在SDK\tool\proguard\bin目录下,修改retrace_crash.sh里面的路径,先就这么用,后面优化
retrace_crash.sh 修改此文件中的输出路径
mapping.txt 需要混淆打包过程中去获取

2.把需要分析的文件夹在SDK\tool\proguard\bin下面的crash文件夹下

3.在SDK\tool\proguard\bin目录下运行shell。输入:./retrace_crash.sh

4.如果命令无法运行
先试试chmod +x retrace_crash.sh命令
如果出现 /bin/sh^M: bad interpreter: No such file or directory错误,解决方法如下:
运行 vi retrace_crash.sh 使用命令 :set ff? 如果是dos格式的,那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退

5.retrace_crash.sh 文件内容如下
#!/bin/bash
function ergodic(){
for file in ` ls $1 `
do
if [ -d $1"/"$file ]
then
ergodic $1"/"$file
else
#echo $1"/"$file >> b
./retrace.sh mapping.txt $1"/"$file >> $1"/_"$file
rm $1"/"$file
echo $1"/"$file
fi
done
}
INIT_PATH="/X_DISK/android-sdk-mac/tools/proguard/bin/crash"
ergodic $INIT_PATH
#echo 'hello'
#txt=$(ls crash/*.txt)
#for var in ${txt}
#do
#./retrace.sh mapping.txt ${var} >> parse${var}
#done

Ⅲ Android 反编译之后的源代码类名被混淆了,类名变为a-z毫无意义的名字,有什么办法可以找到原始的类名吗

没办法 就是这样 不然源代码随便改 就乱了

Ⅳ 如何混淆android代码以及注意事项

2.3SDK的两个新特点:

1.刚安装上2.3时,查看sdk目录,发现在 ools下新增了一文件夹“proguard”,如下图,我就在想是不是Google终于官方对proguard考虑进去了。理论上,对java的混淆都是可以的,但关键在于如何编写proguard的混淆脚本。

注意要点:

1.混淆以后的包会比混淆前的包小一点,一定要注意这点.

如果混淆不成功,请在第2步,将proguard.config=proguard.cfg修改为proguard.config=E:Mobile_DevelopGoogle_AndroidpublicGoldenBeach_newproguard.cfg这种类似的用绝对路径,请注意绝对路径中的文件夹名不能含有空格,如果有空格请替换为"_".

2.android在用proguard混淆时,一般情况下使用系统自带的配置文件就可以保持大部分外部需要引用的类,比如Activity,view扩展等等,但是有些情况下一些引入的外部lib,如果被混淆也会出现各种各样的问题,如果不想混淆这些包,就要加上

-keep class packagename.** {*;}

这样就能完整保持原有class了

Ⅳ 安卓编程 如何进行代码混淆

安卓在eclipse中的ADT已经改变原有的模式了,你在项目文件中找到这两个文件,一般在项目根目录里。

如果有回答不当之处,还望见谅。

Ⅵ android怎么把混淆的代码完全编译出来

工具:
apktool,作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
dex2jar,作用:将apk反编译成java源码(classes.dex转化成jar文件)
jd-gui,作用:查看APK中classes.dex转化成出的jar文件,即源码文件

反编译流程:
一、apk反编译得到程序的源代码、图片、XML配置、语言资源等文件
下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:apktool.bat d -f test.apk test
(命令中test.apk指的是要反编译的APK文件全名,test为反编译后资源文件存放的目录名称,即为:apktool.bat d -f [apk文件 ] [输出文件夹])

获取成功之后,发现在文件夹下多了个test文件,点击便可以查看该应用的所有资源文件了。
如果你想将反编译完的文件重新打包成apk,那你可以:输入apktool.bat b test(你编译出来文件夹)便可
之后在之前的test文件下便可以发现多了2个文件夹:

build
dist(里面存放着打包出来的APK文件)

二、Apk反编译得到Java源代码
下载上述工具中的dex2jar和jd-gui ,解压
将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 文件夹内,
在命令行下定位到dex2jar.bat所在目录,输入dex2jar.bat classes.dex,
在改目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了

Ⅶ android aar怎么混淆代码

def outputFile = output.outputFile
// if (outputFile != null && outputFile.name.endsWith('.apk')) {
// def fileName = new File(output.outputFile.parent, "${variant.flavorName}" + "-v" + "${variant.versionName}-${variant.versionCode}.apk")
// output.outputFile = fileName
// }
// }
// }12345678910111234567891011

如果有多渠道的,生成多渠道aar 是正常的,但是aar的项目以compile project(‘:xxxx’)方式使用的时候就必须去掉多渠道的,只能在defaultConfig 中将某一个渠道的代码拷贝上去,然后屏蔽掉其他所有渠道代码,否则以模块方式引用不到aar项目。

Ⅷ android如何将混淆代码还原

当混淆后的代码输出一个堆栈信息时,方法名是不可识别的,这使得调试变得很困难,甚至是不可能的。幸运的是,当ProGuard运行时,它都会输出一个<project_root>/bin/proguard/mapping.txt文件,而这个文件中包含了原始的类,方法和字段名被映射成的混淆名字。

retrace.bat脚本(Window)或retrace.sh脚本(Linux,Mac OS X)可以将一个被混淆过的堆栈跟踪信息还原成一个可读的信息。它位于<sdk_root>/tools/proguard文件夹中。执行retrace工具的语法如下:
retrace.bat|retrace.sh [-verbose] mapping.txt [<stacktrace_file>]

例如:
retrace.bat -verbose mapping.txt obfuscated_trace.txt
如果你没有指定<stacktrace_file>,retrace工具会从标准输入读取。

阅读全文

与android还原混淆代码相关的资料

热点内容
文件夹有竖线怎么去 浏览:998
如何连接服务器并实现同步 浏览:328
androidseekbar进度条 浏览:356
梯度上升算法知乎 浏览:650
qt项目源码下载 浏览:395
不允许代理服务器什么意思 浏览:511
盲反卷积算法 浏览:306
峰火战国什么时候能开服务器 浏览:452
加密的pdf怎么提取和修改 浏览:488
压缩空气气体流量计 浏览:845
高角杯如何编程 浏览:1011
哪个app可以下载迷失岛 浏览:29
100以内程序员键盘 浏览:914
调试助手源码是什么 浏览:601
程序员网优 浏览:461
有没有极限压缩方法 浏览:79
岳阳hypermill五轴编程 浏览:385
超级舒服的解压神器 浏览:450
超短macd源码 浏览:167
群晖怎么设置用户访问指定文件夹 浏览:557