個(gè)人的安卓逆向之路坑坑洼洼的路也走了一個(gè)又一個(gè),坑呢也踩完了又踩,雖然我堅(jiān)信踩坑肯定不是壞事,因?yàn)橹辽倌阒朗裁纯扇?什么不可取. 也只有真正踩過(guò)很多坑,才能走進(jìn)大佬的世界. 但是有些不必要的坑,只會(huì)浪費(fèi)時(shí)間,所以從自己以及很多大佬的經(jīng)驗(yàn)中,我也總結(jié)了一篇根據(jù)自身經(jīng)歷闖蕩摸索出來(lái)的學(xué)習(xí)法門(mén).
逆向?qū)沟降自趯?duì)抗什么?本人是從C語(yǔ)言開(kāi)始入門(mén)編程行業(yè)的,之前有個(gè)大佬說(shuō)如果你不會(huì)開(kāi)發(fā),你就不能說(shuō)你會(huì)逆向,頂多你就是個(gè)工具俠. 現(xiàn)在感同身受,只有真正了解編程的原理,才能讓你在逆向的道路越走越遠(yuǎn). 而只有了解操作系統(tǒng)的原理才能讓你在逆向的道路游刃有余,在PE時(shí)代,大佬們稱(chēng)其為降維打擊. R3解決不了的就用R0干,比的就是知識(shí)點(diǎn),比的就是知識(shí)儲(chǔ)備. 在現(xiàn)在的安卓逆向領(lǐng)域,亦是如此. 風(fēng)控團(tuán)隊(duì)與逆向人員比的就是知識(shí)儲(chǔ)備,誰(shuí)對(duì)安卓系統(tǒng)更加了解,誰(shuí)能拿到未公開(kāi)的漏洞加以運(yùn)用誰(shuí)就更勝一籌.
1.學(xué)習(xí)基礎(chǔ)當(dāng)然針對(duì)很多剛?cè)肟拥男』锇閭?我想說(shuō)的一句話就是,得耐得住寂寞,你得付出比平常人多得多的時(shí)間精力去瘋狂的吸收那些已經(jīng)公開(kāi)的基礎(chǔ)知識(shí)點(diǎn),你玩安卓逆向,你總得會(huì)Java吧,你總得寫(xiě)出一個(gè)Hello World的APK吧! 但是有時(shí)間,我強(qiáng)烈你學(xué)習(xí)一下C跟C++,了解一下指針的魅力,了解一下僅僅只有MOV,LEA兩條指令構(gòu)成的指針到底是如何讓C語(yǔ)言經(jīng)久不衰. 2.學(xué)會(huì)使用工具工具是為了讓人做出更有價(jià)值的東西,所以每一個(gè)讓各個(gè)大佬都在使用的工具你也一定要會(huì),不要重復(fù)造輪子,要學(xué)會(huì)站在巨人的肩膀上. Xposed,Frida,IDA,Ghidra,Jadx,Charles .... 3.枯燥無(wú)味的文件結(jié)構(gòu)對(duì)于常人來(lái)說(shuō),它是真的枯燥,并且付出的時(shí)間成本比任何東西都要多,但是為了你飛的更高,能與更高層次的人對(duì)抗,你必須要學(xué) ELF文件結(jié)構(gòu),APK文件結(jié)構(gòu),Android源碼 當(dāng)然現(xiàn)在書(shū)籍很多,已經(jīng)有大量的前人為你鋪路,你所需要做的就是跟著他們的步伐,書(shū)籍特別多,后續(xù)我會(huì)整理幾本. 4.借鑒別人的工具思考現(xiàn)在大部分工具都是開(kāi)源的,如果你的時(shí)間充裕的話,不放也看一看別人的想法,每一個(gè)讓人所熟知的工具都有其特別之處.如果你能悟到其精髓,何嘗不是一件好事. 5.學(xué)會(huì)放棄一些東西以換取一些東西如果金錢(qián)能買(mǎi)來(lái)技術(shù)的話,我一定會(huì)買(mǎi),因?yàn)橐粋€(gè)人的時(shí)間往往是最寶貴的.我不是打廣告,看雪3w2w班,肉絲的課程. 它們的存在都有它們的道理. 技術(shù)這個(gè)東西更新迭代太快,如果你跟不上時(shí)代,那么你就會(huì)錯(cuò)過(guò)時(shí)代! 6.找些志同道合的小伙伴有一群小伙伴,無(wú)論是心理的壓力還是社會(huì)上的壓力都能大大減少,畢竟人類(lèi)是群居動(dòng)物嘛. 一個(gè)人研究永遠(yuǎn)是閉門(mén)造車(chē),無(wú)法真正的融入大流. 大家一起進(jìn)步,一起努力,一起解決問(wèn)題才是真正重要的.
|