手机怎么反编译
1. 反编译Android APK的具体步骤是怎样的
1、配置好java环境变量,下载:apktool 解压的文件放在C盘根目录的apktool文件夹里(apktool文件夹自己创立)
2打开命令提示符,(开始-运行-输入cmd)
3输入:cd \apktool 系统指令到了apktool文件夹(这里就是为什么要把解压的apktool解压的文件放到apktool文件夹的原因,当然你也可以自命名文件夹的名称,那么比如arc,那么指令就变成了:cd \arc 前提是你必须把apktool解压的文件放到这个文件夹里面)
4使用RE管理器把系统里面的framework-res.apk 与 SystemUI.apk 提取出来放在apktool文件夹里面
5 如果只是想反编译framework-res.apk
输入apktool if framework-res.apk(框架的建立)
6开始最重要的反编译,输入指令,apktool d framework-res.apk
(反编辑的APK一定要用没换过图片的,否则回编辑失败)
7最后反编译完成
修改代码完成后,输入代码:apktool d framework-res 即可完成回编译
8回编译后的新的 apk在framework/dis 文件夹里面
9如果反编译的是系统文件,比如,SystemUI.apk 那么必须进行挂载框架,反编译时,必须敲入一下命令:(然后再重复7-9步骤)
apktool if framework-res.apk
apktool if SystemUI.apk
10对于三星手机(比如9100、9108/9100G),如果反编译SystemUI.apk要敲入一下命令进行框架挂载apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
11回编译的命令是 apktool b XXX (没有后面的apk后缀)反编译的命令是 apktool d xxx (有后面的apk)
2. 如何反编译手机软件
1、配置好JAVA环境变量,下载:apktool 解压的文件放在C盘根目录的apktool文件夹里(apktool文件夹自己创立)
2、打开命令提示符,(开始-运行-输入cmd)
3、输入:cd \apktool 系统指令到了apktool文件夹(这里就是为什么要把解压的apktool解压的文件放到apktool文件夹的原因,当然你也可以自命名文件夹的名称,那么比如arc,那么指令就变成了:cd \arc 前提是你必须把apktool解压的文件放到这个文件夹里面)
4、使用RE管理器把系统里面的framework-res.apk 与 SystemUI.apk 提取出来放在apktool文件夹里面
5、 如果只是想反编译framework-res.apk
输入apktool if framework-res.apk(框架的建立)
6、开始最重要的反编译,输入指令,apktool d framework-res.apk
(反编辑的APK一定要用没换过图片的,否则回编辑失败)
最为详细的教程,教你如何反编译与回编译
最后反编译完成
3. apk反编译/回编译
再次记录一次apk反编译/回编译过程,链接失效请留言,会及时更新。
参考博客: https://blog.csdn.net/w327918069/article/details/82761437
首先,我们需要一个apk,下图是Android Studio编写并打包的一个apk。
其实apk就相当于一个zip压缩包,通过 WinRar 工具可以对其解压缩,像这样:
此时,祭出我们的神器----> apktool ,当当当当~~~~~~~。
一行命令进行apk反编译:
apktool d -r app-debug.apk 一定要加入参数 -r ,不然后面回编译回报错。
apk反编译到此结束。
回编译就是通过 apk反编译 生成的目录文件转换成一个apk。
十分简单的一行命令:
apktool b app-debug
此时安装apk到手机无法安装成功,还需要对apk进行签名才能安装。
1.生成key.keystore
keytool -genkey -alias key.keystore -keyalg RSA -validity 30000 -keystore key.keystore
可以看到key.keystore已经生成。
2.对apk进行签名
可用于没有签名和已经签名的apk,再次签名。
jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkin] [alias]
命令格式及参数意义:
-verbose -> 输出签名过程的详细信息
-keystore [keystorePath] -> 密钥的库的位置
-signedjar [apkOut] -> 签名后的输出文件名
[apkin] -> 待签名的文件名
[alias] -> 证书别名
jarsigner -verbose -keystore key.keystore -signedjar app-debug_signed.apk app-debug.apk key.keystore
回编译完成。
4. 安卓手机反编译状态栏是反编译哪个文件那个文件名具体在哪叫什么
【原创】手机端反编译:安卓手机状态栏时间精确到秒
大神们都不发教程的…可我却喜欢分享技术,本教程适合小白,适合电脑端不会搭建java环境跟反编译的家伙
1.提取:
使用x-plore文件管理器提取system/framework/下的所有apk格式的程序例如framework_res.apk和framework-miui-res.apk等等.(总之是比目录下的所有apk格式的文件.有些系统却只有一个,例如泛泰a760s的深度os包)再提取system/app/SystemUI.apk 这三个文件.提取到sd卡根目录
2.安装手机端反编译软件:apktool和加载条件
下载apktool3.6手机版(我用的是非通用版,是armv7专用版),解压把apktool文件夹放在sd卡根目录.安装apktool3.6打开并且获取root权限允许,里面目录找到 framework_res.apk和framework-miui-res.apk分别先后加载选择"作为framework导入"(很多人修改SystemUI.apk不能反编译或者回编译出错就是这个原因,因为没有导入刚才那几个)然后找到SystemUI.apk按住它选择"反编译全部"等待n分钟后,反编译成功后关闭apktool,打开x-plore找到sd根目录新产生的文件SystemUI_src文件夹里面的\res\layout\status_bar.xml用x-plore管理器对着它选择以文本编辑:status_bar.xml(代码可能不同,但是道理一样,安卓系统通用,本人已修改cm10、深度、小米、x-ui其中包括2.3、4.04、4.1.2跟4.2.2反正安卓通用)
3.游戏才刚刚开始!现在开始修改:
在x-plore文件编辑界面点搜索刚才那个文件里面的字,找到如下代码:(可搜索statusbar.Clock,这样快点)
<com.android.systemui.statusbar.Clock android:textAppearance="@android:styleTextAppearance.StatusBar.Icon" android:gravity="left|center" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />(也许你的系统有所不同代码,不用管,删了此代码全部就得了)
删了上面的代码,全部修改为以下代码:
<DigitalClock android:textSize="14.0dip" android:textStyle="bold" android:textColor="#ffffffff" android:gravity="center_vertical" android:id="@+id/digitalClock" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" />(直接复制然后粘贴)
4.回编译 和替换
替换完后保存,就可以回编译了:打开apktool软件,找到SystemUI_src文件夹点一点它,选择回编译,等待n分钟成功后,用x-plore文件管理器打开sd卡根目录的 SystemUI_src.apk文件,选择以zip方式打开,把SystemUI_src.apk里面的resources.arsc跟\res\layout\路径下的status_bar.xml 跟status_bar_expanded.xml 三个文件覆盖替换到原本SystemUI.apk里面的文件(不用签名)
5.替换原来的程序
把改好的SystemUI.apk用x-plore管理器替换覆盖到system/app/里面!重启后,状态栏时间精确到秒爽!(替换前记得提取原版的SystemUI.apk以免修改错误导致状态栏没了,不过不用怕.把原版的 SystemUI.apk替换回来就行了)
5. Android 如何对apk文件进行反编译以及重新
第一:使用apktool直接反编译apk
第六:把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!
6. 怎么把手机上的app转化为开发源代码
1.下载apktool所需文件:a、apktool1.5.
2.tar.bz2b、apktool-install-windows-r05-ibot.tar.bz2(windows系统)2.解压刚刚下载的文件,并将解压的局饥文件放入C:Windows目录下
3.启动控制台,输入apktool,回车可查看到apktool工具常用指令
4.新建一个文桐掘返件夹,用于存放apk及待解压的文件,这里笔者将文件夹建在D:apk目录,同时放入用于测试的androidapp包(test.apk)
5.控制台输入:apktooldD:apkest.apkD:apkest进行反编译操作中句话散念中“D:apkest.apk”指apk存放位置,“D:apkest”指反编译后文件存放的位置
6.反编译成功之后,进入D:apkest文件目录可以查看到反编译后的文件
7. 安卓app360加固怎么反编译
1 对比
上传demo进行加固,解包后对比下原包和加固包,发现加固包在assets文件夹下多了libjiagu.so,libjiagu_x86,lib文件夹下多了libjiagu_art.so,同时修改了dex文件和AndroidManifest文件
打开manifest文件,看到xxx加固对Application标签做了修改,添加了壳入口,也就是我们反编译后看到的StubApplication.smali这个文件。
相比于之前版本的加固,自从1.x.x.x加固版本之后,多了几次反调试,使得动态难度稍微增大了一些,不过针对脱壳机脱壳,再多了反调试也是无用。或者通过修改系统源码,也能达到消除反调试的作用。
2 动态调试
(1)把app安装到手机,以调试模式打开app
(2)以shell模式root权限打开IDA的android_server监听
(3)tcp转发
(4)打开IDA,修改配置为在进程开始时下断
(5)搜索到进程后jdwp转发,pid值即为我们进程号,并在命令行下附加。
成功附加后,可以下段了,打开Debugger Option
我们选择在线程开始和库加载时下断,修改成功后,jdb附加,点击运行
程序会断在elf头处,按下G键,搜索mmap,在mmap函数的段首和断尾下段
F9运行,来到断尾时F8单步,
来到此处时,在 BLunk_5C999C2C下断,F9一下,F7跟进去
跟进去今后在BLX LR处进行下断,此处就是进行反调试的地方,原理依然是获取TracePid的值判断当前是不是处于调试状态,建议第一次调试的人在fgets和fopen处下断,再f7跟进此调用就可以看到TracePid的值了。
跟进去之后,我们直接把方法移到最下方,就可以看到kill符号了,这就是杀进程的地方,如果当前处于调试状态,则直接结束进程。
我们在此函数的所有cmpR0,#0处下断,F9一下后即断在断点处,观察寄存器窗口的R0值,实质就是当前的TracePid的16进制的值
不确定的可以使用cat /proc/pid/status进行对比一下,我们直接把R0置0,右键选择Zero Value即可清0,继续F9
我们看到程序又来到了mmap处,继续f9
当继续断在调用反调试功能的方法时,继续F7跟进,依然在所有的cmp R0,#0处下断,断下后把R0清0后继续F9运行
目前的规律是,调用BLXLR的第一次,第二次和第四次是进行反调试判断的,第三次并不影响,可以直接f9跳过去,三次反调试搞定后,就可以愉快的F9运行并观察堆栈窗口了
当看到出现如下所示时:
说明壳已经开始解密并释放dex文件了,我们直接F8单步十几步,最后F9一下就可以看到我们需要的dex头了
直接脚本mp出来即可,最后把libjiagu的所有文件删除,并修复下Application标,如果存在则修复,不存在删除即可