Reverse engineering aps Flashcards

(20 cards)

1
Q

What command is used to find APK files?

A

$ find . -name “*.apk”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the output of the command ‘file ./app/build/outputs/apk/debug/app-debug.apk’?

A

./app/build/outputs/apk/debug/app-debug.apk: Zip archive data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What command is used to unzip an APK file?

A

$ unzip app-debug.apk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the file type of AndroidManifest.xml?

A

AndroidManifest.xml: Android binary XML

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What tool is recommended for reverse engineering APKs?

A

https://apktool.org/

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What command is used to decode an APK with Apktool?

A

$ apktool d ../app/build/outputs/apk/debug/app-debug.apk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the output of the command ‘file app-debug/AndroidManifest.xml’?

A

app-debug/AndroidManifest.xml: XML 1.0 document text

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How can you find your classes in an APK?

A

$ find . -name “MainActivity*”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does the command ‘invoke-direct {v1, p0}’ do?

A

It calls the constructor of a class.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How can you obtain APKs for real apps?

A

Download from app store, e.g. via Chrome extension ‘APK Downloader’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a safer way to install APKs?

A

Install on phone/emulator, use adb.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What command lists packages on an Android device?

A

adb shell pm list packages

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How do you download an APK from your phone?

A

Use the command: adb pull /data/app/com.example.app.apk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the implication of apps from the same producer communicating?

A

They could potentially collude.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Why capture network traffic from an app?

A

To see what an app is doing or to recreate functionality.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a problem with capturing network traffic?

A

TLS encryption makes it difficult.

17
Q

What tools can be used for capturing TLS encrypted traffic?

A

Wireshark & mitmproxy

18
Q

What is a man-in-the-middle attack?

A

It involves intercepting and decrypting traffic between two parties.

19
Q

What is a countermeasure against man-in-the-middle attacks?

A

Certificate pinning.

20
Q

What is required for the phone to trust a proxy’s certificate?

A

The phone needs to trust the certificate authority (CA).