首先分享一份安卓逆向的視頻地址煩請查看http://www.52pojie.cn/thread-247179-1-1.html
還有順便推介一下吾愛里移動安全區放出的安卓逆向8節課,持續更新。
學着做了一段時間的windows逆向的內容,相接處一下安卓的就找了一些資料。看完之后受益匪淺,但是還是有一些欠缺的東西。比如app被加殼
后,還不會去app的殼,如果誰能看見,煩請分享一下。
不多廢話,這里拿了一個吾愛的例子做學習,由於剛接觸,東西拿的比較low,大家要是有好的app練習的話也可以聯系我一起學習。
1、首先你得有安卓逆向的一些工具,這里我用的是apkIDE,吾愛的工具包里有了。還需要下載jdk包然后配置java環境,這里不多說,很簡單。
2、其次我們需要的就是一個安卓的模擬器,網上有好多,比如藍蝶和海馬等。
3、基本流程是,首先把app放到模擬器中,看一下我們需要着手的點還有一些需要注意的事項,關鍵的信息等做記錄;其次,我們進行用IDE
進行反編譯,並搜索關鍵信息;找到關鍵信息后分析關鍵代碼,修改關鍵位置;最后編譯查看是否達到目的。整個流程基本上和Windows內容相
差不大。
4、將app放到ide中,查找關鍵詞激活vip,這里需要注意的是unicode和ascll的區別和轉換。
5、這里只找到一個信息進入發現附近信息。
const/16 v2, 0x1e
if-ge v0, v2, :cond_0
在這里我們可以看到這個判斷的語句,送查看v0和31的大小也就是之前看到30分的要求,則可以知道這個判斷決定這程序的走向。如果小於30則直接
往下走,如果大於等於31則直接跳到cond_0
6、所以我們可以做以下修改:
const/16 v2, 0x1e
goto :cond_0
這樣是讓判斷直接到達cond_0的情況。
7、重新編譯,驗證沒問題。