Brief C Programs of the Bombs
生活随笔
收集整理的這篇文章主要介紹了
Brief C Programs of the Bombs
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這是一個關于炸彈的簡短的 C 代碼,了解思路即可哈!
參考資料
反匯編思路及過程:拆解二進制炸彈詳解
phase_1 C語言代碼
string input; cin >> input;string answer = "Let's begin now!"; if (input == answer)return; elseexplode_bomb();phase_2 C語言代碼
//假設 ID_num 為 11 位 int input[6]; for (int i = 0; i < 6; ++i)cin >> a[i];//爆炸點 if (a[0] != 1)explode_bomb();for (int i = 0; i < 5; ++i) {int ID = ID_num[10 - i];if (a[i] * ID != a[i + 1])explode_bomb(); }phase_3 C語言代碼
int a[2]; char c; cin >> a[0] >> c >> a[1];int ID = 輸入ID的最后一位 char c0; int b; switch (a[0]) {case 0 : {c0 = 'q';b = 777;if (ID * a[1] != b)explode_bomb();break;}case 1 : {c0 = 'b';b = 214;if (ID * a[1] != b)explode_bomb();break;}case 2 : {c0 = 'b';b = 755;if (ID * a[1] != b)explode_bomb();break;}case 3 : {c0 = 'k';b = 0;if (ID * a[1] != b)explode_bomb();break;}case 4 : {c0 = 'o';b = 228;if (ID * a[1] != b)explode_bomb();break;}case 5 : {c0 = 't';b = 513;if (ID * a[1] != b)explode_bomb();break;}case 6 : {c0 = 'v';b = 780;if (ID * a[1] != b)explode_bomb();break;}case 7 : {c0 = 'b';b = 824;if (ID * a[1] != b)explode_bomb();break;}default:explode_bomb();}if (c != c0)explode_bomb();phase_4 C語言代碼
int ID = 輸入學號最后一位 int fun4(int x) {if (x < 2)return 1;return fun4(x - 1) + fun4(x - 2); }int x; cin >> x;if (ID 為奇數) {if (fun4(x) != 8)explode_bomb(); } else {if (fun4(x) != 13)explode_bomb(); }phase_5 C語言代碼
char S[16] = "isrveawhobpnutfg"; char answer[6] = "giants";char input[6]; cin >> input;char a[6]; for (int i = 0; i < 6; ++i) {int pos = str[i] & 15;a[i] = S[pos]; }for (int i = 0; i < 6; ++i) {if (a[i] != answer[i])explode_bomb(); }phase_6 C語言代碼
int a[6]; for (int i = 0;i < 6;i++)cin>>a[i];for (int i = 0;i < 6;i++) {if (!(i > 0 && i < 7) explode_bomb();for (int j = i + 1;j < 6;j++)if (a[i] == a[j]) explode_bomb(); } chain c = {0x0fd, 0x2d5, 0x12d, 0x3e5, 0x0d4, 0x1b0}; chainNode res[6]; for (int i = 0;i < 6;i++) {chainNode *node = c.firstNode;for (int j = 1;j < a[i];j++)node = node->next;res[i] = node; }chainNode *node = res[0]; for (int i = 1;i < 6;i++) {node->next = res[i];node = res[i]; } node->next = null; if (ID & 1) {node = c.firstNode;for (int i = 1;i < 6;i++)if (node->element < node->next->element)explode_bomb(); } else {node = c.firstNode;for (int i = 1;i < 6;i++)if (node->element > node->next->element)explode_bomb(); }隱藏炸彈的代碼過段時間再進行補充。
總結
以上是生活随笔為你收集整理的Brief C Programs of the Bombs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python--JSON基础
- 下一篇: 有季节效应的非平稳序列分析之因素分解