美文网首页Android 从入门到走后门
Android后门计划-Demo-脱壳工具使用

Android后门计划-Demo-脱壳工具使用

作者: 杨阿杨阿阳 | 来源:发表于2021-10-20 16:09 被阅读0次

    兄弟们最近被我带的对逆向萌生兴趣,但是遇到加壳的App就无从下手了。今天写的简单的Demo来讲一下脱壳工具的使用。(切勿用于非法用途,本人文章仅供学习和参考)

    1、准备工具

    a、需要脱壳的apk
    b、BlackDex32 (需要可以私信)
    c、jadx/GDA (自行百度找)

    我们使用自己编写的作为demo,源代码如下:

    public class MainActivity extends AppCompatActivity {
        private EditText editText;
        private Button button;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            editText = findViewById(R.id.ed_main);
            button = findViewById(R.id.btn_main);
    
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String trim = editText.getText().toString().trim();
                    if (TextUtils.isEmpty(trim)) {
                        Toast.makeText(MainActivity.this, "不能为空", Toast.LENGTH_SHORT).show();
                        return;
                    }
    
                    if (trim.equals("NS你个小辣鸡")) {
                        Toast.makeText(MainActivity.this, "验证成功", Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(MainActivity.this, "验证失败!!!", Toast.LENGTH_SHORT).show();
                    }
                }
            });
        }
    }
    

    2、开始脱壳

    2.1关键信息查看

    我们先把apk拖到jadx看,发现有关键词“qihoo”相关的,且发现包名相关目录下仅有一个R文件


    image.png

    2.2安装我们的apk和BlackDex32

    image.png

    2.3打开BlackDex,且选择需要脱壳App

    image.png

    2.4等待脱壳完毕

    image.png image.png

    2.5脱壳完毕,我们需要把dex拿到桌面,且进行观察

    代码量比较少,所以出来的基本都是cookie开头,有些我们拖出来能看到cookie和hook开头的。实际情况我们仅仅需要cookie开头的即可。


    image.png

    2.6按照规则修改dex名字

    我们打开一个比较大的app之后(别的App;用来和Demo做对比),发现它的dex名字和构成如下:


    image.png

    所以也需要把我们自己的改成classes、classes2、......


    image.png

    2.6将修改后的dex替换原包dex

    打开方式用zip打开或者将其后缀修改为.zip,然后进行覆盖替换;然后把再次改回apk格式


    image.png
    image.png

    2.7修改之后直接查看源代码

    image.png

    找到我们编写的代码路径:


    image.png

    指令被抽取,我们转为看smali指令部分。


    image.png

    这里有smali部分是有的,说明jadx的解析能力不强。我们转到GDA看看

    image.png

    在相关内部类中找到核心代码。即脱壳完成。

    3、注意事项

    jadx虽然查看代码比较友好,但是其反编译能力一般。 GDA的反编译能力强一些建议结合查看。dex的指令被抽取需要修复Dex文件,如果具有能力,有ELF文件结构基础可以使用010自行修改。 或者使用其他工具修复dex结构。
    逆向虽有趣,切勿用于非法用途!

    相关文章

      网友评论

        本文标题:Android后门计划-Demo-脱壳工具使用

        本文链接:https://www.haomeiwen.com/subject/krvtaltx.html