iOS逆向課程筆記(五)

dumdecrpted 砸殼工具
    定位要砸殼的StoreApp的執(zhí)行文件名字TargetApp (ps -e 可以得到全路徑)  

    定位要砸殼的StoreApp的Document目錄:
    cycript -p TargetApp
    [[NSFileManager defaultManager]URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]

    得到路徑:#"file:///var/mobile/Containers/Data/Application/986376B5-EF08-4CAF-81FB-CAE48D1FE4AE/Documents/"

    進入Document目錄: cd  /var/mobile/Containers/Data/Application/986376B5-EF08-4CAF-81FB-CAE48D1FE4AE/Documents/
    拷貝dumpdecrypted.dylib: cp  dumpdecrypted.dylib .

    DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/749DC69A-3A8D-4B5C-9926-1220E69FC85F/WeChat.app/WeChat
 
  • theos(作者:@DHowett)
    越獄開發(fā)工具包
  • xcode工具集的路徑需要設置正確
    查看命令: xcode-select --print-path

    設置命令: xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer

  • 通過github安裝theos
    https://github.com/theos/theos/wiki/Installation

  • 修改所有者
    sudo chown -R $(id -u):$(id -g) theos

    theos維基百科:
    http://iphonedevwiki.net/index.php/Theos/Setup#For_Mac_OS_X
    http://iphonedevwiki.net/index.php/Theos

  • 環(huán)境變量
    export THEOS=/opt/theos

    可以寫入~/.bash_profile
    source ~/.bash_profile

    echo $THEOS

  • ldid(作者:saurik )
    維基百科:http://iphonedevwiki.net/index.php/Ldid

    越獄iPhone下的簽名工具(更改授權entitlements),可以為thos開發(fā)的程序進程簽名(支持在OS X和iOS上運行)。

  • 安裝ldid
    $ brew install ldid fakeroot

  • 加密算法

  • 對稱加密算法:RC4荚守、DES助被、3DES罕邀、AES128爆存、AES256等六荒。加解密雙方密鑰相同护姆。

  • 非對稱加密算法:RSA、Elgamal等掏击。加解密雙方使用密鑰對卵皂。

  • 哈希算法:MD5(16Byte)、SHA1(20Byte)等砚亭。任意長度的信息轉換成到某一固定長度的信息摘要(具有唯一性灯变,不可逆性)殴玛,主要作用是對數(shù)據(jù)數(shù)據(jù)完整性校驗。

  • 數(shù)字簽名 (蘋果官方的私鑰簽名添祸,公鑰驗證)

    • 數(shù)字簽名是非對稱密鑰加密技術與數(shù)字摘要技術的應用滚粟。對指定信息使用哈希算法,得到一個固定長度的信息摘要刃泌,然后再使用 私鑰 (注意必須是私鑰)對該摘要加密凡壤,就得到了數(shù)字簽名。
  • 數(shù)字證書
    數(shù)字證書是一個文件耙替,由蘋果的 Apple Worldwide Developer Relations Certification Authority(WWDR)證書認證中心進行簽名亚侠,其的主要作用是用來標示身份。證書文件主要包含兩部分內(nèi)容:證書信息和證書簽名

    • 證書信息
      包含用戶的公鑰俗扇、用戶個人信息硝烂、證書頒發(fā)機構信息、證書有效期等信息铜幽。(這里的用戶主要指開發(fā)者)

    • 證書簽名
      WWDR將上述證書本身內(nèi)容的使用哈希算法得到一個固定長度的信息摘要钢坦,然后使用自己的私鑰對該信息摘要加密生成數(shù)字簽名。

    • 證書的驗證
      iOS系統(tǒng)原本就持有WWDR的公鑰啥酱,系統(tǒng)首先會對證書內(nèi)容通過指定的哈希算法計算得到一個信息摘要;然后使用WWDR的公鑰對證書中包含的數(shù)字簽名解密厨诸,從而得到經(jīng)過WWDR的私鑰加密過的信息摘要镶殷;最后對比兩個信息摘要,如果內(nèi)容相同就說明該證書可信微酬。在驗證了證書是可信的以后绘趋,iOS系統(tǒng)就可以獲取到證書中包含的開發(fā)者的公鑰,并使用該公鑰來判斷代碼簽名的可用性了颗管。

    • 證書存在的意義
      通過證書使用過程可以看出陷遮,證書本身只是一個容器,用來承載開發(fā)者的公鑰垦江。iOS通過驗證證書的合法性來確保開發(fā)者公鑰的合法性帽馋。

  • 代碼簽名與驗證(開發(fā)者的私鑰簽名,公鑰驗證)
    打包過程中使用開發(fā)者私鑰對應用進行簽名比吭。

    開發(fā)者的公鑰被包含在數(shù)字證書里绽族,數(shù)字證書又被包含在描述文件(Provisioning File)中,描述文件在應用被安裝的時候會被拷貝到iOS設備中衩藤。iOS安全系統(tǒng)通過證書就能夠確定開發(fā)者身份吧慢,就能夠通過從證書中獲取到的公鑰來驗證開發(fā)者用該公鑰對應的私鑰簽名后的代碼、資源文件等有沒有被更改破壞赏表,最終確定應用能否合法的在iOS設備上合法運行检诗。

  • 工具的使用

    查看codesign load command 
    otool -l WeChat | grep -A 5 SIGNATURE
    
    查看簽名信息
    ?  tmp codesign -dvvv WeChat
    Executable=/private/tmp/WeChat
    Identifier=com.tencent.xin
    Format=Mach-O universal (armv7 arm64)
    CodeDirectory v=20200 size=448783 flags=0x0(none) hashes=14017+5 location=embedded
    Hash type=sha256 size=32
    CandidateCDHash sha1=6e2f8a93dbe63c17ea3b3a3dc032826b9eddf2b7
    CandidateCDHash sha256=d6f1afe23b598a76301711a4a62a5505a749a12a
    Hash choices=sha1,sha256
    CDHash=d6f1afe23b598a76301711a4a62a5505a749a12a
    Signature size=3925
    Authority=Apple iPhone OS Application Signing
    Authority=Apple iPhone Certification Authority
    Authority=Apple Root CA
    Info.plist=not bound
    TeamIdentifier=88L2Q4487U
    Sealed Resources=none
    Internal requirements count=1 size=96
    
    查看entitlement內(nèi)容 
    codesign -d --entitlements - WeChat
    ldid -e WeChat
    
    修改entitlement內(nèi)容 
    ldid -Sentitlement.xml  WeChat
    
  • dpkg工具

  • 安裝

