How to access “AndroidMenifest.xml”

บทนำ (Overview)

“AndroidMeifest.xml” สามารอ่านได้จาก “Source-code” ที่เราเขียน หรือจากการทำ “Reverse engineering” สามารถอ่านได้จากบทความ How to reverse engineer .apk (picked from installation)

ขั้นตอน (Steps)

  1. สามารถเปิดไฟล์”AndroidMeifest.xml”  จากบทความข้างต้น
  2. ตัวอย่างเช่น
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.itselectlab.test" >
    
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
        <!-- To auto-complete the email text field in the login form with the user's emails -->
        <uses-permission android:name="android.permission.GET_ACCOUNTS" />
        <uses-permission android:name="android.permission.READ_PROFILE" />
        <uses-permission android:name="android.permission.READ_CONTACTS" />
    
        <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" >
            <activity android:name=".MainActivity" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".LoginActivity" android:label="@string/title_activity_login" >
            </activity>
            <activity android:name=".AboutActivity" android:label="@string/title_activity_about" android:theme="@style/AppTheme.NoActionBar" >
            </activity>
        </application>
    </manifest>
    
  3. จากไฟล์ข้างต้นเราจะพบชื่อแพ็กเกจซึ่งจะต้องมีอยู่ในทุก ๆ “android application” ซึ่งก็คือ “com.itselectlab.test”
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.itselectlab.test" >
    </manifest>
    
  4. และจากนั้นเมื่อเราสังเกตุในส่วนของ “Activity” จะพบชื่อ class ต่าง ๆ ดังนี้
            <activity android:name=".MainActivity" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".LoginActivity" android:label="@string/title_activity_login" >
            </activity>
            <activity android:name=".AboutActivity" android:label="@string/title_activity_about" android:theme="@style/AppTheme.NoActionBar" >
            </activity>
    
  5. ในตัวอย่างข้างต้นมี 3 activity ที่มี 3 class ดังนี้
    • MainActivity
    • LoginActivity
    • AboutActivity
  6. จากข้อมูลข้างต้นเราพอจะคาดเดาได้ว่ามี  “class” ใดบ้างที่อาจจะ “sensitive” เช่น “class” ที่อยู่หลัง “login” เป็นต้น

ใส่ความเห็น