Symbian塞班軟件破解入門教程_第1頁
Symbian塞班軟件破解入門教程_第2頁
Symbian塞班軟件破解入門教程_第3頁
Symbian塞班軟件破解入門教程_第4頁
Symbian塞班軟件破解入門教程_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

18/18基礎知識SymbainOSSymbianOS(中文譯音“塞班系統〞)由諾基亞、索尼愛立信、摩托羅拉、西門子等幾家大型移動通訊設備商共同出資組建的一個合資公司,專門研發智能手機操作系統,現在已經被諾基亞收購。SymbianOS硬件CPU采用的是ARM系列,使用的是ARM32位指令而非THUMB。

EPCOSymbian操作系統的前身是EPOC,"EPOC〞這個詞起源于世界將會進入“anewepochofpersonalconvenience〞。EPOC是一個開放的操作系統,一開始的時候EPOC就加上了無線通信和一個外加應用程序的體系,因此在無線通信方面與其他操作系統相比具備先天的優勢。

SymbianS60NokiaS60系列手機是市面上智能機里流行最廣的手機。SymbianSeries60是SymbianS60的全稱S60可以細化分為第一版、第二版、第三版、第四版、第五版第一版和第二版差異不大,籠統概括為S602nd、S60二版。(包含OS6、OS7、OS8三個系列)第三版第四版第五版核心是OS9系列的,籠統概括為S603rd、S60三版

2ndAnd3rdS603rd和S602nd從操作系統上看有很大的區別:1、三版引入了權限簽名這一平安機制,可通過對程序安裝包進行簽名授權。2、S602nd是EPOC6,S603rd是EPOC9,這也意味著其ELF(ExecutableandLinkingFormat)是可執行連接格式也發生了改變在S602nd版本中,可執行體是EPOC6格式的.APP文件和.DLL文件在S603rd版本中,可執行體是EPOC9格式的.EXE文件和.DLL文件3、三版和二版的程序安裝包,格式是不一樣的,盡管都是.sis結尾的文件EPOC9格式的可執行文件是可以壓縮的,三版簽名后的安裝包一般是.sisx

ARMCPUARM公司是專門從事基于RISC(reducedinstructionsetcomputer,精簡指令集計算機)微處理芯片制造的企業。設計出的產品性能高、本錢低和能耗省的特點,適用于多種領域,例如嵌入式系統、DSP、和手機。

ARM處理器本身是32位設計,但也配備Thumb16位指令集

準備工作

IDAPro5.2鬼斧神工逆向分析利器下載地址:HYPERLINK

IDSfilesforEPOC6andEPOC9SymbianEPOC格式標示符文件,配合IDA5.2使用,解壓置IDA相關目錄即可下載地址:HYPERLINK

WinHex強大的磁盤編輯工具,也是非常棒的十六進制編輯器。

SisContentsS60三版程序(Sis,Sisx)打包、解包、簽名工具。HYPERLINK

CeleASM用于查看ARMOPCODE宇宙杰出青年Yonsm(郭春楊)之作主頁:HYPERLINK

Symbian_OS_9.x-ELF_Toolz用于解壓和壓縮3rdEXE和DLL工具當然我不是宇宙杰出青年,博客還是有的Blog:HYPERLINK

RESEdit.exeS60三版程序RSC資源修改工具,主要用作漢化

這四款小工具我的博客有文件打包,詳情參閱HYPERLINK

實戰操作Example:DVDPlayer1.26.SISx(HYPERLINK)

Setp1:UnpackSis/SisxFileUse_SisContents_Unpack_S60_3rd_Target_Sis_File

Setp2:UnComPressELFFileUse_Symbian_OS_9.x_ELF_Toolz_UnComPress_Target_ELF_File

CompareBetweenOriginal(BAK_dvdplayer.exe)AndNoCompress(dvdplayer.exe),YouHaveFounddvdplayer.exeWasUnpacked.

Setp3:AnalysisProgramFlow

把脫殼后的程序拖入IDA中

勾上堆棧指針和機器碼字節數為8

.Shift+F12設置下字符串類型,Unicode要的

