Android Hack Book Software Version

ေတာင္းဆိုခ်က္မ်ားေပးပို႔ရန္နွိပ္ပါ

တန္ဖိုး၊၊ ၊၊ တစ္ေသာင္းက်ပ္

    Android Hack Book Content

    ဘာေၾကာင့္ Android Hack ကို ေရးရတာလဲ

  1. Android ႏွင့္ပတ္သက္သည့္ျပႆနာမ်ား
    Information Security (သတင္းအခ်က္အလက္လံုျခံဳေရး)
    စာအုပ္အတြင္းပါ၀င္သည့္အခန္းမ်ား
    ဒီစာအုပ္ကို ဘယ္သူေတြဖတ္သင့္လည္း
    ဒီစာအုပ္ထဲမွာ ဘာအေၾကာင္းေတြပါလဲ
    ဒီစာအုပ္ကိုေလ့လာဖို႔ဘာေတြလိုအပ္လဲ
    Android Hack စာအုပ္မွ ေပးစြမ္းႏုိင္သည့္အက်ဳိးရလဒ္

    အခန္း ၁

    Android အတြင္းပိုင္းအေၾကာင္း
    Linux Kernel အေၾကာင္း
    Bootstranning အေၾကာင္း
    Custom Bootloader ထည့္သြင္းျခင္း
    Bootloader Process အဆင့္ဆင့္အလုပ္လုပ္ပံုအားေလ့လာျခင္း
    Custom Recoveries အေၾကာင္း

    အခန္း ၂

    Android Device အား Root ေဖာက္ျခင္း
    ဘာေၾကာင့္ Root ေဖာက္ရသလဲ
    Device ရဲ႕သက္တမ္းကိုျမႇင့္တင္လုိျခင္း
    OEM အမွားမ်ားကိုျပဳျပင္လုိျခင္း
    စြမ္းေဆာင္ရည္ျမႇင့္တင္ျခင္း
    Device အား စိတ္ႀကိဳက္ျပင္ဆင္ျခင္း
    Data မ်ား Backup ျပဳလုပ္ျခင္း
    Contact Information
    Application ႏွင့္ သူတို႔ Data မ်ားအား Backup လုပ္ျခင္း
    SD Card ေပၚမွ Data မ်ား
    Root ေဖာက္ၿပီး OEM ေတြရဲ႕ ထိန္းခ်ဳပ္မႈမွ ႐ုန္းထြက္ျခင္း
    OEM Flash Software မ်ား
    Exploits Script အေၾကာင္း
    Native Fastboot Flash
    Scripted and One-Click Methods
    ဖုန္းႏွစ္လံုးအား Root ေဖာက္ၾကည့္ျခင္း
    Nexus One
    HTC Thunderbolt
    အခန္း ၃ - သံုးသြားမည့္ tools မ်ား
    သိထားရမည့္ လုပ္ေဆာင္ခ်က္မ်ား
    Phone ႏွင့္ Computer ခ်ိတ္ဆက္ျခင္း
    Hacking အသံုးျပဳ tools မ်ား
    USB ႀကိဳး
    USB Debugging
    ဘယ္စနစ္က Android ကို အလုပ္လုပ္ေစတာလဲ
    Android Service အား ျပန္လည္စတင္ေစျခင္း
    ဖုန္းႏွင့္ကြန္ပ်ဴတာၾကားဖုိင္မ်ား ေပးပို႔ရယူျခင္း
    Rebotting a Device
    Harnessing The Power of Pingue With ADB shell
    File System Navigation
    File စီစဥ္ျခင္း
    File Permissions ေျပာင္းလဲျခင္း
    Redirection and Piping
    Busy Box : Giving the Pingue back it power
    dd command
    echo command
    md5sum command

    အခန္း ၄ - Root ေဖာက္၍ Custom Recovery ထည့္သြင္းျခင္း

    Exploits ကို ဘယ္လုိသံုးမလဲ
    Exploit scripts
    Exploit Application
    Script (သုိ႔) Application အား အသံုးျပဳျခင္း
    Hacking Utilities
    အမွာစာ
    OEM Tools ျပန္မ်ား
    Developer Utilities
    Image Files
    Recovery Mode
    Recovery Mod ဆုိတာ ဘာလဲ
    Custom Recovery အသံုးျပဳျခင္း
    Clock Work Mod Recovery အသံုးျပဳျခင္း
    Rebooting the Device
    ဖုန္းအား SD Card ကေန Update လုပ္ျခင္း
    ဖုန္းအား Factory Reset ခ်ျခင္း
    Cache ျဖတ္ျပစ္ျခင္း
    SD Card မွ Zip ဖုိင္ ထည့္သြင္းျခင္း
    Advanced Functions
    Backup and Desaster Recovery
    Precautions for Success and Data Recovery
    Applications Backup လုပ္ျခင္း
    Backing Up Through a Recovery Process
    Backin Up Through an Application
    အေျခအေနအရမ္းဆုိးသြားရင္ ျပင္ဆင္နည္း

    အခန္း ၅ - Theme တည္ေဆာက္ျခင္း

    ဖုန္းသံုးရပုိအဆင္ေျပရန္ အသြင္ေျပာင္းလဲျခင္း
    Launcher တည္ေဆာက္ျခင္း
    Theming with Add-on Launcher
    Theme တည္ေဆာက္ရာတြင္ အသံုးျပဳသြားမည့္ tools မ်ား
    APK Manager
    Android SDK
    Eclipe
    A ROM of Your Choice
    7-Zip
    Paint Net
    Update Zip Creator
    Amend2Edify
    Editing Process
    Theme Files တည္ေဆာက္ျခင္းအဆင့္ဆင့္
    Flashable Zip File ဖန္တီးျခင္း

    အခန္း ၆ - Superuser ျဖစ္ၿပီးသြားရင္ ဘာဆက္လုပ္မလဲ

    Populate Multi-Device Custom Rom
    Cynogen Mod
    Android Kang Project
    Vallian Rom
    Kernel Tweaks
    Backlight Notifications
    Voodoo Enhancements
    Performance and Battery Life Tweaks
    Root Applications
    Set CPU
    Adfree Android
    Chain Fire 3D
    Titanium Backup

    အခန္း ၇ - HTC EVO 3D : A Locked Device

    HTC EVO 3D : A Locked Device
    Temporary Root ရယူျခင္း
    Using S-Off ႏွင့္ Parmenant Rot အတြက္ လုိအပ္ခ်က္မ်ား
    Revoluntionary Tool အသံုးျပဳျခင္း
    Custom Recovery ထည့္သြင္းျခင္း
    Super User Binary ထည့္သြင္းျခင္း
    Superuser Application ထည့္သြင္းျခင္း

    အခန္း ၈ - Nexus – One An Unlokable Bootloader

    အသံုးျပဳႏိုင္သည့္ Root Methdos မ်ား
    လုပ္ငန္းစဥ္အတြက္ လုိအပ္ခ်က္မ်ား
    အဆင့္ဆင့္လုပ္ကိုင္ျခင္း
    Nexus One အား Fastboot Mode တြင္ထားးျခင္း
    Boot partition အား Flash လုပ္ျခင္း
    Root Access လုပ္ျခင္းအျပည့္အ၀ရယူျခင္း
    Custom Recovery ထည့္သြင္းျခင္း

    အခန္း ၉ - HTC Thunder Bolt

    အသံုးျပဳႏုိင္သည့္ Root Methods မ်ား
    လုပ္ငန္းစဥ္အတြက္ လုိအပ္ခ်က္မ်ား
    အဆင့္ဆင့္လုပ္ကိုင္ျခင္း
    ဖုန္းထဲသို႔ ဖုိင္ထည့္သြင္းျခင္း
    Temporary Root ရယူျခင္း
    MD 5 Signature အား စစ္ေဆးျခင္း
    Temporary Bootloader ေရျခင္း
    Firmware အဆင့္ႏွိမ့္ျခင္း
    MMC ကို lock ဖြင့္ရန္ Temporary Root ရယူျခင္း
    Firmware အဆင့္ျမင့္ျခင္း

    အခန္း ၁၀ - Droid Charge : ODIN ႏွင့္ Flash လုပ္ျခင္း

    အသံုးျပဳႏုိင္သည့္ Root Methods မ်ား
    လုပ္ငန္းစဥ္အတြက္ လုိအပ္ခ်က္မ်ား
    အဆင့္ဆင့္လုပ္ကိုင္ျခင္း
    ဖုန္းႏွင့္ ODIN ခ်ိတ္ဆက္ျခင္း
    ဖုန္းအား Flash လုပ္ျခင္း
    အမွားရွာျခင္း

    အခန္း ၁၁ - Nexus S : An Unlocked Device

    ဖုန္းႏွင့္ ကြန္ပ်ဴတာခ်ိတ္ဆက္ျခင္း
    လုပ္ငန္းစဥ္အတြက္ လုိအပ္ခ်က္မ်ား
    အဆင့္ဆင့္လုပ္ကိုင္ႏုိင္ျခင္း
    Device အား Lock ဖြင့္ျခင္း
    Device အား Recovery လုပ္ျခင္း
    Device အား Super User Application ႏွင့္ Flash လုပ္ျခင္း

    အခန္း ၁၂ - Motorola Xoom

    လုပ္ငန္းစဥ္အတြက္ လိုအပ္ခ်က္မ်ား
    အဆင့္ဆင့္လုပ္ကိုင္ျခင္း
    SD Card ထဲသို႔ Root File ထည့္သြင္းျခင္း
    Xoom အား Lock ဖြင့္ျခင္
    Device အား Recovery Flash လုပ္ျခင္း

    အခန္း ၁၃ - Nook Color : Bootable SD Card သံုး၍ Root ေဖာက္ျခင္း

    လုပ္ငန္းစဥ္အတြက္ လုိအပ္ခ်က္မ်ား
    အဆင့္ဆင့္လုပ္ကိုင္ျခင္း
    Bootable SD Card ဖန္တီးျခင္း
    Device အား SD Card မွ Boot တက္ေစျခင္း
    Device အား အသံုးျပဳရပိုေကာင္းေအာင္ဖန္တီးျခင္း

    အပုိင္း ၂

    အခန္း ၁ - Ecosystem အား ေလ့လာျခင္း

    Android ရင္းျမစ္အားနားလည္ျခင္း
    Company History
    Version History
    အမွာစာ
    Device Pool စစ္ေဆးေလ့လာျခင္း
    Open Source, Mostly
    Android ျဖစ္တည္မႈအတြက္ ေထာက္ကန္ေပးထားသည့္အဖဲြ႕အစည္းမ်ား
    Google
    Hardware ထုတ္လုပ္သူမ်ား
    အမွာစာ
    Carriers
    Developers
    User
    Grasping Ecosystem Complexities
    Fragmentation
    Compatibility
    Update Issues
    Security Versus Openness
    Public Disclosures
    အက်ဥ္းခ်ဳပ္

    အခန္း ၂ - Android Security Design ႏွင့္ Architecture

    Android System အား နားလည္ျခင္း
    လံုျခံဳေရးကန္႔သတ္ခ်က္ႏွင့္ထိန္းခ်ဳပ္မႈအားနားလည္ျခင္း
    Android’s Sandbox
    Android Permissions
    Looking Closer at the Layers
    Android Applications
    Dalvik Virtual Machine
    User Space Native Code
    The Kernel
    Complex Security, Complex Exploits
    အက်ဥ္းခ်ဳပ္

    အခန္း ၃ - Device အား Root ေဖာက္ျခင္း

    Partition Layout မ်ားအေၾကာင္းနားလည္ေစျခင္း
    Boot Process အေၾကာင္းနားလည္ေစျခင္း
    Download Mode သုိ႔ ၀င္ေရာက္ျခင္း
    Locked and Unlocked Bootloaders
    Stock and Custom Recovery Images
    Unlocked Bootloader ႏွင့္ Root ေဖာက္ျခင္း
    Locked Bootloader ႏွင့္ Root ေဖာက္ျခင္း
    Booted System ေပၚမွာ Root access ရရွိျခင္း
    NAND Locks, Temporary Root, and Permanent Root
    လူသိမ်ားတဲ့သမုိင္း၀င္တုိက္ခုိက္မႈမ်ား
    Kernel : Wunderbar / asroot
    Recovery : Volez
    Udev : Exploit
    Adbd: Rage Against The Cage
    Zygote : Zimperlich and Zysploit
    Ashmem : Killing IN The Name of and Psneuter
    Vold : Ginger Break
    Power VR : levitator
    Libsysutils : zerg Rush
    Kernel : mempodroid
    File Permission and Symbolic Link – Related Attacks
    Adb Restore Race Condition
    Exynos4 : exynos-abuse
    Diag : lit / diaggetroot
    အက်ဥ္းခ်ဳပ္

    အခန္း ၄ - Application Security အေၾကာင္းေလ့လာၾကည့္ျခင္း

    Common Issues
    App Permission Issues
    Insecure Transmission of Sensitive Data
    Insecure Data Storage
    Information Leakage Through Logs
    Unsecrued IPC Endopoints
    Case Study : SIP Client
    Enter Drozer
    Discovery
    Snarfing
    Injection
    အက်ဥ္းခ်ဳပ္
    aaaaa

    အခန္း ၅ - Android Attack Surface အေၾကာင္း နားလည္ေစျခင္း

    Attack Terminology Primer
    Attack Vectors
    Attack Surfaces
    Classifying Attack Surfaces
    Surface Properties
    Classification Decisions
    Remote Attack Surfaces
    Networking Concepts
    Networking Stacks
    Exposed Network Services
    Mobile Technologies
    Client-side Attack Surface
    Google Infrastructure
    Physical Adjacency
    Wireless Communications
    Other Technologies
    Local Attack Surfaces
    Exploring the File System
    Finding Other Local Attack Surfaces
    Physical Attack Surfaces
    Dismantling Devices
    USB
    Other Physical Attack Surfaces
    Third-Party Modifications
    အက်ဥ္းခ်ဳပ္

    အခန္း 6 – Testing လုပ္၍ ထုိးေဖာက္ႏုိင္မည့္အားနည္းခ်က္မ်ားရွာေဖြျခင္း

    Fuzzing Background
    Identifying Malformed Inputs
    Processing Inputs
    Monitoring Res
    Fuzzing on Android
    Fuzzing Broadcast Receivers
    Identifying a Target
    Generating Inputs
    Delivering Inputs
    Monitoring Testing
    Fuzzing Chrome for Android
    Selecting a Technology to Target
    Generating Inputs
    အက်ဥ္းခ်ဳပ္

    အခန္း ၇ - ထုိးေဖာက္ႏုိင္မည့္အားနည္းခ်က္မ်ားအား ခဲြျခမ္းစိတ္ျဖာေလ့လာျခင္း Debugging လုပ္၍ အမွားရွာျခင္း

    အခ်က္အလက္စုေဆာင္းျခင္း
    အသံုးျပဳသြားမည့္ Tool မ်ားေရြးခ်ယ္ျခင္း
    Crash Dumps မသံုး၍ Debugging လုပ္ျခင္း
    System Logs
    Tombstones
    Remote Debugging
    Debugging Dalvik Code
    Debugging an Example App
    Showing Framework Soruce Code
    Debugging Existing Code
    Native Code သံုး၍ Debug လုပ္ျခင္း
    NDK ႏွင့္ Debug လုပ္ျခင္း
    Eclipse ႏွင့္ Debug လုပ္ျခင္း
    AOSP ႏွင့္ Debug လုပ္ျခင္း
    အလုိအေလ်ာက္အလုပ္လုပ္ႏုိင္စြမ္းျမႇင့္တင္ျခင္း
    Symbols ႏွင့္ Debug လုပ္ျခင္း
    Non-AOSP Device အား Debug လုပ္ျခင္း
    Mixed Code သံုး၍ Debug လုပ္ျခင္း
    အျခား Debug လုပ္သည့္နည္းမ်ား
    Debug Statements
    aaaaa
    Device ေပၚတြင္ Debug လုပ္ျခင္း
    Dynamic Binary Instrumentation
    အားနည္းခ်က္မ်ားအေသးစိတ္ရွာေဖြျခင္း
    အဓိကျဖစ္စဥ္ကို ဆံုးျဖတ္ျခင္း
    Judging Exploitability
    အက်ဥ္းခ်ဳပ္

    အခန္း ၈ - အသံုးျပဳ Layer မွ Software မ်ားအား Exploating လုပ္ျခင္း

    Memory Corruption Basics
    Memory Corruption Basics
    Stack Buffer Overflows
    Heap Exploitation
    A History of Public Explois
    Ginger Break
    Zerg Rush
    Mempodroid
    Exploiting the Android Browser
    Understanding the Bug
    Controlling the Heap
    အက်ဥ္းခ်ဳပ္

    အခန္း ၉ - oriented Programming အေၾကာင္း

    Hisotry and Motivation
    Separate Code and Instruction Cache
    Basics of ROP on ARM
    ARM Subroutine Calss
    Combining Gadgets into a Chain
    Identifying Potential Gadgets
    Case Study : Android 4.0.1 Linker
    Pivoting the Stack Pointer
    Executin Arbitrary Code from a New Mapping
    အက်ဥ္းခ်ဳပ္

    အခန္း ၁၀ - Kernel အား တုိက္ခုိက္ျခင္း

    Android’s Linux Kernel
    Extracting Kernels
    Stocks မွ Kernel ထုတ္ယူျခင္း
    Boot Image မွ Kernerl ထုတ္ယူျခင္း
    Decompressing the Kernel
    Running Custom Kernel Code
    Source Code ရယူျခင္း
    Build Environment တည္ေဆာက္ျခင္း
    Configuring the Kernel
    Kernel Modules အသံုးျပဳျခင္း
    Custom Kernel တည္ေဆာက္ျခင္း
    Creating a Boot Image ဖန္တီးျခင္း
    Custom Kernel အေၾကာင္းအား Boot တင္ျခင္း
    Kernel တင္ျခင္းအား Debugging လုပ္ျခင္း
    Kernel Crash Reports ရယူျခင္း
    Oops အား နားလည္ေအာင္ေလ့လာၾကည့္ျခင္း
    KGDB ႏွင့္ Debug လုပ္ျခင္း
    Exploiting the Kernel
    Typical Android Kernels
    Extracting Address
    အေသးစိတ္ေလ့လာျခင္း
    အက်ဥ္းခ်ဳပ္

    အခန္း ၁၁ - Radio Interface Layer တုိက္ခုိက္ျခင္း

    RIL မိတ္ဆက္
    RIL တည္ေဆာက္ပံု
    Smartphone တည္ေဆာက္ပံု
    The Android Telelphony Stack
    Telephony Stack စိတ္ႀကိဳက္ျပင္ဆင္ျခင္း
    Short Message Service (SMS)
    Sandboxing
    Source Code အတုျပဳလုပ္ျခင္း
    ၀င္ေရာက္ခြင့္တားျမစ္သည့္နည္း
    Kernel အား ကာကြယ္ျခင္း
    Pointer and Log Restrictions
    Zero Page အား ကာကြယ္ျခင္း
    Read-Only Memory Regions
    Other Hardening Measures
    Exploit Mitigations
    Disabling Mitigation Features
    Changing Your Personality
    Altering Binaries
    Tweaking the Kernel
    Overcoming Exploit Mitigations
    Stack ထိန္းခ်ဳပ္မႈအား ေက်ာ္ျဖတ္ျခင္း
    ASLR ထိန္းခ်ဳပ္မႈအားေက်ာ္ျဖတ္ျခင္း
    Data Execution ထိန္းခ်ဳပ္မႈအားေက်ာ္ျဖတ္ျခင္း
    Kernel ထိန္းခ်ဳပ္မႈအားေက်ာ္ျဖတ္ျခင္း
    Looking to the Future
    Official projects Underway
    Community Kernel Hardening Efforts
    A Bit of Speculation

    အခန္း ၁၃ - Hardware အား တုိက္႐ုိက္တုိက္ခုိက္ျခင္း

    Interfacing with Hardware Devices
    UART Serial Interfaces
    12C, SPI, and One-Wire Interfaces
    JTAG
    Finding Debug Interfaces
    Identifying Components
    Getting Specifications
    Difficulty Identifying Components
    Intercepting, Monitoring, and Injecting Data
    USB
    12C, SPI, and UART Serial Interfaces
    Stealing Secrets and Firmware
    Accessing Firmware Unobtrusively
    Destructively Accessing the Firmware
    What Do You Do with a Dump?
    Pitfalls
    Custom Interfaces
    Binary/Properietary Data
    Blown Debug Interfaces
    Chip Passwords
    Bootloader Passwrds, Hotkeys, and Silent Terminals
    Customized Boot Sequences
    Unexposed Address Lines
    Anti-Reversing Epoxy
    Image Encrytion, Obfuscation, and Anti-Debugging
    အက်ဥ္းခ်ဳပ္