上篇我們預(yù)測了阿里螞蟻金服破解題目的幾種思路,現(xiàn)在我們來看看實(shí)際情況如何。
上篇地址
(已按照官方說明更新了下載地址)
http://www.lxweimin.com/p/93b0b4e7e091
吐槽下先
上篇我們就提到了官方給的下載鏈接不可訪問,方式還以為不到開賽時(shí)間官方未開放下載,或者阿里的同學(xué)都忙著去開宇宙最大公司大會了,得等到凌晨準(zhǔn)時(shí)開通。
經(jīng)過漫長的等待,困啊,到了零點(diǎn)去訪問還是無法訪問,當(dāng)時(shí)想這不是阿里的風(fēng)格啊,大概00:30的時(shí)候等不下去就想看看公眾號有沒有回復(fù),結(jié)果在公眾號文章的底部回復(fù)中看到官方的答復(fù),公眾號的下載地址為內(nèi)網(wǎng)地址,同時(shí)還公布了外網(wǎng)地址。這算不算命題組的失誤呢?
賽題情況
-
先上個(gè)圖給大家看看
賽題界面 賽題為單機(jī)版
我的預(yù)測之3、4明顯不符合了。賽題的apk包沒做加固
預(yù)測之2還是對的,但只能算對了一部分,因?yàn)閍pk部分的代碼相對比較簡單,而他把核心邏輯封裝到了libcore.so以及core.bin文件中,說實(shí)話我之前對這兩個(gè)玩意沒任何概念,我不認(rèn)識他們他們不認(rèn)識我。開啟so破解的漫長路
經(jīng)過惡補(bǔ)知識,大概知道了so為何物。既然是C類的東東,那就祭出ida神器吧,不過發(fā)現(xiàn)自己的ida不能用F5傷心啊,于是經(jīng)過多次嘗試終于找到一個(gè)靠譜的破解版可用。
ida主要代碼部分還算清晰,不過又涉及了一個(gè)VM的概念,核心邏輯都在VM中完成,這個(gè)鬼我還在死磕中。
漲技能
經(jīng)過這四天的研究,我發(fā)現(xiàn)自己漲了很多技能,即使不能成功破解也值了。給大家簡單列一下,有興趣可以加qq群找我,這些問題對熟悉android開發(fā)的大神是小菜一碟,但是android小白,走了很多彎路。
手機(jī)編程
Aide一個(gè)NB的在android手機(jī)上開發(fā)android應(yīng)用的app。
之前就一直用過這個(gè)工具,奈何我的電腦開發(fā)環(huán)境不給力,eclipse下一直編譯異常,重新更新sdk后還是有問題。于是乎回到手機(jī)上開發(fā)了。引用so
這個(gè)問題費(fèi)了很長時(shí)間才在aide中引入了32位的so,期間學(xué)會了絕對路徑load庫文件、相對路徑loadlibrary,解決了32位 64位的問題。學(xué)會了無源代碼看app日志
這個(gè)問題咨詢了好幾個(gè)android開發(fā)的小伙伴,網(wǎng)上查了很多資料才搞定。用了adb神器,可以查看手機(jī)的logcat,熟悉了常用的命令用法。adb連接bluestack
新手機(jī)沒有做root,調(diào)試起來很不方便,于是用了常用利器bluestack,并通過adb命令實(shí)現(xiàn)了模擬器的日志查看,通過adb命令安裝應(yīng)用。順便掌握了模擬器和windows互傳文件。(后來突然bluestack中不顯示windows的共享目錄的文件了,但是可以寫入文件,不知道什么原因,重啟也未解決,后續(xù)有時(shí)間再跟進(jìn))。學(xué)習(xí)的apk拆包修改重新打包
用到了apktool工具,第一次使用,酷爽。以后再也不擔(dān)心修改打包問題了。學(xué)習(xí)了apk簽名
使用了auto-sign,可以對重新打包的apk進(jìn)行簽名。學(xué)習(xí)arm thumb指令集
經(jīng)過摸索最終才步入正道,彎路太多不忍直視。知道了arm thumb指令的區(qū)別,知道了怎么對照指令個(gè)機(jī)器碼,同時(shí)加深了匯編知識的積累。嘗試了底層破解繞過機(jī)制
這個(gè)純屬為了好玩,直接把螞蟻金服的驗(yàn)證關(guān)閉了,界面返回驗(yàn)證通過。給大家個(gè)截圖娛樂娛樂
革命尚未成功,尚需繼續(xù)努力。