使用ApkTool分析apk文件(windows)
来源:互联网 发布:python获取当前函数名 编辑:程序博客网 时间:2024/06/03 18:48
使用androidstudio生成一个APK文件
方法是:
build
生成一个APK文件,在mainifest.xml文件中添加一些权限,
<uses-permission android:name="android.permission.SEND_SMS"/> <uses-permission android:name="android.permission.RECEIVE_SMS"/> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.VIBRATE" />
就是这些,在MainActivity.java中添加一个Toast
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toast.makeText(getApplicationContext(), "发送完毕,你的信息被我偷走了", Toast.LENGTH_SHORT).show(); }}
生成了apk文件之后从apktool官网下载最新的apktool.jar文件,和apktool.bat文件。把这两个文件保存到c:\windows下,点击apktool.bat文件。
此时可以在任何目录下是用apktool命令,
命令为:apktool d app-release.apk
此时会在工作目录下生成一个同名文件夹app-release
在smali中是反编译得到的smali文件
其中有一个是MainActivity.smali就是我们刚刚修改过的文件:
这是内容可以使用其他工具使其变成可以被jdgui查看的文件形式。
.class public Lcom/example/administrator/myapplication/MainActivity;.super Landroid/support/v7/app/AppCompatActivity;.source "MainActivity.java"# direct methods.method public constructor <init>()V .locals 0 .prologue .line 7 invoke-direct {p0}, Landroid/support/v7/app/AppCompatActivity;-><init>()V return-void.end method# virtual methods.method protected onCreate(Landroid/os/Bundle;)V .locals 3 .param p1, "savedInstanceState" # Landroid/os/Bundle; .prologue .line 11 invoke-super {p0, p1}, Landroid/support/v7/app/AppCompatActivity;->onCreate(Landroid/os/Bundle;)V .line 12 const v0, 0x7f04001b invoke-virtual {p0, v0}, Lcom/example/administrator/myapplication/MainActivity;->setContentView(I)V .line 13 invoke-virtual {p0}, Lcom/example/administrator/myapplication/MainActivity;->getApplicationContext()Landroid/content/Context; move-result-object v0 const-string v1, "\u53d1\u9001\u5b8c\u6bd5,\u4f60\u7684\u4fe1\u606f\u88ab\u6211\u5077\u8d70\u4e86" const/4 v2, 0x0 invoke-static {v0, v1, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; move-result-object v0 invoke-virtual {v0}, Landroid/widget/Toast;->show()V .line 14 return-void.end method
可以使用smali2java使其反编译为java文件
/** * Generated by smali2java 1.0.0.558 * Copyright (C) 2013 Hensence.com */package com.example.administrator.myapplication;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.content.Context;import android.widget.Toast;public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle p1) { super.onCreate(p1); setContentView(0x7f04001b); Toast.makeText(getApplicationContext(), "\u53d1\u9001\u5b8c\u6bd5,\u4f60\u7684\u4fe1\u606f\u88ab\u6211\u5077\u8d70\u4e86", 0x0).show(); }}
在original文件夹得到的是manifest.xml文件和一些签名文件在original中还有一个文件夹META-INF其中有三个文件,有一个文件是CERT.RSA可以使用keytool来查看里面的内容:
命令是:>keytool -printcert -file cert.rsa
这里面包括了各种开发者相关的信息。
阅读全文
0 0
- 使用ApkTool分析apk文件(windows)
- 使用apktool反编译apk文件
- 使用apktool反编译apk的XML文件
- 使用APKTool+dex2jar+jd_gui反编译apk文件
- 使用apktool编译以及反编译apk文件
- 使用apktool反编译apk获取资源文件
- 使用apktool反编译apk的XML文件
- apktool反编译apk文件
- apktool反编译apk文件
- apktool 解压apk文件
- apk重打包(不使用apktool)
- 使用apktool修改apk
- 使用Apktool修改apk
- android使用apktool 和 dex2jar反编译apk文件
- 使用apktool反编译apk文件的资源信息
- 使用apktool反编译apk文件的资源信息
- apk文件反编译工具apktool的下载,安装,使用
- ApkTool Android APK 逆向分析
- 温度的识别
- SpringBoot项目中使用redis缓存
- 网站访问高峰之后,如何回收已占用的swap分区
- NEC的红外编码!
- Retrofit请求方式
- 使用ApkTool分析apk文件(windows)
- Jmockit使用详解之Mocking
- equals与==区别
- 每天一道算法题——树的子结构
- 我的Kotlin For Android之路基础篇(二)
- 测试应该知道的Nginx知识
- 练习题 一
- CodeForces
- bzoj1875 [SDOI2009]HH去散步 偏移+化边+矩乘