談?wù)刬OS逆向

從業(yè)iOS后,也算兢兢業(yè)業(yè),平時(shí)關(guān)注一些OC,swift動(dòng)態(tài),看別人造的完美輪子來學(xué)習(xí),而自己造的輪子和自己做的飯有相同功效,只有自己能吃的下去。然而這并不是重點(diǎn),重點(diǎn)是自己一直忽略的ios黑產(chǎn),其實(shí)依然一片繁榮。

最近會(huì)幫朋友搞一些ios破殼和逆向、外掛的功能,也算是漲了見識(shí)。下面列舉一些常見的黑產(chǎn)需求:

  • 修改別人游戲包,自己獲利。
  • 破殼,用途太廣??捎脕硌芯窟壿?,也修改發(fā)布等等。
  • 外掛。微信搶紅包,釘釘打卡等。
  • 企業(yè)簽名。 昨天報(bào)價(jià) 8W,單個(gè)ios包簽名報(bào)價(jià)大多在 500以內(nèi),看來只是簽名,需要一段才能回本。

雜談:
時(shí)間久了,到現(xiàn)在記得的一些逆向過程中印象比較深的事情。

游戲啟動(dòng)的時(shí)候要驗(yàn)證授權(quán),沒有授權(quán)直接kill。
程序啟動(dòng)的時(shí)候,有6、7個(gè)方法判斷是否是越獄手機(jī),是越獄手機(jī)kill,加大逆向成本。
修改程序中的所有連接域名,換殼。
還有逆向的較量,別人加的外掛防破解,而你又要去破解他的外掛,逆向之防逆向。

下面寫個(gè)最近破解別人寫的外掛程序。

最近的需求時(shí)在別人破解過的包中再次破解。
原始App是一個(gè)保險(xiǎn)銷售使用的銷售軟件,被人破解,加入隨時(shí)隨地指定坐標(biāo)打卡。但是加了一個(gè)授權(quán)碼,收費(fèi)使用。
而我的需求就是在已破解的情況下,再次繞過授權(quán)碼。
通過抓接口,找到驗(yàn)證接口域名,然后確定是每個(gè)動(dòng)態(tài)庫(kù) 的作用。(以為是已經(jīng)破解的,所有 framwork目錄下已經(jīng)有了5,6個(gè)自定義的dylib)。

如下:其中真實(shí)名字已隱藏,畢竟搞別人的app不太地道。

.
├── isMe.dylib
├── JSPatch.js
├── RevealServer.framework
├── custom1.dylib
├── custom2.dylib
├── libsubstrate.dylib
└── custom3.dylib

經(jīng)確定控制驗(yàn)證的庫(kù)為 custom3.dylib,然后用hopper找驗(yàn)證函數(shù)。

void * -[Auth getUserCode](void * self, void * _cmd) {
    r0 = [NSUserDefaults standardUserDefaults];
    r0 = [r0 retain];
    stack[2043] = [[r0 objectForKey:@"!@#$*@#(!@^#(!@^#(!@^#"] retain];
    [r0 release];
    stack[2041] = [stack[2043] retain];
    objc_storeStrong((sp - 0x1c) + 0x8, 0x0);
    r0 = stack[2041];
    r0 = [r0 autorelease];
    return r0;
}

其中 !@#$*@#(!@^#(!@^#(!@^#為key,我就想著直接在啟動(dòng)時(shí)寫入正確的激活碼就可以了。但是并不是一帆風(fēng)順,key其實(shí)和設(shè)備有綁定關(guān)系,這個(gè)被我忽略了,走了挺多彎路才知道。所以我還需要修改設(shè)備的標(biāo)示,繼續(xù)找。

r0 = [UUIDManager getUUID];
    r0 = [r0 retain];
    stack[1994] = r0;
    stack[1992] = [[r0 substringToIndex:0x20, r1, stack[1964], stack[1965]] retain];
    stack[1989] = [[NSString stringWithFormat:@"uuid=%@&", stack[1992]] retain];

額,然后在想辦法在 UUIDManager getUUID 返回已經(jīng)綁定過的UUID就可以。

這個(gè)算是通過了。但是要有一些dylib打包的錯(cuò)誤。這個(gè)都是小問題了。

如果是做ios開發(fā)的話,對(duì)逆向有了解的話,對(duì)開發(fā)和安全都會(huì)有提高,比如上面的key就可以不用寫成明文。

已經(jīng)建議我家萌小七(也是媛)看逆向了,不過貌似沒什么興趣。(無奈臉)。還是手把手教吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 用到的組件 1、通過CocoaPods安裝 2、第三方類庫(kù)安裝 3、第三方服務(wù) 友盟社會(huì)化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 15,158評(píng)論 1 180
  • AS 打上線版正式包 1.左下角 Build Variants 修改模式為 release 2. gradle 中...
    可愛的肉松多閱讀 3,610評(píng)論 0 3
  • 大河之劍天上來,一劍光寒震九州。 第十九個(gè)夜晚,眼前的這位酒客已經(jīng)十九次這樣站立窗前。 正在收拾酒桌的店小二不懂,...
    艷陽下行馬閱讀 906評(píng)論 0 0
  • 風(fēng)逐著樹尖 一遍又一遍 葉子 綠了 黃了 花色 淡了 深了 秋已遠(yuǎn) 看 新雪掛著清研 輕輕抒寫別苑 那一樹一樹的...
    d911533756b3閱讀 295評(píng)論 0 0
  • 郭胖胖那家伙居然一心想讓我死,我一怒之下,指著坐在對(duì)面的他說:"好,那我就帶你走." 然后,上帝宣布游戲結(jié)束,...
    45度向陽閱讀 233評(píng)論 0 0

友情鏈接更多精彩內(nèi)容