乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      IDA遠(yuǎn)程調(diào)試android so

       herowuking 2015-01-11
        這里記錄本人的學(xué)習(xí)的過(guò)程,分享給大家.希望大家不要像我一樣走彎路.
      我的方法只需要ida,不用sdk,ndk,jre什么一大票東西,很快就能上手
      有什么不對(duì)之處歡迎指正.
      -----------------------------------------
      在xda看到受到某人鼓動(dòng),心血來(lái)潮想寫(xiě)一個(gè)官方rom的解擾器.
      sony的平板的的官方rom是加密的,直接看不到文件內(nèi)容.心想既然平板自己能解開(kāi)升級(jí),解密程序一定在板子能找到.但如何跟蹤平板里面的c程序就成了攔路虎.
      (本人平板系統(tǒng)3.2.1,已root)

      以前用過(guò)幾次IDA PRO,略懂.于是找了新一點(diǎn)的6.1版本,看看說(shuō)明,在平板運(yùn)行客戶端就行
      讓豌豆莢幫我連好驅(qū)動(dòng).
      把ida的android_server推送到/data/local/tmp
      Plain Text code?
      1
      adb push android data/local/tmp


      進(jìn)shell加運(yùn)行屬性,以root身份運(yùn)行
      Plain Text code?
      1
      2
      3
      4
      5
      6
      adb shell
      su
      cd data/local/tmp
      chown 0.0 *
      chmod 777 *
      ./android_server



      讓adb轉(zhuǎn)發(fā)網(wǎng)絡(luò)數(shù)據(jù)
      Plain Text code?
      1
      adb forward tcp:23946 tcp:23946



      啟動(dòng)ida pro,選擇調(diào)試器remote android debugger,設(shè)置網(wǎng)絡(luò)127.0.0.1端口23946
      在debugger菜單選attach

      彈出窗口讓我選進(jìn)程


      然后選擇我的目標(biāo)程序,確定,哈哈,停到程序里了

      第一次看到這,讓我興奮不已。
      隨后發(fā)現(xiàn)根不能進(jìn)斷點(diǎn)。仔細(xì)看命令窗口才發(fā)現(xiàn)
      Plain Text code?
      1
      2
      3
      4
      Could not set the shlib bpt, shared object events will not be handled
      B0001000: loaded /system/bin/linker
      8000: process /system/bin/app_process has started (pid=4473)
      Debugger: attached to process /system/bin/app_process (pid=4473)


      慘,這個(gè)是怎么回事?一番谷歌,才找到這個(gè)
      www.woodmann.com/forum/archive/index.php/t-14714.html
      大概是說(shuō)ida6.1帶的調(diào)試服務(wù)端只兼容安卓2.x版本,在我的3.2水土不服,無(wú)法附加到指定線程。
      好吧,只好另想辦法,不過(guò)此時(shí),仔細(xì)瀏覽一下開(kāi)始停的地方,上下看看,看到我想要跟的so文件的加載地址是0x81000000,記下來(lái),這有用。另外在attach也看到目標(biāo)進(jìn)程的pid,這也有用。

      看到debugger選擇里有remote GDB,這提醒我要找個(gè)arm版本gdb server.哪里有預(yù)編譯好文件呢。NDK!,下載NDK,不用裝,解壓就能看到在預(yù)編譯文件夾就有。于是又把gdbserver推送到平板運(yùn)行起來(lái),別忘了讓adb轉(zhuǎn)發(fā)你的端口,我這里用1111端口,假設(shè)上面記得pid是1234
      Plain Text code?
      1
      2
      3
      4
      adn forward rcp:1111 tcp1111
      adb shell
      su
      ./gdbserver --attach :1111 1234 

      重新運(yùn)行ida,換debugger,指定端口1111,再attach.

      好了我又進(jìn)來(lái)了,可是怎么斷點(diǎn)還不停?
      哦,前面不是看到我要跟蹤的so地址是0x81000000嘛,ida里rebase到那個(gè)地址,再下斷點(diǎn)

      哈哈,終于停到我要的地方了。大功告成!
      能跟蹤了,看不看得懂代碼意圖,就看你的功力了 




      注,調(diào)試命令,如單步什么的都無(wú)效,你只能多下些斷點(diǎn)了。
      運(yùn)行到斷點(diǎn)是,斷點(diǎn)所在位置代碼會(huì)顯示成別的,影響閱讀,也影響流程圖繪制,這只能克服。
      斷點(diǎn)停的太久,系統(tǒng)聽(tīng)不到進(jìn)程的心跳,就會(huì)詢問(wèn)是否結(jié)束程序,別點(diǎn)哦

      至于我的程序,我只看懂流程,不全懂(不是上面的程序)。但是還是照貓畫(huà)虎的移植到windows上,完成解碼器。
      具體方法,下回再說(shuō),嘻嘻

      gdbserver我已上傳到下載頻道,還在審核,晚些應(yīng)該能搜索到。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多