1、有。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了興寧免費(fèi)建站歡迎大家使用!
a)源碼逆向:安卓的安裝程序apk就是個(gè)壓縮包,你可以直接用解壓工具(winrar等)直接解壓,出來最主要的是有個(gè)dex文件(classes.dex,程序代碼都在這個(gè)里面),可以通過dex2jar逆向成jar文件,用jdgui等工具查看源碼。一般程序都會(huì)經(jīng)過混淆了,所以閱讀起來比較有難度(方法、類名基本都是a、b、c這樣無意義命名的)。
b)資源逆向:安卓界面布局主要使用xml文件進(jìn)行靈活配置,可能也是被處理加密過了,所以你直接打開解壓后的xml文件可能會(huì)是亂碼,可以使用AXMLPrinter進(jìn)行解密;或者也可以使用主要用于漢化等的AndroidResEdit_By_hanhualangzi_v_1.5.exe的gui工具;
2、效果不一定,取決于多方面的。
逆向更偏重于技術(shù),逆向在學(xué)習(xí)的過程中需要涉及編程語言,安全知識(shí),Windows原理方方面面,工具使用,核心操作分析等眾多方面。是一個(gè)技術(shù)含量,入門門檻都很高的技術(shù)崗位。 如果想深造的話可以關(guān)注下任鳥飛團(tuán)隊(duì),我們是做這方面培訓(xùn)的
刷機(jī)包 sparse img - ext4 img 線刷包里面找到system.img/vendor.img
$ file system.imgsystem.img: Android sparse image, version: 1.0, Total of 849920 4096-byte output blocks in 2454 input chunks.
使用Android源碼編譯得到out/host/linux-x86/bin/simg2img即可將Android的sparse image轉(zhuǎn)為ext4的image
dat - ext4 img system.new.dat.br轉(zhuǎn)system.new.dat
brotli –decompress system.new.dat.br –output=system.new.dat
system.new.dat system.patch.dat system.transfer.list轉(zhuǎn)ext4 img
payload dump odex/oat/vdex Android =4.4 odex to dex
Android =7 oat to dex
Android 8 vdex to dex
Android 9 vdex-cdex-dex
tools/deodex/run.sh -h
dex dex轉(zhuǎn)smali apktool工具 針對(duì) apk包括dex和資源
baksmali、smali 針對(duì)dex
dex轉(zhuǎn)jar/java
googe enjarify工具dex轉(zhuǎn)jar
dex2jar
結(jié)合jd-gui
二合一工具
必須掌握的技能
1、負(fù)責(zé)安卓程序的加解密和數(shù)據(jù)傳輸分析、拆解、逆向等工作;
2 、逆向APK,了解運(yùn)行過程;
3 、Andorid本地提權(quán)獲得root權(quán)限;
4 、熟練掌握軟件逆向靜態(tài)分析、動(dòng)態(tài)調(diào)試、代碼跟蹤等;
5 、熟悉Android開發(fā),了解打包、反編譯、破解流程;
6 、so破解。
目前了解的如下:
1,加解密:這就很多了,一般都是遇到后再折騰解密,而且解密代碼和秘鑰一般都在代碼里面。
2,Andorid本地提權(quán)獲得root權(quán)限,一般真機(jī)是用recovery刷機(jī)包,但是病毒提權(quán)是怎么樣的
目前掌握的一種提權(quán)的是像輸入命令行一樣輸入su并且用pm提權(quán)
還有一種是修改init.rc文件
3,ida動(dòng)態(tài)調(diào)式和代碼跟蹤
4,打包,編譯和破解的流程是什么樣的?
5,so破解:一般就是破殼。各種殼(360,娜迦等等)
加殼的另一種常用的方式是在二進(jìn)制的程序中植入一段代碼,在運(yùn)行的時(shí)候優(yōu)先取得程序的控制權(quán),做一些額外的工作。大多數(shù)病毒就是基于此原理。加殼的程序經(jīng)常想盡辦法阻止外部程序或軟件對(duì)加殼程序的反匯編分析或者動(dòng)態(tài)分析,以達(dá)到它不可告人的目的。這種技術(shù)也常用來保護(hù)軟件版權(quán),防止被軟件破解。
6,了解反破解的技術(shù)
目前掌握的技術(shù)有:
1,反模擬器
2,反靜態(tài)代碼分析器如:反jeb
應(yīng)該也是有很多反ida的,也就是加殼。
任職要求
1、具有豐富的Android開發(fā)分析經(jīng)驗(yàn),熟悉android系統(tǒng)架構(gòu),熟悉android安全機(jī)制;
2、精通匯編語言、Java、C/C++語言,熟悉Smali語言,對(duì)逆向工程有濃厚興趣;
3、熟練掌握ida、gdb逆向分析工具;
4、熟練掌握軟件逆向靜態(tài)分析、動(dòng)態(tài)調(diào)試、代碼跟蹤等;
5、熟悉so和Java層hook;
6、熟悉Android開發(fā),了解打包、反編譯、破解流程;
7、深入理解arm Linux和Android底層運(yùn)行機(jī)制;
8、熟練掌握各種調(diào)試工具:Smali、Dedexer、Dexdump、Apktool、Dex2jar、jd-gui。
相當(dāng)于破解安卓應(yīng)用工程師,反編譯,
通過逆向工程得到安卓應(yīng)用的源代碼,這樣好理解不?