--- title: 2026/04/16 你阿公的CTF系列終於又更新了 tags: CTF日記 --- 2026/04/16 你阿公的CTF系列終於又更新了 === 依舊想到什麼更什麼系列,主要是我的blog快架好了(應該...吧?)之後會考慮把這些文章全部移過去 那就開始吧 今天應該還是會針對picoCTF 2026的題目下手 今日題目:bytemancy系列(0到2) --- 由於題目比較多,今天就不打Hint了XD 然後不要問我3跑哪去了,3其實我賽中有解出來,但依賴AI而且不是特別熟就先不寫了 ### Bytemancy 0 這系列題目裡最簡單的一題,題目給了一個```app.py```要我們傳指定的字串回去,程式大概會長這樣: ```py while(True): try: print('⊹──────[ BYTEMANCY-0 ]──────⊹') print("☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐") print() print('Send me ASCII DECIMAL 101, 101, 101, side-by-side, no space.') print() print("☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐") print('⊹─────────────⟡─────────────⊹') user_input = input('==> ') if user_input == "\x65\x65\x65": print(open("./flag.txt", "r").read()) break else: print("That wasn't it. I got: " + str(user_input)) print() print() print() except Exception as e: print(e) break ``` 第一題題目要求我們傳"ASCII DECIMAL 101, 101, 101"回去,對照ASCII就是傳```eee```回去 就能成功拿到flag Flag0:||picoCTF{pr1n74813_ch4r5_15ddc7a7}|| ### Bytemancy 1 第2題就稍微有點難度了,一樣是```app.py```內容如下: ```python while(True): try: print('⊹──────[ BYTEMANCY-1 ]──────⊹') print("☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐") print() print('Send me ASCII DECIMAL 101 1751 times, side-by-side, no space.') print() print("☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐") print('⊹─────────────⟡─────────────⊹') user_input = input('==> ') if user_input == "\x65"*1751: print(open("./flag.txt", "r").read()) break else: print("That wasn't it. I got: " + str(user_input)) print() print() print() except Exception as e: print(e) break ``` 看得出來他要我們輸入1751個e,這顯然是個大數字,我的解法是用```python -c "print('e'*1751)"``` 完整的話應該會像這樣: ```bash python3 -c "print('e' * 1751)" | nc foggy-cliff.picoctf.net <port> ``` 然後就可以拿到flag flag1:||picoCTF{h0w_m4ny_e's???_b6277f00}|| ### Bytemancy 2 最後一題ㄌ(喘) 依舊```app.py```,內容: ```py import sys while(True): try: print('⊹──────[ BYTEMANCY-2 ]──────⊹') print("☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐") print() print('Send me the HEX BYTE 0xFF 3 times, side-by-side, no space.') print() print("☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐☉⟊☽☈⟁⧋⟡☍⟐") print('⊹─────────────⟡─────────────⊹') print('==> ', end='', flush=True) user_input = sys.stdin.buffer.readline().rstrip(b"\n") if user_input == b"\xff\xff\xff": print(open("./flag.txt", "r").read()) break else: print("That wasn't it. I got: " + str(user_input)) print() print() print() except Exception as e: print(e) break ``` 這題比較不一樣,題目不是ASCII而是變成了Hex byte 但問題不大,可以看到這行: ```python if user_input ``` 其實直接輸出也是可以解掉這題的,我的解法 ```bash printf "\xff\xff\xff\n" | nc lonely-island.picoctf.net <port> ``` 然後就能拿到flag flag2:||picoCTF{3ff5_4_d4yz_fa2f490f}|| 今天就先到這吧:D 本來還想寫幾題Printer的 但好累:( --- 歡迎各位大佬教我資安,窩是0基礎菜雞(OwO) 窩的Discord:meowlin35 ||喵的每日碎唸:感覺自己越來越沒用,越來越跟不上身邊的人或朋友,或許我真的不適合嗎||