吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3116|回复: 15
收起左侧

[Android ReverseMe] 发一个简单的安卓ReverseMe

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

本帖最后由 Mrack 于 2024-5-26 17:47 编辑

最好是追码 唯一, 如果爆破的话附上成品

https://mrack.lanzoub.com/iAnrt1zqlywf

成功提示 : 注册码正确



本帖子中包含更多资源

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

x

免费评分

参与人数 4吾爱币 +4 热心值 +4 收起 理由
qiaoyong + 1 + 1 热心回复!
xiaobinwang + 1 + 1 我很赞同!
为之奈何? + 1 + 1 我很赞同!
zhuzhuxia111 + 1 + 1 我很赞同!

查看全部评分

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

头像被屏蔽
hipojie 发表于 2024-5-26 16:25
提示: 作者被禁止或删除 内容自动屏蔽
风子09 发表于 2024-5-26 16:56
本帖最后由 风子09 于 2024-5-26 20:44 编辑

[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
unsigned __int8 *__fastcall start(__int64 a1, __int64 a2)
{
  __int64 v2; // x0
  unsigned int v3; // w1
  __int64 v4; // x2
  _DWORD *v5; // x3
  __int64 v6; // x2
  unsigned __int8 *v7; // x5
  unsigned __int64 v8; // x1
  int StatusReg; // w3
  __int64 v10; // x4
  unsigned __int64 i; // x2
  char v16; // w3
  unsigned __int64 j; // x0
  char v19; // t1
  char *v20; // x0
  _BYTE *v21; // x2
  unsigned __int8 *v22; // x0
  unsigned int v23; // w1
  __int64 v24; // x2
int v25; // t1
  __int64 v26; // x0
  _BYTE *v27; // x2
  unsigned int v28; // w5
  int v29; // w1
  int v30; // w1
  int v31; // w1
  __int64 v32; // [xsp+0h] [xbp-30h]
  __int64 v33; // [xsp+8h] [xbp-28h]
  _DWORD *v34; // [xsp+10h] [xbp-20h]
 
  v2 = ((__int64 (__fastcall *)(__int64, __int64))loc_A4C48)(a1, a2);
  v32 = v2 + v3;
  v33 = v4;
  v34 = v5;
  while ( 1 )
  {
    while ( 1 )
    {
      v20 = (char *)sub_A4A20(v2);
      if ( !_CF )
        break;
      v19 = *v20;
      v2 = (__int64)(v20 + 1);
      *v21 = v19;
    }
    v22 = (unsigned __int8 *)sub_A4A38(v20);
    if ( v23 >= 3 )
    {
      v25 = *v22++;
      if ( (v25 | ((v23 - 3) << 8)) == -1 )
        break;
    }
    v26 = sub_A4A20(v22);
    v2 = sub_A4A20(v26);
    v30 = v29 + _CF + v29;
    if ( !v30 )
    {
      v2 = sub_A4A38(v2);
      v30 = v31 + 2;
    }
    if ( v28 < 0xFFFFF300 )
      ++v30;
    do
    {
      _CF = v30-- != 0;
      *v27 = v27[v28];
      ++v27;
    }
    while ( _CF );
  }
  v6 = v24 - v33;
  *v34 = v6;
  v7 = &v22[-v32];
  v8 = v33 + v6;
  StatusReg = _ReadStatusReg(ARM64_SYSREG(3, 3, 0, 0, 1));
  if ( (StatusReg & 0x10000000) == 0 )
  {
    v10 = -4LL << (BYTE2(StatusReg) & 0xF);
    for ( i = v33 & v10; v8 > i; i -= v10 )
      __asm { SYS             #3, c7, c11, #1, X2 }
  }
  __dsb(0xBu);
  if ( (StatusReg & 0x20000000) == 0 )
  {
    v16 = StatusReg & 0xF;
    for ( j = v33 & (-4LL << v16); v8 > j; j -= -4LL << v16 )
      __asm { SYS             #3, c7, c5, #1, X0 }
  }
  __dsb(0xBu);
  __isb(0xFu);
  return v7;
}
q416 发表于 2024-5-25 21:02
lexbure 发表于 2024-5-25 22:35
你好,请问是要查看verify的代码逻辑吗?我的IDA无法查看伪代码,想问一下各位大神咋弄,

本帖子中包含更多资源

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

x
Arcticlyc 发表于 2024-5-26 01:10
lexbure 发表于 2024-5-25 22:35
你好,请问是要查看verify的代码逻辑吗?我的IDA无法查看伪代码,想问一下各位大神咋弄,

https://www.52pojie.cn/thread-1640829-1-1.html#/

我用的这个,可以查看的
qq465881818 发表于 2024-5-26 10:46
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public class MainActivity extends Activity {
    private static String path;
 
    public static native String verify(String str);
 
    static {
        System.loadLibrary("crackme");
    }
 
    @Override // android.app.Activity
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_main);
        if (!Build.SUPPORTED_ABIS[0].equals("arm64-v8a")) {
            Toast.makeText(this, "Unsupported architecture", 0).show();
            finish();
        }
        try {
            InputStream open = getAssets().open("cm");
            byte[] bArr = new byte[open.available()];
            open.read(bArr);
            open.close();
            File file = new File(getFilesDir(), "cm");
            FileOutputStream fileOutputStream = new FileOutputStream(file);
            fileOutputStream.write(bArr);
            fileOutputStream.close();
            path = file.getAbsolutePath();
        } catch (IOException e) {
            Toast.makeText(this, e.getMessage(), 0).show();
            finish();
        }
    }
 
    public void submit(View view) {
        Toast.makeText(this, verify(((EditText) findViewById(R.id.editText)).getText().toString()), 0).show();
    }
}
头像被屏蔽
hipojie 发表于 2024-5-26 11:14
提示: 作者被禁止或删除 内容自动屏蔽
lexbure 发表于 2024-5-26 15:50
Arcticlyc 发表于 2024-5-26 01:10
https://www.52pojie.cn/thread-1640829-1-1.html#/

我用的这个,可以查看的

感谢大神
风子09 发表于 2024-5-26 16:22
hipojie 发表于 2024-5-26 11:14
什么样算破解成功。

ReverseMe 要求别人把它的算法做出逆向分析
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-3-30 19:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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