首页
社区
课程
招聘
[原创]签到题 解
2021-11-15 14:37 1757

[原创]签到题 解

2021-11-15 14:37
1757

校验函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
int __cdecl sub_401340(HWND hDlg)
{
  UINT v1; // ebx
  int v2; // ebx
  int v3; // ecx
  int v4; // eax
  int result; // eax
  signed int v6; // [esp+Ch] [ebp-260h]
  char v7[200]; // [esp+10h] [ebp-25Ch] BYREF
  CHAR String[200]; // [esp+D8h] [ebp-194h] BYREF
  CHAR Str[200]; // [esp+1A0h] [ebp-CCh] BYREF
 
  memset(String, 0, sizeof(String));
  memset(v7, 0, sizeof(v7));
  memset(Str, 0, sizeof(Str));
  v1 = GetDlgItemTextA(hDlg, 1000, String, 201);
  if ( v1
    && (v6 = GetDlgItemTextA(hDlg, 1001, Str, 201), v2 = sub_401260(String, v1),
                                                    strspn(Str, "0123456789") == strlen(Str))
    && v6 <= 10
    && (v4 = sub_40307F(v3, (int)Str)) != 0
    && (unknown_libname_13(v2 ^ v4, v7, 16), sub_401260(v7, 8) == 330861687) )
  {
    SetDlgItemTextA(hDlg, 1001, "Success!");
    result = 1;
  }
  else
  {
    SetDlgItemTextA(hDlg, 1001, "Wrong Serial!");
    result = 0;
  }
  return result;
}

可知
sub_40307F(hex(sub_40307F(userName)^ key)) == 330861687

 

用户名为KCTF

 

用正确的一组序列号已经需要求解的用户名调用sub_40307F,可得到正确参数0x52a1ed5a

 

sub_40307F(userName) ^ key = 0x52a1ed5a

 

sub_40307F(KTF) = 0x5EE54F4C

 

key = 205824534


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回