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