在”設(shè)置“里可以看到PPPOE的賬號(hào),但是密碼是以圓點(diǎn)形式來(lái)顯示的,下面我分享一下獲取這個(gè)密碼的方式。
(本人的機(jī)型為EC6108V9C,電信的)
首先需要得到經(jīng)過(guò)加密后的密碼,有兩種方式可以得到:
1. 如果你的盒子開(kāi)啟了adb,那么可以很方便地通過(guò)adb得到:
- adb shell settings get secure pppoe_user_pass
復(fù)制代碼
2. 通過(guò)hitool提取iptv_data分區(qū)鏡像
提取出來(lái)后用winhex打開(kāi),同樣可以看到加密后的密碼:
2-1.png (7.06 KB, 下載次數(shù): 21)
下載附件
保存到相冊(cè)
2020-2-7 10:37 上傳
提取鏡像和開(kāi)啟adb的方式都可以參考我的另一個(gè)帖子:http://ktgpgw.cn/tv-1165229-1-1.html
接下來(lái)提取system分區(qū)鏡像,提取出來(lái)后解包(我用的是ROM助手)。
然后找到framework目錄下的framework2.jar,解壓,拿出里面的classes.dex文件,用dex2jar來(lái)轉(zhuǎn)換成jar。
- ./d2j-dex2jar -f classes.dex -o out.jar
復(fù)制代碼
轉(zhuǎn)換之后就可以在Java中調(diào)用了,這里我用的是Android Studio。
當(dāng)然調(diào)用之前還得知道它里面的內(nèi)容,反編譯一下:
3.png (124.94 KB, 下載次數(shù): 21)
下載附件
保存到相冊(cè)
2020-2-7 10:47 上傳
一開(kāi)始我是直接調(diào)用里面的decode方法,后來(lái)發(fā)現(xiàn)會(huì)報(bào)錯(cuò)。
原因是沒(méi)法在非安卓系統(tǒng)的環(huán)境下使用android.util。
所以還得再麻煩一點(diǎn),具體看看它是怎么實(shí)現(xiàn)這個(gè)方法的,然后手動(dòng)實(shí)現(xiàn)。
6.png (122.54 KB, 下載次數(shù): 20)
下載附件
保存到相冊(cè)
2020-2-7 10:50 上傳
大概的解碼步驟是:
1. Base64解碼這個(gè)加密后的字符串;
2. 用MD5加密AES密鑰;
3. 用2的密鑰來(lái)解碼1的內(nèi)容,得到明文密碼。
其中,ori變量的內(nèi)容是加密后的PPPOE密碼,也就是一開(kāi)始得到的那個(gè)。
”IPTV_2012_STB“是MD5加密前的AES密鑰,別的機(jī)子應(yīng)該也是一樣的。
下面的輸出結(jié)果”111111“就是最后得到的PPPOE密碼。
用這種方法不僅能得到PPPOE密碼,大家可以做更多的嘗試。
|