$ brew install --from-bottle https://raw.githubusercontent.com/Homebrew/homebrew-core/7a4dabfc1a2acd9f01a1670fde4f0094c4fb6ffa/Formula/dpkg.rb
$ brew pin dpkg
  • 使用
dpkg -i/-r file.deb  deb包安裝/卸載
dpkg -s com.iosre.myiosreproject 查看安裝包信息
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末匈仗,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子逢慌,更是在濱河造成了極大的恐慌悠轩,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涕癣,死亡現(xiàn)場離奇詭異哗蜈,居然都是意外死亡,警方通過查閱死者的電腦和手機坠韩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門距潘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人只搁,你說我怎么就攤上這事音比。” “怎么了氢惋?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵洞翩,是天一觀的道長。 經(jīng)常有香客問我焰望,道長骚亿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任熊赖,我火速辦了婚禮来屠,結果婚禮上,老公的妹妹穿的比我還像新娘震鹉。我一直安慰自己俱笛,他們只是感情好,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布传趾。 她就那樣靜靜地躺著迎膜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浆兰。 梳的紋絲不亂的頭發(fā)上磕仅,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機與錄音簸呈,去河邊找鬼宽涌。 笑死,一個胖子當著我的面吹牛蝶棋,可吹牛的內(nèi)容都是我干的卸亮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼玩裙,長吁一口氣:“原來是場噩夢啊……” “哼兼贸!你這毒婦竟也來了段直?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤溶诞,失蹤者是張志新(化名)和其女友劉穎鸯檬,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體螺垢,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡喧务,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了枉圃。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片功茴。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖孽亲,靈堂內(nèi)的尸體忽然破棺而出坎穿,到底是詐尸還是另有隱情,我是刑警寧澤返劲,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布玲昧,位于F島的核電站,受9級特大地震影響篮绿,放射性物質發(fā)生泄漏孵延。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一亲配、第九天 我趴在偏房一處隱蔽的房頂上張望尘应。 院中可真熱鬧,春花似錦弃榨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至坡贺,卻和暖如春官辈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背遍坟。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工拳亿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人愿伴。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓肺魁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親隔节。 傳聞我的和親對象是個殘疾皇子鹅经,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 本文轉載寂呛,出處如下:數(shù)字證書原理 文中首先解釋了加密解密的一些基礎知識和概念,然后通過一個加密通信過程的例子說明了...
    隨安居士閱讀 1,674評論 1 8
  • 接觸iOS開發(fā)多年瘾晃,花了一點時間去研究了一下iOS這套證書和簽名機制贷痪,并撰文分享給需要的朋友。由于本人才疏學淺蹦误,多...
    風和花閱讀 1,862評論 0 7
  • 從事iOS開發(fā)三年了劫拢,日常的精力主要放在公司的業(yè)務上,最近決定開始寫一些技術方面的東西强胰,記錄自己今后的學習歷程舱沧,也...
    差一點不是帥哥閱讀 1,733評論 0 8
  • 本文摘自 騰訊bugly 的文章《全站 HTTPS 來了》涡真,內(nèi)容有修改分俯。 大家在使用百度、谷歌或淘寶的時候哆料,是否注...
    bnotes閱讀 3,639評論 1 9
  • 轉眼間缸剪,大學只剩下這不到一年的時間,明年六月份东亦,我就不得不離開這個象牙塔了杏节。雖然有時候會瘋狂吐槽自己的學校,但似乎...
    落姿smile閱讀 238評論 0 0