re學習筆記(20)i春秋-re-Nonstandard

新手一枚,如有錯誤(不足)請指正,謝謝!!
題目下載:下載地址
參考資料:
base16,base32,base64 編碼方式的通俗講解
Base16,Base32,Base64編碼的介紹

IDA載入,找到main函數
在這裏插入圖片描述
Buf爲讀入的字符串,如果sub_401480()函數的返回值等於1的話則輸出成功
則進入sub_401480()查看
在這裏插入圖片描述
所以先看看sub_401070()函數中對v1做了怎樣的變換
在這裏插入圖片描述
下面是Base32加密,可參考文章Base16,Base32,Base64編碼詳細學習
然後分析一下sub_401000()函數,主要是對內存中字符串進行處理
在這裏插入圖片描述
也就是一個base32加密,字符集是zYxWvUtSrQpOnMlKjIhGfEdCbA765321
加密後的密文是nAdtxA66nbbdxA71tUAE2AOlnnbtrAp1nQzGtAQGtrjC7===

然後開始寫python腳本

import base64
origin = "nAdtxA66nbbdxA71tUAE2AOlnnbtrAp1nQzGtAQGtrjC7==="
biao = str.maketrans("zYxWvUtSrQpOnMlKjIhGfEdCbA765321","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567")
flag = base64.b32decode(origin.translate(biao))
print(str(flag,'utf-8'))

在這裏插入圖片描述

最終flag爲flag{f1ag_1s_enc0de_bA3e32!}

在這裏插入圖片描述

發佈了50 篇原創文章 · 獲贊 7 · 訪問量 3534
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章