bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

bugku不好用的CEWriteUp

不好用的CE

bugku 不好用的CE WriteUp

在陵水黎族等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供成都做網站、成都網站設計 網站設計制作按需規劃網站,公司網站建設,企業網站建設,成都品牌網站建設,全網營銷推廣,外貿網站建設,陵水黎族網站建設費用合理。

這題有好多種解法,我會一個個解釋。

只用OD

只用CE

CE+OD

下載文件

bugku 不好用的CE WriteUp

bugku 不好用的CE WriteUp

點兩下試試

bugku 不好用的CE WriteUp

無殼

bugku 不好用的CE WriteUp

1.只用OD

只用OD我只想出兩種辦法,雖然只是下斷點的方式不同,但也代表了不同的思路。

一、 第一種是最直接的也是最笨的,在搜索字符串里的所有內容都下斷點,這里幸好搜索的字符串不是很多,而且flag湊巧是直接存儲在內存里的,所以可以使用。若沒這么幸運的話就只能在提示的字符串 “點擊一萬次有flag” 處下斷點,一點點的往上翻代碼了。

bugku 不好用的CE WriteUp

二、 我們知道了這個程序使用VB寫的,且會彈出一個對話框,對話框在VB理常用的函數為rtcMsgBox,可以用ODB的插件來自動下斷點,

bugku 不好用的CE WriteUp

只用OD第一種辦法:在每一處字符串下斷點,這里我們就只在可疑字符串下斷點了

即第3、4、5、6、7行

bugku 不好用的CE WriteUp

首先斷在了最后一條,

bugku 不好用的CE WriteUp

看起來是在初始化變量,F9繼續運行

bugku 不好用的CE WriteUp

跳出對話框,單擊確定繼續程序

bugku 不好用的CE WriteUp

點擊后觸發斷點,

bugku 不好用的CE WriteUp

bugku 不好用的CE WriteUp

這三個可疑的字符串在一起,但是其上并沒有大跳轉,甚至根本沒有跳轉,那最后一個可疑字符串就更可疑了,繼續F9運行程序,程序并沒有斷在最后一個字符串處,說明這個字符串很有可能就是達到條件(點擊一萬次)后才會出現的字符串,

bugku 不好用的CE WriteUp

這個字符串上面還有一個大跳轉,那這個字符串就很有可能是flag了,或者flag相關的字符串,我們把這個大跳轉nop掉,看看會出現什么

bugku 不好用的CE WriteUp

DeZmqMUhRcP8NgJgzLPdXa

這題最坑的地方也就是這個字符串就出現了,之前做這個題也是斷在這里,直到最近出了Writeup才知道,這個看起來像base64的字符串其實是他的遠親,base58

我們都知道base64的范圍是 ?數字(10)+大小寫字母(26*2=52)+兩個特殊字符(+,/)

而base58是剔除了容易被人誤識別的數字0,L的小寫,i的大寫和o的大寫,還有兩個特殊字符(+,/)

bugku 不好用的CE WriteUp

得到flag

只用OD第二種方法,利用OD的插件,在rtcMsgBox下斷點,F9運行程序,被斷下

bugku 不好用的CE WriteUp

這個地方已經不屬于程序的領空了,這里是VB調用的庫的領空,在這個位置我們在棧里可以找到程序調用函數的地址,在其上回車以回到程序領空

bugku 不好用的CE WriteUp

bugku 不好用的CE WriteUp

然后我們就可以苦哈哈地慢慢往上翻代碼了,這個下斷點的方式適合在沒有明確的提示字符串的時候使用,在有提示字符串的時候還是用字符串來查找比較方便。

CE+OD

打開程序,CE附加程序,

bugku 不好用的CE WriteUp

這里我們不知道這個變化的數字的類型,雖然看起來很像整型

bugku 不好用的CE WriteUp

所以我們設置掃描類型為未知的初始值,點擊首次掃描

bugku 不好用的CE WriteUp

然后點擊按鈕,變化一下數值

bugku 不好用的CE WriteUp

再用CE搜索變化的數值

bugku 不好用的CE WriteUp

點擊再次掃描

bugku 不好用的CE WriteUp

這樣太慢了,我們可以用變動的數值和未變動的數值切換來不斷搜索

最后剩了八個結果實在分辨不出來了

bugku 不好用的CE WriteUp

不過這就夠了,我們也不需要知道那么細致,隨便選一個,雙擊,拉到下面的界面里,右鍵他選擇 ?找出是什么改寫了這個地址

bugku 不好用的CE WriteUp

bugku 不好用的CE WriteUp

注意像這樣的,地址特別大的,一定不是程序的代碼,這個是程序調用的庫的地址

bugku 不好用的CE WriteUp

像這樣40打頭的才是程序的代碼,具體要看程序的PE頭里定義的基地址,一般為400000。

然后我們就可以記住這個地址,用OD打開程序,到這個地址看看,CE也可以看,但是很多操作不方便

bugku 不好用的CE WriteUp

畢竟不是專門用來調試程序的應用。

我們用OD附加到進程上,

bugku 不好用的CE WriteUp

ctrl+g 到401D44看看

bugku 不好用的CE WriteUp

距離我們第一次找到的關鍵跳轉也很近,

bugku 不好用的CE WriteUp

這之間有大量的棕色的浮點數運算,而關鍵跳轉之后再無浮點運算,所以這可能就是算法部分,這次我們仔細分析下算法部分,

bugku 不好用的CE WriteUp

這里可以說是算法部分最重要的四條代碼了,從0x4010A8存儲的10000就能看出來,在我解釋浮點助記符之前,我要先解釋一下浮點運算:

在包含浮點運算的處理器里,有8個寄存器,分別是ST0-ST7,他們通過浮點助記符來進行浮點運算,他們的使用方法與棧很類似,存儲的順序從ST0開始到ST7,常用的浮點助記符有:

fld 相當于push

fstp 相當于pop

fadd 相當于add

fsub 相當于sub

fdiv 相當于div

fmul 相當于mul

fstsw 把狀態寄存器存入寄存器里

fcomp 相當于cmp

再具體點的用法我會在用的時候解釋,現在在最開始的浮點運算處下斷點

bugku 不好用的CE WriteUp

因為代碼跨度有點大,我就不一一截圖了,只把關鍵代碼寫下來

fld qword ptr ds:[esi+0x34]

把從[esi+0x34]存入ST0

fadd qword ptr ds:[0x4010B0]

0x4010B0是200.0,即ST0+=200.0

fstp qword ptr ds:[esi+0x34]

即[esi+0x34] = ST0

fstsw ax

把狀態寄存器存入ax,周圍并沒有可以影響到狀態寄存器的代碼,所以忽略就行

fld qword ptr ds:[esi+0x34]

即ST0=[esi+0x34]

fdiv qword ptr ds:[0x4010B0]

即ST0/=200.0

fstp qword ptr ss:[esp]

即[esp]=ST0,這里存儲的就是實際的點擊數了

fclex

查了一下是叫做浮點檢查錯誤清除,不會影響結果所以忽略

fld qword ptr ds:[esi+0x34]

即ST0=[esi+0x34],

fdiv qword ptr ds:[0x4010B0]

即ST0/=200.0

fcomp qword ptr ds:[0x4010A8]

即ST0與10000比較

fstsw ax

把狀態寄存器存入ax

test ah,0x40

比對狀態寄存器,

je 401e97

關鍵跳轉

然后怎么改就看個人喜歡了,可以像上次一樣直接nop掉關鍵跳轉,也可以修改0x4010B0里的值來達到點一次等于數次的效果,也可以直接修改0x4010A8里的值,讓一萬次變成1次。flag處理部分不再贅述。

后來我查了一下,test ah,0x40 比對的是狀態寄存器的cf寄存器,即進位寄存器,所以他只會在從9999進位到10000時觸發,

只用CE:

運行程序,用CE附加上

由于我們已經知道了數值的類型為雙浮點(雙浮點數占八個字節,有效數字16位,之前的200.0可以數一下有效數字就知道了,即使不知道類型為雙浮點也可以一個個試,通常數據存儲類型只有4字節,單浮點,雙浮點類型,偶爾也有單字節的布爾類型),我們設置掃描類型為未知的初始值,數值類型為雙浮點搜索,

bugku 不好用的CE WriteUp

然后用 變動的數值/未變動的數值切換搜索,很快就搜索到了一個很扎眼的數值,除了這個2200都是后面跟了很多個小數的雙浮點數,然后用2200/11得到增量200,

bugku 不好用的CE WriteUp

雙擊把他加入下面的界面,設置大小為1999800

bugku 不好用的CE WriteUp

bugku 不好用的CE WriteUp

然后點擊程序的按鈕

bugku 不好用的CE WriteUp

就從11變成了100000,從而得到flag

當然,如果我們知道了增量為200,也可以直接搜索200*X

bugku 不好用的CE WriteUp

分享標題:bugku不好用的CEWriteUp
URL鏈接:http://vcdvsql.cn/article14/pepsde.html

成都網站建設公司_創新互聯,為您提供網站排名商城網站做網站網頁設計公司響應式網站網站改版

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發