您的位置:首页 > 其它

160个练手CrackMe-031

2017-11-23 23:31 260 查看
1、无壳,VB

2、VB Decompiler

慢慢追。

还原C流程:

int main(){
int i, t;
char serial[20] = {0};
char res[20] = {"VeiajeEjbavwij"};
char tmp[20] = {0};
char key[20] = {"20002000200020002"};

scanf("%s", serial);
t = serial[3];
for(i=0; i<strlen(serial); i++){
tmp1[i] = t ^ serial[i];
}

for(i=0; i<strlen(serial); i++){
tmp2[i] = key[i] ^ tmp1[i];
}

//  printf("%s\n", tmp2);

if(strcmp(tmp2, res) == 0)
"Yes!"
else
"NO!"

return 0;
}


3、逆向

①得到tmp2

>>> [ord(res[i])^ord(key[i]) for i in range(len(res))]
[100, 85, 89, 81, 88, 85, 117, 90, 80, 81, 70, 71, 91, 90]


②爆破还原Serial

>>> c = '0123456789abcdefghijklmn...'
>>> for i in c:
for j in tmp2:
print(chr(j^ord(i)), end='')
print('\n', end='')

TeiaheEj`avwkj
Udh`idDka`wvjk
VgkcjgGhbctuih
WfjbkfFicbuthi
PamelaAnderson
Q`ldm`@oedsrno
RcogncClfgpqml
SbnfobBmgfqplm
\mai`mMbhi~cb
]l`halLcih~bc
48094;10'&:;
7;3:7823$%98
6:2;6932%$89
......


Serial: PamelaAnderson

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CrackMe