Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was ist die Methode des Reverse Engineering in Android?

Was ist die Methode des Reverse Engineering in Android?

WBOY
WBOYnach vorne
2023-05-22 09:55:281559Durchsuche

1. Waffe bekommen

Xiaobai, wenn du diese Waffe benutzen willst, musst du zuerst die Meridiane öffnen.

1.1 Meridian (Umgebung)

1. Root, Handy-Root, kein Root, kein Android. Nur durch die Öffnung des Wurzelmeridians können wir mit weiteren Operationen fortfahren.

2. Xposed-Framework-Installation Wenn Sie Xposed als Waffe verwenden möchten, müssen Sie es zuerst in die Hand nehmen, bevor Sie es verwenden können.

1.2 Waffen

xposedBridgeApi-82.jar.jar.

Das ist unsere Waffe, Xiaobai, komm schon, ich zeige dir die grundlegende Verwendung dieser Waffe.

2. Waffendemonstration

Was ist die Methode des Reverse Engineering in Android?

Wir verwenden Xposed-Waffen, um Paketname abzufangen und es dann auszugeben.

Tatsächlich kann diese Waffe ihre maximale Leistungsfähigkeit nur dann erreichen, wenn sie mit innerer Stärke gepaart ist.

Passende innere Stärke, Meister, wie das geht.

Beeilen Sie sich nicht, gehen wir es Schritt für Schritt an.

