能力值:
( LV2,RANK:10 )
|
-
-
2 楼
111 和 3EA 好像是消息响应,你可以在它们上面下断看下。
当 [esp+8]=111 且 [esp+C]=3EA 时,才表示你才按下了Regist按钮,才对你的注册码进行验证。
否则跳过。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
00401063 . E8 98010000 call 1.00401200
这个函数里GetDlgItemText之后进行验证,返回值是验证的结果。1为验证通过
|
能力值:
( LV13,RANK:290 )
|
-
-
4 楼
signed int __cdecl sub_401200()
{
int i; // ebx@1
unsigned int v1; // ebp@1
signed int v2; // esi@1
unsigned int v3; // edi@1
int nStringCount; // eax@1
unsigned __int64 v5; // qax@6
bool v6; // zf@6
unsigned int v7; // esi@7
unsigned __int64 v8; // kr08_8@7
signed int result; // eax@9
char *pChar; // [sp+10h] [bp-28h]@3
int v11; // [sp+14h] [bp-24h]@5
int nStringCount1; // [sp+18h] [bp-20h]@2
unsigned int v13; // [sp+20h] [bp-18h]@1
CHAR String; // [sp+24h] [bp-14h]@1
i = 0;
v1 = 0;
v13 = 0;
v2 = 1;
v3 = 0;
LOBYTE(nStringCount) = GetDlgItemTextA(dword_4056BC, 1000, &String, 20);
if ( !(_BYTE)nStringCount )
goto LABEL_13;
nStringCount = (char)nStringCount;
nStringCount1 = (char)nStringCount;
if ( (char)nStringCount > 0 )
{
pChar = (char *)&v13 + nStringCount + 3; // pChar指向String的最后一个字符
do
{
if ( i > 0 )
{
v11 = i;
do
{
v5 = 10 * __PAIR__(v3, v2); // __PAIR__(v3, v2) == v3 * v2;
v2 *= 10;
v6 = v11 == 1;
v3 = HIDWORD(v5);
--v11;
}
while ( !v6 );
}
v8 = ((signed int)*pChar - 48) * __PAIR__(v3, v2) + __PAIR__(v13, v1);
v7 = (((signed int)*pChar - 48) * __PAIR__(v3, v2) + __PAIR__(v13, v1)) >> 32;
v1 = v8;
v3 = 0;
++i;
v13 = v7;
v2 = 1;
--pChar;
}
while ( i < nStringCount1 );
}
if ( (v1 & 0xFF23301)
+ (unsigned __int64)((signed __int64)(3123612579u * __PAIR__(v13, v1)) / 34359738368i64)
+ ~v1 * v1 == -2030062152 )
result = 1;
else
LABEL_13:
result = 0;
return result;
}
|
能力值:
( LV13,RANK:290 )
|
-
-
5 楼
假设v13为x, v1为y,
根据 if ( (v1 & 0xFF23301)
+ (unsigned __int64)((signed __int64)(3123612579u * __PAIR__(v13, v1)) / 34359738368i64)
+ ~v1 * v1 == -2030062152 )
可以得到一个方程,
根据
v8 = ((signed int)*pChar - 48) * __PAIR__(v3, v2) + __PAIR__(v13, v1);
v7 = (((signed int)*pChar - 48) * __PAIR__(v3, v2) + __PAIR__(v13, v1)) >> 32;
可以得到一个方程,
最后解二元一次方程,
可以得到x,y的值,再去推注册码吧,我操,,
|
|
|