MoeCTF 2021Re部分------ez(递归转循环)
生活随笔
收集整理的這篇文章主要介紹了
MoeCTF 2021Re部分------ez(递归转循环)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- ida
- 分析
- 總結
ida
for ( i = 0; i <= 75; ++i ){Character = fuck(i * i) ^ flag[i];putchar(Character);} __int64 __fastcall fuck(int a1) {int v2; // ebxif ( a1 <= 1 )return (unsigned int)a1;v2 = fuck(a1 - 1);return v2 + 2 * (unsigned int)fuck(a1 - 2); }分析
遞歸代碼,如果直接讓它運行輸出,總共有75位flag,函數層數太深,數值太大,直接卡死,所以需要把遞歸轉為循環
#include <iostream> using namespace std; int main() {unsigned char flag[76] ={109,110,96,200,21793,11184845,1431655726,-1431655777,1431655731,-1431655780,1431655782,-1431655719,1431655690,-1431655734,1431655780,-1431655782,1431655690,-1431655780,1431655741,-1431655782,1431655718,-1431655692,1431655778,-1431655782,1431655736,-1431655784,1431655723,-1431655697,1431655781,-1431655692,1431655724,-1431655781,1431655712,-1431655692,1431655719,-1431655784,1431655732,-1431655782,1431655780,-1431655727,1431655782,-1431655692,1431655778,-1431655741,1431655782,-1431655692,1431655736,-1431655784,1431655732,-1431655739,1431655780,-1431655739,1431655730,-1431655692,1431655781,-1431655731,1431655690,-1431655681,1431655780,-1431655738,1431655782,-1431655692,1431655734,-1431655781,1431655736,-1431655717,1431655780,-1431655784,1431655725,-1431655782,1431655778,-1431655726,1431655786,-1431655788,1431655786,-1431655722,};int li[10000];memset(li, 0, sizeof(li));li[0] = 0; li[1] = 1;for (int i = 2; i < 6000; i++)li[i] = 2 * li[i - 2] + li[i - 1];for (int i = 0; i < 76; i++) {int tmp = flag[i] ^ li[i * i];printf("%c", tmp);} } moectf{4f73r_a11_7h1s_71m3~D0_y0u_r3a11z3_7h3_m3an1ng_0f_T1m3_c0mp13x17y???}總結
總結
以上是生活随笔為你收集整理的MoeCTF 2021Re部分------ez(递归转循环)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MoeCTF 2021Re部分-----
- 下一篇: MoeCTF 2021Re部分-----