iOS解壓靜態庫.a文件

先先準備一個靜態庫.a文件,比如叫libWeiboSDK.a,放在桌面的test目錄裏。

1、首先進入到libWeiboSDK.a文件夾 file一下libWeiboSDK.a,看一下該文件包含幾種arch。

    執行: cd /Users/dotnar/Desktop/Test

                file    libWeiboSDK.a

    打印:

libWeiboSDK.a: Mach-O universal binary with 4 architectures: [arm_v7:current ar archive] [x86_64]

libWeiboSDK.a (for architecture armv7):current ar archive

libWeiboSDK.a (for architecture arm64):current ar archive

libWeiboSDK.a (for architecture i386):current ar archive

libWeiboSDK.a (for architecture x86_64):current ar archive

可以看到該文件包含四種arch,分別是armv7、arm64、i386、x86_64

2、抽離其中一個arch ,由於下面抽離object的時候必須是要單一的庫,所以這裏我們之抽出armv7並命名爲armv7.a:

執行:lipo libWeiboSDK.a -thin armv7 -output armv7.a

這時候應該在test目錄下多了一個v7.a文件。

3、抽離.a文件的object

執行:ar -x armv7.a

你會發現在test目錄下多了很多.o文件

4、轉換.o文件 (如下的NSData+WBSDKBase64.o文件)

執行:nm NSData+WBSDKBase64.o> NSData+WBSDKBase64.m

此時你會發現生成了一個NSData+WBSDKBase64.m

到此就解壓完成,不過此時的.m文件只能看到一些函數而不是源碼。如下:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章