新四季網

安卓逆向要學多久(安卓逆向基礎)

2023-07-31 05:34:22

0x01 activity 跳轉

demo還是上一次的demo,這次我們更改一下Button邏輯,改成跳轉。

建一個新的Activity

跳轉Activity

這裡跳轉到我們新建的Activity。

使用intent進行跳轉,Intent相當於一個載體。

具體代碼如下:

Intent i=new Intent(MainActivity.this,Main2Activity.class); startActivity(i);

設置標識

生成apk測試

0x02 Androidmanifest.xml說明

首先來看下Androidmanifest.xml的內容

在這裡我們可以看到有兩個Activity。

如何設置最先啟動?

這裡有兩個Activity,那麼app是怎麼識別那個是最先啟動的Activity呢。

這裡我們對比一下兩個Activity的區別。

這是第一個Activity

這個是我們的第二個Activity

是不是區別很明顯,一個有一大堆的內容,一個只有一句話。

所以我們的重點就是:

很容易就發現是因為這個所以才是最先啟動的。

我們來做一個簡單的測試。

我們把這個移動一下位置。

現在Androidmanifest,xml是這個樣子。

測試

現在我們生成apk。

我們發現,點開之後發現已經不是之前的Activity,而是我們之後自己添加的Activity。

基於這個思路,我們可以想嘛,如果有第三方的Activity注入,我們是不是可以通過改變啟動的Activity從而避開一些驗證問題。

恩,之後通過實戰來進行一個測試。

0x03 反編譯

有到了學習smali的時候到了。可能很無聊吧,但是寫的人卻是很有興趣呢。

廢話不說,開始吧。

1. 丟Android Killer裡。

2.找到關鍵代碼

恩。在$2裡。

.method public onClick(Landroid/view/View;)V .locals 3 .param p1, "v" # Landroid/view/View; .prologue .line 33 new-instance v0, Landroid/content/Intent; iget-object v1, p0, Lcom/example/hanlei/first_demo/MainActivity$2;->this$0:Lcom/example/hanlei/first_demo/MainActivity; const-class v2, Lcom/example/hanlei/first_demo/Main2Activity; invoke-direct {v0, v1, v2}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V .line 34 .local v0, "i":Landroid/content/Intent; iget-object v1, p0, Lcom/example/hanlei/first_demo/MainActivity$2;->this$0:Lcom/example/hanlei/first_demo/MainActivity; invoke-virtual {v1, v0}, Lcom/example/hanlei/first_demo/MainActivity;->startActivity(Landroid/content/Intent;)V .line 35 return-void.end method

這裡我們不一句一句翻譯,想看的回去翻之前的內容,很多。

我們來看這裡的主要代碼:

新建一個 Intent對象

new-instance v0, Landroid/content/Intent;

獲取MainActivity對想存儲在v1中

iget-object v1, p0, Lcom/example/hanlei/first_demo/MainActivity$2;->this$0:Lcom/example/hanlei/first_demo/MainActivity;

把Main2Activity存入v2中

const-class v2, Lcom/example/hanlei/first_demo/Main2Activity;

然後把v1和v2放入v0中。

invoke-direct {v0, v1, v2}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V

startActivity調用即可。還是很簡單的,很容易理解的。

.line 34 .local v0, "i":Landroid/content/Intent; iget-object v1, p0, Lcom/example/hanlei/first_demo/MainActivity$2;->this$0:Lcom/example/hanlei/first_demo/MainActivity; invoke-virtual {v1, v0}, Lcom/example/hanlei/first_demo/MainActivity;->startActivity(Landroid/content/Intent;)V

怎麼說呢,smali見過了,雖然不知道什麼意思,但是很熟悉,一下子就理解了。恩,語言還是多看看,多分析分析,有好處的。當初學c語言的時候就是,敲了很多行,做了幾個項目恩就很熟練了。

0x04 實戰分析

樣本

樣本為了方便我就傳在百度雲裡了

原APK:連結:https:///s/1pMwcuef 密碼:a673

試玩

不知道為什麼我的夜深模擬器打不開了。試試別的模擬器。

一打開遊戲,就彈出個這個界面,很不喜歡,我想直接彈出我的遊戲界面。

好,我們用我們剛開始的技能。

1.apk反編譯

2.查看Androidmanifest.xml文件

3.嘗試跳轉

首先來看下我們的跳轉。

跳轉的Activity名稱為:cn.cmgame.billing.api.GameOpenActivity,Gameopen。。。恩,這是什麼唉,好奇怪。但是呢,肯定就是我們打開的界面。恩。我覺得這個有點重要,以後可能會涉及到。所以還是找個小本子記下來。我應該建立一個小本子。

我們來看一下我們的Activity。

這裡有兩個Activity:

第一個Activity的name:android:name="MainActivity"

第二個Activity的name:android:name="LogActivity"

作為開發人員,MainActivity,就是一個開始恩。我們直接開始更改。

這個是修改後的Activity。

其實我也只是對

這兩句有了解。但是還有三句是什麼,一起來看一下吧。關於測試的問題,我們學習完之後再進行測試吧。

首選是

國內百度搜不到。

收藏的谷歌鏡像掉鏈子。

bing或許是一個不錯的選擇。

這個是我找到的結果。

Cortex,ARM公司在經典處理器ARM11以後的產品改用Cortex命名,並分成A、R和M三類,旨在為各種不同的市場提供服務。

For your Cortex app to show up in the PLAY section,這句話的含義就是,在你的ARM app 展現的遊戲部分。我用百度翻譯 自己瞎編的也不知道對不對哈。

it must have an activity that contains a filter for either。它必須有一個包含過濾器的活動。

說這麼多廢話。我又不做遊戲開發。說不定以後要做,但是現在不做。所以說白了,就是必須的。

其實我之前做了一個錯誤的測試就是直接把

這兩個直接挪過去,直接失敗。所以,還是分析一下吧。

剛才說的

這句就是必須的。

還有兩句

好了,我們搜一搜,最後發現是:移動基地運營商sdk需要添加所必須的。

好嘛,做測試的時候直接挪過來的。現在我們刪了做一下測試吧。

4.測試

測試結果,成功了。不過值得一說的是藍疊模擬器也掉鏈子了。還是自己的手機好用啊。成功的跳過了。手機發圖好麻煩的,恩,自己做測試吧。

以上。

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了