題目來源:2018看雪CTF團隊賽第五題交響曲 題目:安裝包是7.apk,要求獲取flag 知識點:JEB使用、Python腳本 解題過程:該APK未加殼,沒有native函數(shù),純java實現(xiàn),主要通過分析java的算法,判斷輸入是否正確。 如下是該APK算法部分的核心代碼,密碼主要是年月日+m數(shù)組某成員組成的字符串,經(jīng)過如下a函數(shù)運算處理,如果最終運算結果等于34,則驗證成功。
下面主要通過解讀java代碼,可以使用python編寫破解代碼,但對我而言C比較熟練,所以利用C寫出破解代碼,如下是破解代碼的核心,其中函數(shù)名和變量名與原java函數(shù)中保持一致,且邏輯與上面java實現(xiàn)也保持了一致,如下代碼最終將會把密碼打印出來。
核心代碼部分中a_func/d_func/e_func/f_func/g_func/h_func函數(shù)實現(xiàn)如下所示。
編譯運行用C寫的破解代碼,得到如下密碼,即“1995020305to07”,經(jīng)手機驗證正確。
責任編輯:xj
原文標題:逆向基礎題七:獲取Flag
文章出處:【微信公眾號:Linux逆向】歡迎添加關注!文章轉載請注明出處。
-
Flag
+關注
關注
0文章
11瀏覽量
8123 -
安裝包
+關注
關注
1文章
15瀏覽量
3445
原文標題:逆向基礎題七:獲取Flag
文章出處:【微信號:Reverse16,微信公眾號:Q哥學逆向】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論