160个练手CrackMe-031

来源:互联网 发布:美工需要做什么 编辑:程序博客网 时间:2024/05/16 06:34

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`avwkjUdh`idDka`wvjkVgkcjgGhbctuihWfjbkfFicbuthiPamelaAndersonQ`ldm`@oedsrnoRcogncClfgpqmlSbnfobBmgfqplm\mai`mMbhi~cb]l`halLcih~bc48094;10'&:;7;3:7823$%986:2;6932%$89......

Serial: PamelaAnderson

这里写图片描述

原创粉丝点击