首页 > 其他 > 详细

objection使用

时间:2020-08-13 00:13:37      阅读:127      评论:0      收藏:0      [点我收藏+]

安装

python3.6 -m pip install objection

objection注入指定应用。

objection -g cxa.com.logindemo explore

查找所有可用activities

 android hooking list activities

结果

cxa.com.logindemo.MainActivity

Found 1 classes

之后可以查在这个类下面有哪些方法

android hooking list class_methods cxa.com.logindemo.MainActivity

结果

public static java.lang.Object cxa.com.logindemo.MainActivity.access$super(cxa.com.logindemo.MainActivity,java.lang.String,java.lang.Object...)
public void cxa.com.logindemo.MainActivity.onCreate(android.os.Bundle)

实际的android代码

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Name = (EditText) findViewById(R.id.TEXT_NAME);//通过findViewById找到输入框控件对应的id,并给他起个名字
        Pass = (EditText) findViewById(R.id.TEST_PASS);//通过findViewById找到输入框控件对应的id,并给他起个名字
        message_tv = ((TextView) findViewById(R.id.textView3));
        Button Login = (Button) findViewById(R.id.BTN_LOGIN);
        Login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //check(Name.getText().toString().trim(), Pass.getText().toString().trim());
                //调用check函数
                if (Name.getText().toString().compareTo("cxa")==0) {
                    message_tv.setText("你不能使用cxa这个用户登录");
                    return;
                }
                message_tv.setText("成果躲开用户判断 :" + Base64.encodeToString((Name.getText().toString() + ":" + Pass.getText().toString()).getBytes(), Base64.DEFAULT));

            }
        });
    }

发现方法名和参数基本上一样。
之后可以通过objection生成frida的代码

android hooking generate  simple cxa.com.logindemo.MainActivity

生成的结果如下:

Java.perform(function() {
    var clazz = Java.use(‘cxa.com.logindemo.MainActivity‘);
    clazz.access$super.implementation = function() {

        //

        return clazz.access$super.apply(this, arguments);
    }
});


Java.perform(function() {
    var clazz = Java.use(‘cxa.com.logindemo.MainActivity‘);
    clazz.onCreate.implementation = function() {

        //

        return clazz.onCreate.apply(this, arguments);
    }
});

参考链接:
https://www.anquanke.com/post/id/197657

objection使用

原文:https://www.cnblogs.com/c-x-a/p/13493629.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!