FuSu_ChunQiu 发表于 2021-5-15 19:33

新手级Carckme--Butland's CrackMe01

逆出简单的算法

超级大碰碰 发表于 2021-5-15 19:57



爆破简单,账号密码还没拿到……

caiji1 发表于 2021-5-15 20:43

xman100 发表于 2021-5-16 01:48

研究了一下 他的账号密码算法,但是不会逆向,只会静态分析

通俗来说,账号密码必须要6位

一个长度为2的int类型数组,
第一个int类型的值是账号的1、2位异或,3、4位异或、5、6位异或拼装而得
第二个int类型的值是密码的1、2位异或,3、4位异或、5、6位异或拼装而得

最终第一个和第二个int的每一个字节位再异或之后得到的值是0x1c150e,知道原理不会做怎么办{:1_926:}

weikun444 发表于 2021-5-16 11:23

一看算法晕了,期待大神献身!

result = lstrlenA(lpString);
if ( result == 6 )
{
    result = lstrlenA(a2);
    if ( result == 6 )
    {
      v3 = lpString;
      v4 = 4;
      v5 = 0;
      do
      {
      *((_BYTE *)&v11 + v5) = v3 ^ *v3;
      v3 += 2;
      ++v5;
      --v4;
      }
      while ( v4 );
      v6 = a2;
      v7 = 4;
      v8 = 0;
      do
      {
      v12 = v6 ^ *v6;
      v6 += 2;
      ++v8;
      --v7;
      }
      while ( v7 );
      v9 = 3;
      v10 = 0;
      do
      {
      *((_BYTE *)&v11 + v10) ^= v12;
      ++v10;
      --v9;
      }
      while ( v9 );
      result = v11 - 1840398;
      if ( v11 == 1840398 )
      result = MessageBoxA(0, Caption, Caption, 0);
    }
}

fnv1c 发表于 2021-5-16 14:08

本帖最后由 fnv1c 于 2021-5-16 14:10 编辑

有很多组解,加上纯小写字母的约束之后用claripy拿到一个可行解即可

24k纯金滑稽 发表于 2021-5-16 14:19

萌新小菜鸡就只会爆破,坐等大佬追码

jy04468108 发表于 2021-5-17 10:43

算法弄不来,爆破还可以,
页: [1]
查看完整版本: 新手级Carckme--Butland's CrackMe01