乙個簡單的逆向

2021-07-25 03:07:48 字數 1430 閱讀 3116

首先執行程式觀察程式的提示資訊 可以看到程式首先

乙個字串提示 隨便輸乙個 ,出現另乙個字串u r wrong

然後 od引導程式,字串查詢

看到提示的字串,單擊進入f2 下段點,執行程式,斷在

單步 跟下來

讀取字元函式getch() 隨便輸入乙個假碼,

eax 的值正是輸入的假碼ascii的碼,可以看出這是乙個儲存的過程

繼續單步向下

輸出函式printf

向上 跳了回去 這是乙個輸入的過程 沒有不是關鍵的比較演算法,直接在下一句,下斷直接 執行過去

這個比較 多次除錯,可以發現這是乙個字元長度的比較 然後 看來這個註冊碼的長度是17位

這塊就能看出這個程式的演算法,很簡單就是在12feb4位址開始每個四個位元組,讀取乙個數,在後面字串swfxcfwfctslydrddoepsckandmsritpnsmr1_=2cdsef66246087138

中以上面位址的數為下標檢索字串

剩下的寫python指令碼

跑出來感覺有點不對,放到程式裡執行乙個果然不對 ,

重新載入od ,執行,之前的演算法確實是的

向後才發現還有比較 跟蹤一下位址發現這個字元是在我們輸入的字元之後

看來這後面還有一些字元,

根據比較,可以看出來剩下的幾個字元就是那幾個ascii碼,就是1024}

到此就搞定了

re入門 乙個簡單的加密程式的逆向破解與解密

如下的 進行了乙個簡單的加密過程 include include intmain else printf s n res if strcmp res,right 0 else return0 ida反彙編後得到 如下 分析一下這個 的意思,就是說定義了兩個陣列str1和str,以及兩個變數,v6和i...

按行逆向複製乙個檔案

這是乙個面試題,要求把類似下面的乙個檔案 a.txt 的行逆向複製到另乙個檔案 anew.txt 如下,a.txt begin ab cdef end anew.txt end fe dcba begin 下面是我寫的程式,利用了遞迴演算法。演算法描述在 後面 c program include i...

乙個簡單的verlig程式 乙個簡單C程式的介紹

我們前面學了c語言的一些理論知識,今天通過乙個簡單的程式先來看一看c語言程式是什麼樣子。然後再對程式中的 進行介紹。這個語句的功能是進行有關的預處理操作。include稱為檔案包含命令,後面尖括號的內容稱為標頭檔案或首檔案。此處指包含stdio.h系統標頭檔案,在下面主函式中使用的printf 函式...