字符串窗口中3574類似IMEI的串號,雙擊過來

繼續向上回溯字符串被調用的地方

回溯到到sub_8A2C

注意:MOVR12,SPSTMFDSP!,{R4,R5,R7,R11,R12,LR,PC}這兩句類似Win32程序匯編代碼中PUSHEBPMOVEBP,ESPADDESP,XXX意味著什么呢?意味著這個是子功能函數的函數入口

既然這個已經是子函數的入口了我大致猜想剛剛顯示的那個串號是作者自己用來做的手機串號我估計寫入這個串號是為了檢測當串號為3574就不需要啟動軟件注冊功能暫時這么猜想吧按下X按鍵看看有哪些地方調用還好只有一處

返回到這里分析代碼詳細過程我就不在這里細說了Loc_8280這里與解密有關的局部,我們進入分析

進來后,再進入sub_9114分析看看

很顯然sub_9114也是一個子函數

這里這號是圖形化的,看看整個分支流程

CompareF比較函數再猜想下咯剛剛是作者手機串號的代碼這里的比較很大何能是判斷是不是作者的手機R0存放器和8x86EAX存放器一樣常用語函數返回值沒查SDK了,和Windows比較函數一樣一般返回0說明兩參數比較相等

加個注解解釋下吧LDR R0,[R6,#0x98] ; 相當于 MOVR0,[R6+0x98]MOVR1,R10; 相當于 MOVR1,R10BL TDesC16::CompareF(TDesC16const&); 相當于Comparf(R0,R1)CMPR0,#0;R0為函數的返回值,為0,說明參數R0和參數R1相等MOVEQ R8,#1;IFR0=0ThenR8=1STREQR8,[R6,#0x90] ;IFR0=0ThenStorageR8ToR6+0x90MemoryBEQloc_922C;IFR0=0ThenCallLoc_922CFunction

很明顯要改變程序流程需要patch下代碼修改CMPR0,#0變成CMPR0,R0可以一直作用以下的流程自然而然我們的補丁代碼也就是這個了

Setp4:MakeARMOPCODE

Use_CeleASM_Make_OPCODE

生成的OPCODE是500000004e3500000CMPR0,#0600000008e1500000CMPR0,R0

看看CMPR0,#0的OPCODE和我們途中的OPCODE是否相同

不難看出500000004e3500000CMPR0,#0是對應Little-Endianl數據存儲類型的ARMCPU也就是低位字節排在內存較低地址

Patch_OPCODE:000050E1(CMP R0,R0)

Setp5:PatchData

先從IDA中查看需要修改代碼對應的文件偏移0x000012AC

原來的

修改后就這樣了

最后存盤即可。

Setp6:CompressELFFile

Use_Symbian_OS_9.x_ELF_Toolz_ComPress_Target_ELF_File

Setp7:PackS603rdFile1、把之前破解好,加壓縮的dvdplayer.exe復制一份到別處2、刪除之前解包出來的文件夾D:\Symbian_Reverse_Toolz\Toolz\SisContents121\DVDPlayer1.263、再次用SisContents翻開原版的.sis文件,點擊ExtractFiles圖標4、拷貝之前破解好,加壓縮的dvdplayer.exe,復制到D:\Symbian_Reverse_Toolz\Toolz\SisContents121\DVDPlayer1.26\sys\bin替換掉解包出來的5、刪除原來的簽名:回到SisContents中,Tools->DeleteSignatures6、File->SaveAs->另存文件即可。

Setp8:RunPatched.SisMobile在手機上測試我們修改后的程序,破解成功。

說明那個串號是一個作者留下的小路吧,當然如果替換作者原來測試機的串號3574成自己的串號,那么程序也是一路綠燈通行的。

學習小結ARM指令集需要掌握遇到B當CALL指令用即可BL是調用系統函數Bxx是條件調用類似條件跳轉Jxx指令R0-R3可以用作參數傳遞R0和Win32匯編中EAX作用一樣常用語存放函數返回值

解密思路和Windows上的解密思路是一樣的可以通過字符串來定位關鍵代碼,也可以通過相關API找關鍵代碼

Symbian

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論