Android移动安全攻防实战 第二章

破解第一个Android应用

2.1

利用APKTool反编译apk
下载ApkTool
然后用jar包来反编译

反编译NDKDemo,默认创建的NDK

java -jar apktool_2.6.1.jar d xxxxxx.apk -o output_dir

在这个放jar包的地方输入自己的apk名字然后-o 输出到output_dir里面。output_dir会自己建的。

java2smali
将java语言转为smali的方法。
idea也有插件在这里插入图片描述
构建的地方可以转过去
在这里插入图片描述
现在不会写smali所以看着书写。

move-result-object v0后面加上

const/4 v1,0x1

invoke-static {p0,v0,v1},
Landroid/widgt/Toast; ->makeText ( Landroid/content/Context; Ljava/lang/CharSequence;I)
Landroid/widgt/Toast;

move-result-object v1

invoke-virtual {v1}, Landroid/widget/Toast; ->show()V

以及在onCreate更改局部变量

# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
    .locals 2

就可以在一开始创建的NDKDemo里创建Toast了

重新编译并签名

//一开始不严谨报错了几次,看了其他的代码改好了。如果出错apktool还会指出来在第几行非常好用

重新编译指令

java -jar apktool_2.6.1.jar b output_dir -o hello_world_unsigned.apk

在这里插入图片描述
然后创建jks文件 在Android Studio中的Build里可以Generate Signed APK
详情

java -jar apksigner.jar sign -verbose --ks 111.jks --v1-signing-enabled true --v2-signing-enabled true --ks-pass pass:(密码) --ks-key-alias key0 --out hello_world_signed.apk  hello_world_unsigned.apk

然后就可以了
在这里插入图片描述
但是打不开不知道为什么。难道是虚拟机的事?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值