看見x*(x+1)/2應聯想起楊輝三角
ida進入主函式
int __cdecl main()
while ( *(v3 - 1) );
v2 = sub_80486cd(&unk_8049be0);
if ( v2 == -1 )
if ( (unsigned __int8)sub_8048783(&unk_8049be0, v2) != 1 )
if ( v2 == 20 )
");exit(0);
} return 0;
}
看第乙個check函式
int __cdecl sub_80486cd(int a1)
return v5;
}
看第二個check函式
int __cdecl sub_8048783(int a1, int a2)
if ( *(_dword *)(4 * (v3 * (v3 + 1) / 2 + i) + a1) != v4 )
return 0;
++v6;
} return 1;
}
經過這2個函式判斷, 就能知道是否是楊輝三角形了. 把前20行的資料經過md5加密就是flag.
python指令碼
def createl(l):
l = [1]
for x in range(1, len(l)):
return l
def printl(l, w):
s = ""
for x in l:
s += str(x) + " "
print(s.center(w))
def str_(s, l):
for x in l:
s += str(x)
return s
import hashlib
l = [1]
s = ""
row = int(input("請輸入行數: "))
width =row* 6
for x in range(row):
printl(l, width)
s = str_(s, l)
l = createl(l)
print(s)
m = hashlib.md5(s.encode()).hexdigest()
print("md5加密後:%s" % m)
c語言指令碼
#include #include #include int *creat(int *l, int lenth)
void print(int *l, int blank_l, int lenth)
char *translate(int *l, int lenth);
memset(p, 0, sizeof(char));
for(i = 0; i < lenth; i++)
return p;
} int main(void);
printf("請輸入行數: ");
scanf("%d", &n);
for(i = 0; i < n; i++)
printf("\n所有數值組成的字串為: %s", a);
return 0;
}
逆向 攻防世界 notsequence
越來越喜歡逆向了,通過除錯解決程式的邏輯問題真是太爽了。後天微控制器考試,全球黑客保佑孩子不掛科。看看這道題,自己演算法太菜了。沒有殼,直接ida吧。輸入,相當於乙個陣列吧,每次輸入乙個值,輸入的不是數字好像就結束了。兩個check 然後是得到flag,就是md5 正確的輸入的值 分析check1....
攻防世界mfw 攻防世界 Web mfw
題目資訊 image.png 工具 githack,dirsearch 知識點 git漏洞 審計 開啟題目場景,檢查 發現這樣乙個頁面 image.png 訪問.git目錄,疑似存在git原始碼洩露 image.png 再用dirsearch掃瞄,發現git原始碼洩露 使用 githack獲取原始碼...
攻防世界Web lottery
開心!雖然第一次遇到git原始碼洩露寫了好久,但是寫出來了就很開心 開啟介面我們知道,要拿到flag,就要贏到足夠的錢,其實一開始我以為可以找到乙個地方直接修改餘額什麼的,把網頁源 中的檔案看了幾個都沒發現突破口 然後又沒思路了 嘗試了一下robots.txt,想看看有沒有什麼檔案,然後發現了 瞬間...