2017 年,本該從事IOS 工作的我获高,由于公司需要哈肖,以及個(gè)人對(duì)新鮮事物的興趣,一次機(jī)會(huì)讓我接觸到了逆向行業(yè)念秧。
A: 第一次接觸逆向就做的是ASO 淤井,也就是所謂的(App store Optimization),我依然清晰記得攔截到別人程序的快感出爹,根據(jù)需求分析appstore 的排名規(guī)則庄吼,以及關(guān)鍵詞的檢索規(guī)則。開始用盤古越獄或者pp守護(hù)严就,等等越獄工具总寻,熟悉cydia 工具,openssh 安裝梢为,以及命令渐行。通過openssh 安裝到cydia 的插件程序。 具體Clutch-2.0.4 砸殼铸董,通過class-dump祟印,是可以把Objective-C運(yùn)行時(shí)的聲明的信息導(dǎo)出來(lái)的工具。其實(shí)就是可以導(dǎo)出.h文件粟害。用class-dump可以把未經(jīng)加密的app的頭文件導(dǎo)出來(lái)蕴忆。然后檢索代碼,通過tweak 框架悲幅,編寫代碼注入套鹅,這也就是所謂的靜態(tài)分析站蝠,當(dāng)然有靜態(tài)也就有動(dòng)態(tài),動(dòng)態(tài)調(diào)試更能直接找到入口點(diǎn)卓鹿,一步一步用debugserver+lldb代替gdb進(jìn)行動(dòng)態(tài)調(diào)試菱魔。遇到比較復(fù)雜的,就用的比較多的IDA . 通過基地址算偏移量找到目標(biāo)地址吟孙。通過自己的不斷努力和探索澜倦,做出來(lái)一套aso 自動(dòng)化軟件(包含直接檢索目標(biāo),登陸杰妓,下載藻治,注銷,換賬號(hào))稚失,大大減輕公司用企業(yè)版觸動(dòng)精靈產(chǎn)生的投入成本和效率成本栋艳。
B: 慢慢的就是開始根據(jù)各種需求,做相對(duì)應(yīng)的軟件句各, 包括基于 xcode + AloneMonkey, 做的一套cpa (刷活躍度)軟件框架吸占。以及微信群組采集器, lua + oc 框架 配合觸動(dòng)靈活的使用。
C:由于房子裝修凿宾,孩子上學(xué)矾屯,就回到西安,找逆向工作初厚,公司需要做android 逆向件蚕,然后就開始android 方面的挑戰(zhàn), 一步一步地又開始探索产禾,有ios 逆向經(jīng)驗(yàn)了排作,android 稍微輕松點(diǎn), 基本上相通的亚情,android Android Killer 這個(gè)算是反編譯工具妄痪,通過工程管理器可以查看到smail 代碼,可以直接轉(zhuǎn)smail 代碼為java 代碼楞件。xposed 框架是一個(gè)提供代碼注入的框架衫生,專門寫了個(gè)android 逆向文章,以及ida 的使用土浸。 通過自己的努力罪针,完成了qq 賬號(hào)登陸,切換黄伊,注銷等功能泪酱,徹底通過插件工具,替代公司之前的按鍵觸摸,效率大大提高西篓,后來(lái)通過不斷地學(xué)習(xí)愈腾, 就開始做協(xié)議方面的工作,也就是完全脫離客戶端了岂津, 基本用到的工具包含,抓包Wireshark,F(xiàn)iddler悦即,Charles 吮成,自己寫的一個(gè)專門通過hook,根據(jù)android 方面常用的加密方式辜梳,AES/GCM/NoPadding粱甫,SHA,DES/CBC/PKCS5Padding作瞄,RSA茶宵,md5, AES/ECB/NoPadding等, 打印出加密前加密后的結(jié)果宗挥,配合加密助手乌庶,推算出加密方式。
完成騰訊充值協(xié)議契耿,易語(yǔ)言寫的工具瞒大,可以一鍵完成通過q幣方式支付的各種游戲充值。
D: 當(dāng)時(shí)公司有windows 方面的逆向搪桂,個(gè)人興趣也就了解了一些透敌,動(dòng)態(tài)調(diào)試工具有OD和windbg, 偵殼工具一般用PEid踢械,編輯工具主要選UltraEdit酗电,文件和注冊(cè)表監(jiān)視工具一般用process monitor,虛擬機(jī)vmware内列,
總之逆向需要極強(qiáng)的耐搓性撵术,以及自我不斷的堅(jiān)持,再加那么一點(diǎn)點(diǎn)運(yùn)氣德绿。