-
-
[原创]看雪2016 第十九题 CrackMe逆向分析
-
发表于:
2016-12-12 18:02
6232
-
[原创]看雪2016 第十九题 CrackMe逆向分析
19题采用的是RSA加解密,第一版采用的是RSA2048,这个目前无解。第二版是RSA272,可以分解N了。具体逆向分析如下:
将 BS272.exe 拖入 IDA 中很容易就找到了 main函数,F5后流程也很清晰,
gn = 0;
v3 = 65;
v4 = "A324F100182D501F6F6F78F397A3AA59641023D6A3DED8A4BF344F1E0FC71C188F4D";
do
{
v5 = (unsigned __int8)byte_4281B0[(unsigned __int8)v3];
sub_4019F0(&gn);
sub_401940(v5);
v3 = (v4++)[1];
}
while ( v3 );
....
sub_406330(&username, byte_448EA0);
v6("Username : %s\n", byte_448EA0);
Size = 10240;
sub_406330(&serial, byte_448EA0);
v6("Vericode : %s\n", byte_448EA0);
v6("\nverifying...\n");
sub_403E30(&username);
sub_403E30(&serial);
if ( sub_401510() )
{
v6("%s\n", &unk_448EB5);
getch();
result = 0;
}
v0 = 1;
v9 = 0;
v8 = 17;
e17 = 1;
do
{
if ( *(&v8 + v0) )
break;
e17 = --v0;
}
while ( v0 >= 0 );
e17 = v0 + 1;
rsa_exptmod((int)&e, &e17, (int)&username);
v1 = 0;
[峰会]看雪.第八届安全开发者峰会10月23日上海龙之梦大酒店举办!