pbb reader pc版是一款全新推出的文件加密工具,簡單的頁面,清晰的操作流程,人性化的設計,十分適合廣大愛好閱讀用戶以及需要文佳加密的朋友們使用。
鵬保寶閱讀器pbb reader 是鵬保寶出品的專為加密文檔設計的閱讀器。能夠用來查看經過鵬保寶加密過的文檔和資料。專為注重安全的人士所設計。如果你有被加密了的文檔需要查看,極光下載站推薦選擇這款pbb reader官方版以方便的閱讀.
1.禁止傳播
2.隨時控制
3.可離線閱讀
4.支持多平臺
1.先上成果圖,視屏采用加密軟件自帶的:示例視頻.mp4,用加密軟件加密后:示例視頻.mp4.pbb,鑒于是自己用,也就沒想著做界面:
2.獲取文件路徑及獲取key關聯值
3.根據key關聯值獲取key
4.根據key解密視頻
5.還原成功,可以正常播放
-下面詳細說一下破解的過程。
如果可以直接分析加密文件解密過程,就不難把文件還原,結果我下了這個閱讀器并拖到od中單步了幾下后,我發現這個閱讀器加了強殼,要想分析的話要先脫殼,先不說最后能不能脫掉,就算能脫掉時間成本也太大,故放棄這個方案。
接下來我想既然不能從解密過程入手,那就從加密過程入手,所以就又下了加密器,令人欣喜的是,用peid查看這個軟件,發現沒有加殼,拖到od中查看,單步幾步發現沒有混淆,也沒有反調試,故下定決心就從這里入手,打開加密軟件,發現加密要點擊“外發控制”這個按鈕,在od中搜索字符串,如圖5所示,發現很多有關字符串:
-我們可以看到,其中有兩個部分有“外放文件”,一個是“不小于512”,一個是“不小于256”,但在“不小于256”處后面有“pdf”、“mpg”等明顯代表文件格式的字符串,所以選擇這處點擊跳轉到調試窗口中,大致瀏覽一下這個函數我們可以發現很多有用的函數,比如createfile,copyfile,readfile等,可以確定這就是我們要找的函數。找到函數頭部分下一個軟件斷點,重新運行,按f5,在軟件中選擇示例視頻.mp4,點擊外發控制,一直下一步,然后會斷在我們所下斷點處,這部分操作我就不上圖了,只說一下具體操作流程,畢竟我們的主要任務是分析它的加密算法。
單步運行并分析上文所下斷點的函數,我們可以發現,在readfile讀取處,程序讀取了源文件,程序中共有7個writefile,在數據窗口中跟隨readfile的第二個參數即讀入源文件數據的部分,繼續單步執行,發現第1個writefile不會被執行,在執行到第2個writefile處時,程序寫入隨機字節: 0x200000,而數據窗口中跟隨的數據段已經發生改變,在010editor中打開加密后的文件:示例視頻.mp4.pbb,發現其數據與在od中數據窗口中的數據一致,所以可以確定這段數據就是加密后的數據,而在readfile與writefile之間只有一個函數:call pycfileo.00e45190(將函數pycfileo.00e45190重命名為核心加密函數,下文用到的部分也以核心加密函數指代),所以可以確定這個函數即使我們所要找的加密函數。先不管加密函數的具體內容,繼續執行其所處函數,當我們執行到第3個writefile處時,程序寫入了隨機n個字節(n=0~16),在第4個writefile處,發現程序把上文中數據窗口中跟隨的密文寫入了文件,在第5個writefile處,程序將其上面一個隨機產生的0x20大小的內容進行了寫入,第6個writefile處,程序將了0x2a8內容進行了簡單填充,第7個writefile處,寫入了固定大小 0x10c的內容,經分析與密鑰有關。
經過分析,發現加密只與核心加密函數有關,所以我們的重點放到核心加密函數上來,其它的部分在這里不做討論。為了節省時間,我用了ida的f5功能查看整個核心加密函數的具體結構,如圖6所示:
-其中每個函數大致的功能如圖中所述,具體里面每一步的步驟在這里不做詳細描述,大家可以自己去跟進。下面我直接給出經過整理、還原后的c++形式的加密代碼,并進行簡要的說明(圖6中所示三個未知函數在下文中以函數1、函數2、函數3相稱):
一直跟進函數2,可以找到置換表和置換方法:
-函數2的具體實現如下:
-函數3的具體實現如下:
-經過驗證(測試函數在附件里),確定我們所還原出的加密算法與原加密算法功能基本相同,據此我們也就不難寫出解密函數來,解密函數這里就不給出了,程序分析到這里差不多也要結束了,接下來最重要的就是找到上面代碼中所提的key,由于是國產商業軟件,所以具體獲取key的過程就不能在這里說明了,這里只提供一個我的解決辦法:如果你詳細分析過核心加密函數后就會發現,該程序沒有將key保存到本地,而是上傳到了網絡,并且key的計算與當前時間有關,所以我們可以利用時間關系來計算出key,上文中所提第7個writefile處寫入的0x10c處即為與key關聯的數據,下面可以給出獲取此處數據的函數:
-此處數據經過計算,就可以得出我們需要的key值,具體方法在此處不便給出,有興趣的可以私下交流,還請大家見諒。附件里有測試版的加密與解密流程,供大家參考。
1.修復其他bug
2.發現窗口及按鈕更名為“隨知”
3.修復連續點擊發現按鈕程序崩潰的問題
4.修復部分情況下視頻播放器窗口透明化的問題
5.修復部分情況下視頻播放器最大最小化導致程序崩潰的問題
網友評論