JarvisOJ RE軟件密碼破解1

0x03  軟件密碼破解1

od逆向還是不太會啊,這題剛好練練手。放到ida裏反編譯,一看不行,太多函數沒辦法看...所以拖進od中,先是用引擎插件搜索Unicode,找到一個“你贏了”,然後雙擊進入這個地址:

然後往上翻翻,發現關鍵函數:

就是將輸入的字符串和相應的數組異或,然後和已知這些數組比較(cmp函數),如果相等的話,就成功,否則結束函數。

mov那一行右鍵選擇數據窗口跟隨內存地址,然後發現和輸入字符異或的數組{28,57,64,6B,93,8F,65,51,E3,53,E4,4E,1A,FF},相應異或之後再和給出的{1b,1c,17,46,f4,fd,20,30,b7,0c,8e,7e,78,de}進行比較,如果對應相等,則成功。

這裏要注意一個問題就是:小端輸入的問題,要需要對16進制倒轉處理。詳情指路鏈接:https://blog.csdn.net/w614171629/article/details/82150292

然後寫一個腳本,求出輸入的字符就好了:

得到flag:3Ks-grEaT_j0b!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章