總結第一次參加ctf線下賽,因為一直學習的逆向方向,在這裡記錄一下做出來的reverse第一題的wp,與以後上傳的部落格一起做乙個學習歷程。
我所用的工具(如果有新的將來在補充)查殼工具:peid 和exeinfope
除錯工具:idapro(靜態除錯,32位和64位),ollydbg(動態除錯32位),x64dbg(動態除錯,64位)
去殼工具:目前沒找見好用的,以後補充
推薦乙個cffexplore工具,可以固定檔案的頭位址,這樣就不會出現ida和od中的位址不同的現象
是讓輸入一串字元來確定是否為flag,一般這種題的思路,用od執行到字串輸入的位置,若flag直接儲存在檔案裡,直接往後將flag執行到暫存器中直接檢視flag
這道題並沒有這樣做,難點的地方在於它將輸入提示字串和成功提示字串都進行了加密,用檢視字串的方式並不能定位到字串的儲存。
確定輸入函式位置後,再開啟ida檢視反編譯出的函式
## 3.iida檢視
除了輸入函式就只剩乙個函式進行了呼叫,那必然是輸出函式,裡面應該有輸入字串的加密和加密字串的比較
根據if條件判斷v6的值有5個,從1到5,與密文進行異或運算,現在只要拿到密文就可以了
最後就是進行反運算編碼,這個比較簡單就不放了
2020 02 29模擬賽11(第一題)
題目描述 味味有乙個a b c 的長方體積木,積木是有1 1 1 的小積木塊組成的。我們設定這個長方體的高為a,寬為b,長為c。為方便起見,長方體的長不一定要比寬的數值大 現在味味在這個長方體中的的左上角挖去了乙個 a 1 b 2 c 2 的小長方體。並且告訴你被挖去長方體的體積為n,即n a 1 ...
2020 03 14模擬賽16(第一題)
題目描述 fj的奶牛喜歡探索農場周圍的地形。一開始,所有n 1 n 1,000,000,000 只奶牛一起出發,但當碰到路口時,這一群牛可能會分成兩部分 不能為空 每一部分都繼續前進,當碰到另乙個路口時,再分成兩部分,如此反覆下去。假設路上到處都是新的岔口,計算最終被分成多少支隊伍。輸入第1行 兩個...
LeetCode 周賽第一題 5601
leetcode 周賽第一題 5601 有 n 個 id,value 對,其中 id 是 1 到 n 之間的乙個整數,value 是乙個字串。不存在 id 相同的兩個 id,value 對。設計乙個流,以 任意 順序獲取 n 個 id,value 對,並在多次呼叫時 按 id 遞增的順序 返回一些值...