孤独残影 发表于 2019-7-11 16:46

【反编译APK添加控件注意事项】

本帖最后由 孤独残影 于 2019-7-11 16:51 编辑




以下内容是我针对【Android逆向】初识APK所整理的一些内容,希望对需要的人有帮助!
新手教程大牛勿扰
    有什么需要改进的地方,希望大家能一起讨论,有什么问题和建议也可以私聊我!希望得到大家的更多支持!
本文以一个最简单的例子,来教给大家Android逆向入门的一些知识。
1、所以首先我们需要准备一个APK,你会发现一个登陆和注册,但是点击没效果,没效果的原因很简单,没有添加相应的试件 。

如果要在一个应用程序添加控件,除了在这里修改,不添加id值,随便在某个布局添加按钮是没有任何问题的。
      
2、分析其他一些值有什么作用?
它们之间是有联系的,真正在smali代码里面使用的是这个值,对应的id值。
   
副局页面里面添加新的按钮,都是静态final不可变的也是不可修改的。把bin_login:I删除的话会在Java代码里面报错,再删除某个按钮程序会崩溃。
      
添加按钮时需要注意只添加按钮不行,还得添加试件,添加手写代码。
      
找到values文件夹里面idspubic文件夹,smali文件点击进去r.id里面出现一样的值,对应的三个位置相应的代码。想实现一个功能不可能手写smali代码,可以写成Java代码编译成daf文件,在反编译smali文件插进来。
      
切换到这个代码,这里可以直接写1.会报警告无所谓,0的话长一点。
      
V0是从哪获取的呢?getAPPlicathin调用这个方法返回V0,iget-object获取到p0的值给v0把v0传入invoke—virtual最终返回v0。
      
删除一个控件之后添加一个控件,反编译的时候和开发时的区别,开发时用的安卓开发工具应用程序的时候这两个是系统完成,只需要修改配置文件在添加smali代码的时候需要自己添加。
   
      
总结:找到控件所在的布局文件,修改控件的宽高度属性,找到控件所在的Activitysmali文件,在Activity的初始方法中设置控件的大小,一般在onCreate方法中,这点要熟悉smali语言。










王宇 发表于 2019-7-11 17:56

感谢分享,支持一下

阿秉 发表于 2019-7-11 18:02

感谢分享的说

jianailing 发表于 2019-7-22 13:12

不明觉厉

zhvfeng 发表于 2019-7-22 14:26

看起来很高级,慢慢学

无相孤君 发表于 2021-12-1 12:59

大佬,你的这个反编译软件是什么,求分享,小白找不到什么好用的反编译软件
页: [1]
查看完整版本: 【反编译APK添加控件注意事项】