吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 1586|回复: 38

[Android ReverseMe] 找自信CM

[复制链接]
赤座灯里 发表于 2020-5-1 15:25
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。

本帖最后由 赤座灯里 于 2020-5-3 06:54 编辑

成功:
Screenshot_20200502-045441.jpg
无壳无混淆,请追码(先试试对不对
crackme3.1.zip (1.42 MB, 下载次数: 78)

免费评分

参与人数 4吾爱币 +8 热心值 +4 收起 理由
CrazyNut + 6 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
growuphappily + 1 + 1 用心讨论,共获提升!
664330793 + 1 + 1 我很赞同!
hs2580 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 赤座灯里 发表于 2020-5-4 23:44
本帖最后由 赤座灯里 于 2020-5-5 00:05 编辑

已被枪手师傅干死
梦游枪手 发表于 2020-5-2 10:44
另外一个so居然藏在图片里了,流弊。不过有混淆,调试的话要等会了
 楼主| 赤座灯里 发表于 2020-5-1 20:22
本帖最后由 赤座灯里 于 2020-5-1 22:49 编辑
growuphappily 发表于 2020-5-1 17:07
第一次做安卓的CM,如果有什么不对请指正
不知道为啥,模拟器打不开这个apk,提示已停止运行
用Android K ...

这不是爆破题,而且你并没爆破成功哦
growuphappily 发表于 2020-5-1 17:07
第一次做安卓的CM,如果有什么不对请指正
不知道为啥,模拟器打不开这个apk,提示已停止运行
用Android Killer打开这个APK,找到MainActivity$1.smali
捕获.PNG
把这行删掉
捕获.PNG
把这行改为goto :cond_0
就可以实现爆破
算法懒得写了,不过好像用了AES,BASE64,MD5(不知道是不是,有个NotMD5Encrypt方法)加密算法
确实是给新手找自信用的
cptw 发表于 2020-5-1 17:39
感谢楼主
weikun444 发表于 2020-5-1 17:44
对不懂算法之辈,看看就行了。下面复杂的事就留给大神吧。

public class MainActivity extends AppCompatActivity
{

    public MainActivity()
    {
        times = 0;
        success = 32;
    }

    public static String NotMD5Encrypt(String s)
    {
        int i;
        int j;
        int k;
        Object obj;
        try
        {
            obj = MessageDigest.getInstance("MD5");
            ((MessageDigest) (obj)).update(s.getBytes());
            s = ((MessageDigest) (obj)).digest();
            obj = new StringBuilder();
            k = s.length;
        }
        // Misplaced declaration of an exception variable
        catch(String s)
        {
            return "";
        }
        i = 0;
          goto _L1
_L5:
        if(j >= 16)
            break MISSING_BLOCK_LABEL_54;
        ((StringBuilder) (obj)).append("0");
        ((StringBuilder) (obj)).append(Integer.toHexString(j));
        i++;
          goto _L1
_L3:
        s = ((StringBuilder) (obj)).toString().substring(8, 24);
        return s;
_L1:
        if(i >= k) goto _L3; else goto _L2
_L2:
        byte byte0 = s[i];
        j = byte0;
        if(byte0 < 0)
            j = byte0 + 256;
        if(true) goto _L5; else goto _L4
_L4:
    }

    public boolean check()
    {
        int i = times;
        boolean flag = false;
        if(i == 0)
        {
            System.out.println(jniTest(0));
            times = times + 1;
            return false;
        }
        i++;
        times = i;
        if(i >= success)
            flag = true;
        return flag;
    }

    public void fail()
    {
        StringBuilder stringbuilder = new StringBuilder();
        stringbuilder.append("不生气倒计时");
        stringbuilder.append(success - times);
        Toast.makeText(this, stringbuilder.toString(), 0).show();
    }

    public native int jniTest(int i);

    protected void onCreate(Bundle bundle)
    {
        super.onCreate(bundle);
        setContentView(0x7f0a001c);
        try
        {
            bundle = String.format("%s/%s", new Object[] {
                getCacheDir(), "pic.jpg"
            });
            InputStream inputstream = getAssets().open("pic.jpg");
            FileOutputStream fileoutputstream = new FileOutputStream(bundle);
            byte abyte0[] = new byte[inputstream.available()];
            inputstream.read(abyte0);
            fileoutputstream.write(abyte0);
            inputstream.close();
            fileoutputstream.close();
            System.loadLibrary("c");
            showPic((ImageView)findViewById(0x7f070062), Uri.fromFile(new File(bundle)));
            (new File(bundle)).delete();
        }
        // Misplaced declaration of an exception variable
        catch(Bundle bundle) { }
        findViewById(0x7f070045).setOnClickListener(new android.view.View.OnClickListener() {

            public void onClick(View view)
            {
                if(!check() && times != -1)
                    fail();
                if(times < success)
                    break MISSING_BLOCK_LABEL_186;
                view = Cipher.getInstance("AES/CBC/PKCS5Padding");
                view.init(1, new SecretKeySpec(MainActivity.NotMD5Encrypt(String.valueOf(times)).getBytes(), "AES"), new IvParameterSpec(MainActivity.NotMD5Encrypt(String.valueOf(times)).getBytes()));
                if(Base64.encodeToString(view.doFinal(String.valueOf(success).getBytes()), 0).equals(((EditText)findViewById(0x7f070079)).getText().toString()))
                {
                    success();
                    break MISSING_BLOCK_LABEL_174;
                }
                times = 1;
                fail();
                return;
                view;
                return;
                view;
                return;
                view;
                return;
                view;
                return;
                view;
                return;
                view;
            }

            final MainActivity this$0;

            
            {
                this$0 = MainActivity.this;
                super();
            }
        }
);
    }

    public native void showPic(ImageView imageview, Uri uri);

    public void success()
    {
        Button button = (Button)findViewById(0x7f070045);
        EditText edittext = (EditText)findViewById(0x7f070079);
        button.setEnabled(false);
        edittext.setEnabled(false);
        edittext.setText(0x7f0c001e);
        edittext.setTextColor(0xffff0000);
    }

    public int success;
    public int times;
}
vrvree 发表于 2020-5-1 18:20

前排,精品贴
 楼主| 赤座灯里 发表于 2020-5-1 20:29
本帖最后由 赤座灯里 于 2020-5-1 21:40 编辑

请带上分析和成功截图哦~
 楼主| 赤座灯里 发表于 2020-5-1 20:34
本帖最后由 赤座灯里 于 2020-5-2 06:11 编辑
growuphappily 发表于 2020-5-1 17:07
第一次做安卓的CM,如果有什么不对请指正
不知道为啥,模拟器打不开这个apk,提示已停止运行
用Android K ...

不支持x86模拟器
处女-大龙猫 发表于 2020-5-1 21:31
收藏了, 虽然我连入门都没入, 在复习没时间搞这个
 楼主| 赤座灯里 发表于 2020-5-1 22:16
本帖最后由 赤座灯里 于 2020-5-1 22:17 编辑

加了一点提示
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2020-5-27 13:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表