吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 18462|回复: 31
收起左侧

[Android CrackMe] 一个安卓小crack,欢迎尝试

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



网上一个demo进行了改动,欢迎爆破和研究加密算法

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
h080294 + 1 + 1 谢谢@Thanks!
墨小白傲娇受 + 1 我很赞同!

查看全部评分

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

苏紫方璇 发表于 2015-5-21 15:43
取用户名md5,然后取奇数位字符

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 1热心值 +1 收起 理由
qtfreet00 + 1 你点了作弊按钮啦!

查看全部评分

xeldax 发表于 2017-12-13 14:33

小白留爪

smali跳转去做就没意义了

dex -> jar后的源代码

直接看按钮onClick部分

public void onClick(View paramView)
  {
    switch (paramView.getId())
    {
    default:
      return;
    case 2131230724:
      if (!checkSN(this.edit_userName.getText().toString().trim(), this.edit_sn.getText().toString().trim()))
      {
        Toast.makeText(this, 2131034123, 0).show();
        return;
      }
      Toast.makeText(this, 2131034124, 0).show();
      this.btn_register.setEnabled(false);
      setTitle(2131034122);
      return;
    case 2131230723:
    }
    checkSNfalse(this.edit_userName.getText().toString().trim(), this.edit_sn.getText().toString().trim());
    this.btn_answer.setVisibility(8);
  }

校验在checkSN


  private boolean checkSN(String paramString1, String paramString2)
  {
    if (paramString1 != null)
      try
      {
        if (paramString1.length() == 0)
          return false;
        if ((paramString2 != null) && (paramString2.length() == 16))
        {
          Object localObject = MessageDigest.getInstance("MD5");
          ((MessageDigest)localObject).reset();
          ((MessageDigest)localObject).update(paramString1.getBytes());
          paramString1 = toHexString(((MessageDigest)localObject).digest(), "");
          localObject = new StringBuilder();
          int i = 0;
          while (true)
          {
            if (i >= paramString1.length())
            {
              paramString1 = ((StringBuilder)localObject).toString();
              Log.e("TAG", paramString1);
              if (!paramString1.equalsIgnoreCase(paramString2))
                break;
              return true;
            }
            ((StringBuilder)localObject).append(paramString1.charAt(i));
            i += 2;
          }
        }
      }
      catch (NoSuchAlgorithmException paramString1)
      {
        paramString1.printStackTrace();
      }
    return false;
  }

可以看到这个算法就是将你的输入的字符串做MD5后取偶数位

解决脚本

import hashlib
str1 = '123'
str2 = ''
a =  hashlib.md5()
a.update(str1)
str1 = a.hexdigest()
m = 0
while True:
    if m >= len(str1):
        print str2
        break
    str2 += str1[m]
    m += 2
YsGer 发表于 2015-5-21 14:29
利赦 发表于 2015-5-21 15:50
好吧,楼上有大神解了。
wokl168 发表于 2015-5-21 17:20
干什么用的?不懂。
苏紫方璇 发表于 2015-5-21 19:13
被你发现了,忘记截一张不按作弊按钮的图了
头像被屏蔽
hnicf 发表于 2015-5-22 22:21
提示: 作者被禁止或删除 内容自动屏蔽
syrmb 发表于 2015-6-13 21:33
对用户名进行md5之后 取0 2 4 6 8....

免费评分

参与人数 1热心值 +1 收起 理由
qtfreet00 + 1 awesome

查看全部评分

B6B6B6 发表于 2015-6-14 10:00
本帖最后由 B6B6B6 于 2015-6-19 19:14 编辑

感谢分享crackme!
非法菜鸟 发表于 2015-12-29 21:30
.line 116
    invoke-direct {p0, v0, v1}, Lcom/droider/crackme0201/MainActivity;->checkSN(Ljava/lang/String;Ljava/lang/String;)Z

    move-result v0

    .line 117
    if-nez v0, :cond_0     ->if-eqz v0, :cond_0       更改跳转方式

    .line 119
    const v0, 0x7f05000b

    .line 118
    invoke-static {p0, v0, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast;

    move-result-object v0

    .line 119
    invoke-virtual {v0}, Landroid/widget/Toast;->show()V

    goto :goto_0

    .line 122
    :cond_0
    const v0, 0x7f05000c
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-21 18:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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