新手级Carckme--Butland's CrackMe01
逆出简单的算法爆破简单,账号密码还没拿到…… 研究了一下 他的账号密码算法,但是不会逆向,只会静态分析
通俗来说,账号密码必须要6位
一个长度为2的int类型数组,
第一个int类型的值是账号的1、2位异或,3、4位异或、5、6位异或拼装而得
第二个int类型的值是密码的1、2位异或,3、4位异或、5、6位异或拼装而得
最终第一个和第二个int的每一个字节位再异或之后得到的值是0x1c150e,知道原理不会做怎么办{:1_926:}
一看算法晕了,期待大神献身!
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:10 编辑
有很多组解,加上纯小写字母的约束之后用claripy拿到一个可行解即可 萌新小菜鸡就只会爆破,坐等大佬追码 算法弄不来,爆破还可以,
页:
[1]