攻防世界 reverse parallel-comparator-200


parallel-comparator-200 school-ctf-winter-2015

https://github.com/ctfs/write-ups-2015/tree/master/school-ctf-winter-2015/reverse/parallel-comparator-200

linux平台,mark,以后解決。

給出了源代碼,關鍵在於checking函數返回0

void * checking(void *arg) {
    char *result = malloc(sizeof(char));
    char *argument = (char *)arg;
    *result = (argument[0]+argument[1]) ^ argument[2];
    return result;
}

 

另一點是

    while ((initialization_number = random()) >= 64);
    
    int first_letter;
    first_letter = (initialization_number % 26) + 97;
initialization_number 其實是個固定值,調試時可得到

wp:

differences = [0, 9, -9, -1, 13, -13, -4, -11, -9, -1, -7, 6, -13, 13, 3, 9, -13, -11, 6, -7]
first_letter = 108
print (''.join([chr(first_letter+differences[i]) for i in range(len(differences))]))

lucky_hacker_you_are

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM