日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

逆向入门--简单win32CK逆向手记

發(fā)布時間:2024/4/19 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 逆向入门--简单win32CK逆向手记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近入坑逆向不就,這個算是真正意義上的第一個CrackMe遂記錄逆向過程

初觀界面


一個經(jīng)典的輸入密碼并驗證的小程序,先直接運(yùn)行!
隨便的輸入密碼,顯然不對,彈框 incurrent 的提示框


開始分析

直接拖入OD,搜索工具搜索 Incurrent 這個字符串

跟著搜索結(jié)果,找到Ctrl+G 找到內(nèi)存位置
在這里我們找到了真相,可以通過反匯編窗口很簡單的看到這個。
這段看著邏輯簡單清晰,通過 je 跳轉(zhuǎn)到 inCurrent 的MsgBox,
爆破點(diǎn)Found!
那么我們通過直接修改寄存器,或者修改匯編指令成為jnz即可實(shí)現(xiàn)對程序的爆破,效果如下


深入分析

因為這個CrackMe是要求拿到用戶名和密碼的,所以爆破實(shí)現(xiàn)是不行的,那么繼續(xù) 讀代碼
je的跳轉(zhuǎn)是由于 FZ 這個標(biāo)志位被置 1 所以發(fā)生跳轉(zhuǎn),那么我們向上找代碼,看看在哪里這個寄存器位被置一

由于截圖問題哈,這個關(guān)鍵一句沒接上。。。
cmp bx,si
這一句就是比較ebx的地位,和esi寄存器的低位,從而根據(jù)結(jié)果設(shè)置了標(biāo)志位

再往上,我可可以看到 OD 自動注釋的關(guān)鍵代碼,紅色的_vbaVarCmpEq更是說明了一切,很顯然是個字符串比較的調(diào)用

__vbastrcomp 比較兩個字符串,類似于 Window’s API lstrcmp

然后查詢函數(shù)的refer,得到上述的描述。
重要知識回顧 : 函數(shù)是從右往左壓棧的,所以最先壓入的,是最后一個參數(shù),然后是倒數(shù)第二個。
這里,在面的寄存器信息提示窗里面,已經(jīng)顯示出了這個壓入棧的地址對應(yīng)的Unicode的字符串,正是我們輸入的“密碼”


然后Call 這個函數(shù)進(jìn)行Cmp的比較


其實(shí)這里使用了一個投機(jī)取巧的方法,cmp 既然是比較那么 比較源,和比較目的必然是在棧中存放,那么咱們找找就好


果然不如所料,在這里就找到了咱們的用戶名密碼
激動的試一試

bingo!

結(jié)果如圖

小結(jié)

作為自己 的第一次 的CK 雖然不是很完美,但是也算是勉強(qiáng)成功
特別是函數(shù)壓棧這一塊,也是提升了自己的認(rèn)知

  • 從右向左壓棧
  • 返回值永遠(yuǎn)在eax里
  • 對于win32程序有時候寄存器不夠返回值存儲,那么后面會壓入一個returnBuffer

總結(jié)

以上是生活随笔為你收集整理的逆向入门--简单win32CK逆向手记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。