本文主要是介绍安卓从开发到逆向(四),smali插桩,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
smali插桩
如果仅仅用Smali来分析代码,效果其实不如用dex2jar和jd-gui更直观,毕竟看反编译的java代码要更容易一些。但Smali强大之处就是可以随心所欲的进行插桩操作。何为插桩,引用一下wiki的解释:
程序插桩,最早是由J.C. Huang 教授提出的,它是在保证被测程序原有逻辑完整性的基础上在程序中插入一些探针(又称为“探测仪”),通过探针的执行并抛出程序运行的特征数据,通过对这些数据的分析,可以获得程序的控制流和数据流信息,进而得到逻辑覆盖等动态信息,从而实现测试目的的方法。
准备工具:
android killer,android studio,Smalidea插件,夜神模拟器,adb,check_md5-release.apk
工具下载地址:
链接:https://pan.baidu.com/s/1mHOl9y-LXnETUg3oDAKNvA
提取码:3ygd
步骤
首先开发一个简单的登录demo程序,要求输入用户名、邀请码、密码来完成账号的注册。
关键代码
public class MainActivity extends AppCompatActivity {private EditText edit_userName,edit_password;private EditText edit_sn;private Button btn_register;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);edit_userName = findViewById(R.id.username);edit_sn = findViewById(R.id.invitation);edit_password = findViewById(R.id.password);btn_register = findViewById(R.id.submit);// 匿名类bt
这篇关于安卓从开发到逆向(四),smali插桩的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!