DDCTF 2019 逆向題writeup 二

2021-09-18 02:45:14 字數 2430 閱讀 4926

首先是乙個aspack 2.12 -> alexey solodovnikov。利用esp定律脫殼。

這個call執行完後,顯示了input code:的字串。所以需要跟入。

跟進之後,發現了明文本串。其中call 012a11f0函式是對輸入進行驗證,必須是0-9,a-f。其實這裡就可以想到16進製制數。在這個函式裡面兜兜轉轉好長時間,腦子瓦特了。

下乙個關鍵的函式就是012a1240,需要進去看一下。

反覆除錯,發現12a1000比較奇怪,因為它的輸入是我們輸入的flag。因此裡面必有蹊蹺。

進去之後會發現裡面有幾個迴圈,迴圈不可怕,可怕的是迴圈裡面有各種左移,右移,異或等操作。所以抓住這個函式死不鬆手進行分析。這個迴圈的輸入是6個字串為一組。輸出是4個字串。剛開始試的時候,發現輸入如果不是6的倍數,看到輸出會有「=」,一度以為是自定義base64。

重點對這裡分析,會將輸入拆分為6個一組。比如第一組123456。會再拆分置為 0x12 ,0x34, 0x56。其中0x12經過計算放置在esp+0x18,0x34經過計算放置在esp+0x19處,以此類推。這裡就理解為什麼要求輸入必須是16進製制數裡面的字元了。不是的話這裡轉化不了呀。。。

然後4個輸出的資料就是edx,作為偏移,然後加上0x12a3020。這裡的**和第一道逆向題的思路差球不多,就是索引到指定的字串然後再與0x76異或。最後和誰去比呢?

在之前除錯這個位置看到ddctf,其實就是和reverse+進行對比。其中reverse+長度是8。所以輸入的長度是12的16進製制字元。

2019技術路線

2019技術路線 1.用對用好cpu架構中的numa core thread cache memory,使現有系統延遲更低。2.系統現有結構解耦優化,用好檔案對映 訊息佇列,更優雅地劃分模組。3.編譯器優化實踐。理解pgo profile guided optimizations ltcg link...

2019裝修記錄

主要是了解,沒有確定要直接購買這裡的東西。交了一些定金,大體定下那些訂單多的內容。整裝 太貴的設計師請不起,一般的設計師感覺不夠用,所以索性我們自行設計了。水電 迪康工人上過一次門,大致把衛生間調理了一下。裝修的大頭,一直徘徊在歐派和其他品牌 柏輝 大成等 中間。光是歐派的店,都問了四五家之多,看中...

2019自學總結

自2018年閱讀量超過40本但發現實際成長卻有限後,2019調整了學習的模式,不再以閱讀為主要的學習方式,而改為開源專案 紙質閱讀 極客時間 imooc的模式,現在已經進入到2020年,來總結一下2019年的學習成果吧。其中 unix網路程式設計 和 tcpi ip詳解 都是重量級的大部頭,閱讀時間...