iOS 馬甲包 (二)代碼混淆 (利用工具spamCode或者iOSMixProject)

spamCode Git下載地址
https://github.com/oneyian/SpamCode
iOSMixProject Git地址
https://github.com/JourneyYoung/iOSMixProject
KLGenerateSpamCode
https://github.com/klaus01/KLGenerateSpamCode

前言:這三種工具是為了應對應用的審核(Guideline 4.3 Design Spam),避免蘋果機審檢測概率。spamCodeiOSMixProject都是基于KLGenerateSpamCode改進,用法相同

主要功能

  1. 修改工程名
  2. 修改類名前綴
  3. 掃描工程中的代碼,生成同等數量的 Category 文件,文件中及是同等方法數量的垃圾代碼。
  4. 修改 xxx.xcassets 文件夾中的 png 資源文件名。
  5. 刪除代碼中的所有注釋和空行。

參數說明

  • (必填) 源碼文件夾絕對路徑(如:/Users/kelei/Documents/work/git/projectName/source)

  • -modifyProjectName [原名稱]>[新名稱] 修改工程名。程序會修改原名稱-Swift.h、Podfile、原名稱-Bridging-Header.h、源碼文件夾絕對路徑、原名稱.xcodeproj和原名稱.xcworkspace的名稱和內容。Podfile被修改后需要手動pod install

  • -modifyClassNamePrefix [工程文件 xcodeproj 絕對路徑] [原前綴]>[新前綴] 修改源代碼類名前綴。程序會掃描源碼文件夾絕對路徑下的 .h .swift 文件,修改文件名,修改使用該類名的代碼,修改工程文件中的文件名。文件名有原前綴的會修改成新前綴,如:原前綴ViewController變成新前綴ViewController;沒有原前綴的會增加新前綴,如:ViewController變成新前綴ViewController。

  • -spamCodeOut [垃圾代碼文件輸出目錄] [垃圾代碼方法增加的參數名] 生成垃圾代碼。程序會掃描源碼文件夾絕對路徑下的 .m .swift 文件中的類和方法,并生成category和extension文件,文件中的方法是在代碼原方法的基礎上增加垃圾代碼方法增加的參數名參數。如:-spamCodeOut /dir AppLog,- (void)setupKeys {}>- (void)setupKeysAppLog:(NSString *)appLog {},- (void)foo:(NSString *)str {}>- (void)foo:(NSString *)str appLog:(NSString *)appLog {}

  • -ignoreDirNames [忽略文件夾名稱字符串] 忽略這些文件夾,對-modifyClassNamePrefix和-spamCodeOut參數有效。目前只會忽略源碼文件夾絕對路徑下一級的這些目錄。如:/p/s -ignoreDirNames categorys,那么/p/s/categorys會被忽略,但/p/s/viewControllers/categorys不會忽略。

  • -handleXcassets 修改xxx.xcassets文件夾中的 png 資源文件名,同時也Contents.json文件中的關聯名稱,不會影響代碼中使用圖片。

  • -deleteComments 刪除工程目錄下 .h .m .swift 文件中的注釋和空行。

使用案例(以spamCode為例)
使用前

  1. 下載spamCode以及你要混淆的項目
    image.png
  1. 打開spamCode工程切換到配置參數的地方,具體步驟如下

    image.png

    image.png

  2. 參數配置(參數說明見上)

    image.png

(1).修改類名: -modifyClassNamePrefix [xcodeproj文件的絕對路徑,不是pod安裝后的那個打開文件] [舊類前綴]>[新類前綴], LXW是舊類前綴XX是新類的前綴
(2)修改方法名:-chageAPIPrefix [舊方法名前綴]>[新方法名前綴] 注意,前綴要有“”才能被識別,如果之前工程中沒有xx下劃線開頭來命名方法的,此項不要勾選,Demo_是原先方法名的前綴,LXW_是新方法名的前綴
(3)修改工程的名稱:-modifyProjectName [原工程名]>[新工程名]
(4)垃圾代碼生成:-spamCodeOut /Users/lixuewen/Desktop/confusion/confusionDemo_test/垃圾代碼 垃圾代碼文件夾路徑 [垃圾代碼參數] ccc就是垃圾代碼的參數
(5) 如果用到了修改項目名,最好分兩批先修改方法名等,最后在修改項目名,因為修改項目名稱之后其他的絕對路徑就發生了變化,會報錯。如果碰見報錯或者修改不成功,就重新填寫參數,那個失敗了就單獨怕那個

注:


image.png
  1. 點擊colse,運行項目,查看效果

修改前

image.png

修改后(生成的垃圾代碼需要手動拖拽)

image.png

如果出現了下圖的報錯

20170822163615162.png

解決方法:

cmd + shift + k 
cmd + option + shift + k 
重啟 Xcode
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,785評論 18 139
  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,430評論 9 467
  • 官網 中文版本 好的網站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,424評論 0 5
  • 母親騎著電動三輪車,車上是她剛剛從梨園里摘下的梨子,最上面的幾個梨子隨著道路的顛簸不時的跳動,它們被太陽曬得金黃的...
    貓線團閱讀 342評論 2 2
  • (一)前言 多年以后,當我和富貴聊起當年他給我做培訓的場景,富貴露出他那鮮艷的牙床子,用手撥弄他那稀疏的頭頂。哈哈...
    軒軒說閱讀 649評論 0 4