0x02 Üben Sie die Verwendung von Hooks erster Stufe der inneren Stärke (Android Studio 3.0 + Hören Sie gut zu.

Grundkonfiguration von Android Studio 3.0

Stellen wir zunächst eine Umgebung für die Ausführung von Inhalten bereit.

(1) Erstellen Sie zunächst ein Projekt, für das keine Aktivität erforderlich ist Glaspaket. Klicken Sie mit der rechten Maustaste auf „Als Bibliothek hinzufügen“.

Was ist die Methode des Reverse Engineering in Android?

(3) Füllen Sie die Datei Androidmanifest.xml aus.


Was ist die Methode des Reverse Engineering in Android?

  <meta-data></meta-data>
        <meta-data></meta-data>
        <meta-data></meta-data>
(4) Ändern Sie die Abhängigkeitsmethode


Das JAR-Paket ist bereits vorhanden in Xposed Content führt zu Konflikten, wenn er erneut gepackt wird.

Was ist die Methode des Reverse Engineering in Android?

(5) Einfache Xposed-Modellerstellung

Verwenden Sie Alt+Enter, um eine Methode zu implementieren.

Was ist die Methode des Reverse Engineering in Android?

Xiaobai, höre auf meine beiden Worte.

handleLoadPackage, diese Methode wird verwendet, um Benutzeroperationen beim Laden des Anwendungspakets auszuführen.

LoadPackageParam loadPackageParam:, dieser Parameter enthält einige grundlegende Informationen der geladenen Anwendung. Was ist die Methode des Reverse Engineering in Android?
Verwirklichung der inneren Stärke

Sie können es mit nur einem Satz erreichen.

XposedBridge.log("HAI_app: " + loadPackageParam.packageName);

Hier müssen wir darüber nachdenken, was XposedBridge.log ist. Was ist die Methode des Reverse Engineering in Android?
Der Ausdruck von posedBridge.log wird an die Protokollierungsfunktion des Startprogramms des xposed-Frameworks ausgegeben. Dies erleichtert auch die Anzeige für uns.

Machen wir den letzten Schritt der Konfiguration. Legen Sie den Startort fest.

Erstellen Sie eine neue Datei im neuen Assets-Verzeichnis. Der Dateiname ist xposed_init.

Paketnamen + Klasse schreiben.

Testergebnisse

APK erstellen

Zum Testen installieren.

Installieren Sie es einfach auf Ihrem Telefon und starten Sie es dann neu.

Denken

Der sogenannte Meister führt Sie hinein, und die Übung hängt vom Einzelnen ab. Also.

Ich verstehe, Meister, können wir durch diese einfache Methode filtern? Schreiben Sie beispielsweise ein einfaches Analysesystem. Oder etwas anderes, wir können das auch filtern. Ich werde es erst einmal selbst versuchen. Was ist die Methode des Reverse Engineering in Android?
小白s Selbstkultivierung

Über diesen Laufpfad werden Anmeldungen analysiert und gefiltert.

Probieren Sie es einfach aus.

Verwenden Sie die Teilzeichenfolge der gestern gelernten Java-Zeichenfolge, um die Zeichenfolge zu filtern.

Dann testen Sie es.

Das lässt sich natürlich auch genauer erklären.

0x03 Holzpfahl, echte KampfpraxisWas ist die Methode des Reverse Engineering in Android?
Xiaobai, komm schon, der Meister hat einen Holzpfahl für dich gefunden, ich werde ihn für dich schlagen. Wie funktioniert dieser Haken und wie kann man ihn bekämpfen? Lerne gut.

Ich weiß, Meister.

Sammlung von Holzstapelinformationen

1.Grundlegende Informationen

Xiaobai, verwenden Sie eine Waffe, die wir zuvor verwendet haben, um diese grundlegende Informationsleiste zu sammeln.

Meister, welche Art von Informationen sammeln wir normalerweise?

Nun, wir müssen im Allgemeinen

1 Den Paketnamen des Holzstapels

2 sammeln. ...# 🎜🎜#

Xiaobai, das kannst du selbst abholen.

小白s Vorgang

Das erste ist der Paketname. Benutze Waffen, apkhelper.



Informationen zum Paketnamen abrufen. com.example.login

Dann einfaches logisches Telefon.

Was ist die Methode des Reverse Engineering in Android?

2.反编译信息收集

小白啊,收集玩了吗?

收集完了师傅。

好,我们接下来收集反编译信息。知己知彼,方能百战不殆。

师傅的操作

首先我们来看看我们要收集的东西。

1.关键的类名。
2.关键的函数位置。

来用Android Killer武器反编译木桩。

定位。

查看类名,进行记录。

Was ist die Methode des Reverse Engineering in Android?

小白,看清楚,是这个样子进行记录。

原来是这样。com/example/login/MainActivity;
但是我们要改成这样的。com.example.login.MainActivity

现在就需要定位到关键函数了。

Was ist die Methode des Reverse Engineering in Android?

这个login就是我们要Hook住的函数啦。

Ljava/lang/String;Ljava/lang/String;从这里我们可以看到是两个输入内容。并且类型是String。我们现在要做的就是要hook住这个输出,然后对其进行输出。

木桩实战练习

环境搭建

好了,小白,前期资料收集的差不多了。我现在要发功了,要看清楚我的使用哦。

先把环境调整好。

然后先做一个简单的过滤。

Was ist die Methode des Reverse Engineering in Android?

这个时候,收集的包名就排上用场了。

因为是hook的是方法,所以我们这里使用一个方法。

Was ist die Methode des Reverse Engineering in Android?

第一个参数,要hook的包名+方法名,这个也是我们收集好的。

第二个参数不动

第三个参数方法名

第四个参数 输入的参数

我们有两个String类型的参数,所以才这样写

最后一个参数,就是做一个监听。可以监听这个方法的使用前和使用后。

f for木桩

小白,一切准备你就须,看为师给你f这个木桩。

Was ist die Methode des Reverse Engineering in Android?

小白,你看这第一招

XposedBridge.log("ZHUZHU520:LoginName:"+param.args[0]);

这一招搞它的第一个输入。

然后再来看这一招

XposedBridge.log("ZHUZHU520:Passward:"+param.args[1]);

这一招搞它的第二个输入。

然后最后一招。

XposedBridge.log("ZHUZHU520:end???:"+param.getResult());

这一招就是拦截返回值。

小白啊,这里有一个需要思考的内容。

这样hook的意义或者作用是什么?

小白的思考

师傅,我觉得首先,这样可以拦截下输入的参数,还有返回的值。如果在hook里做一个转发信息的技能。那不就可以成功的对登录账户的人进行账号和密码的获取。

这不就是和钓鱼一样了嘛。

我觉得这是一个很大的漏洞,如果登录厂商没有做相应的处理,那这里我可以拿这个搞死他。

好了,小白,你说的很对,我们现在来对这个进行下测试吧。

f 木桩测试

Was ist die Methode des Reverse Engineering in Android?

小白啊,你看这里我们就成功的拦截内容了。小白分配给你一个任务,使用hook f来拦截木桩,并确保不管我是否输入正确,木桩能够成功登录。

0x04 木桩f进阶(小白的自我进步)

XposedBridge.log("ZHUZHU520:end???:"+param.getResult());

思考一

师傅之前使用了一个param.getResult()获取了返回值,那我是不是可以使用相同的set方法,重新对这个进行赋值啊。

根据各种方式,我们知道了这里的返回值就是Z,也就是布尔型。

说干就干,争取f掉木桩。

Was ist die Methode des Reverse Engineering in Android?

Das obige ist der detaillierte Inhalt vonWas ist die Methode des Reverse Engineering in Android?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen