安卓逆向入門(二)
01-26
本文作者:怪大叔
226safe Team 核心成員
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
前言:
前面提到的一些smali基本語句函數,在上一節都沒怎麼用到,那麼這節就來簡單運用一下吧。
0x01:
用到的工具:
- AndroidKiller (需安裝JDK)
- 夜神模擬器
回顧smali基本語句函數:
- Const 賦值
- return-void返回空
- Goto 跳轉
- Cond 分支
判斷語句:
- if-eq 等於
- if-ne 不等於
- if-lt 小於
- f-ge 大於等於
- if-gt 大於
- if-le 小於等於
- if-eqz 等於
- if-nez 不等於
- if-ltz 小於
- if-gez 大於等於
- if-gtz 大於
關鍵詞:
- Success成功
- Fail 失敗
詳細可以參考:Smali基本語法 - lee0oo0 - 博客園
0x02:
首先我們查看了下是無殼的,那麼就可以用模擬器打開apk看一下,打開沒發現廣告,那麼就看充值返回的關鍵詞。
關鍵詞是「支付失敗!」那麼我們就搜索看看
發現在GameMain.smali的分支裡面,那麼我們就可以直接打開GameMain.smali看看,打開前講一個小姿勢,很多時候看代碼的時候打開入口點看看,或許還能從中找到一些有價值的東西,省去很多時間,這個apk入口點就是GameMain.smali
我們先看第一個GameMain$3$1.smali
這裡等於p2就跳cond_0那麼我們看看cond_0在哪。
到了失敗這裡,那麼我們把cond_0放在成功那呢?
保存再編譯之後用模擬器打開試試。
是成功的。
說了這麼多其實這裡還有一個簡單暴力的方法就是直接把
這句判斷給刪除掉也是可以的(坑爹啊,,,之前做了這麼多)
總結:
其實很多時候看到一些可能在我們這些菜鳥眼裡好像很6的東西,其實自己嘗試一下或許沒有想像中的這麼難,所以多動手多實操。
推薦閱讀: