Hướng dẫn chèn code vào đoạn mã smali của file apk.

Thảo luận trong 'Virus/Malware' bắt đầu bởi Malware, 20/05/15, 06:05 PM.

  1. Malware

    Malware Wh------

    Tham gia: 08/01/15, 11:01 AM
    Bài viết: 56
    Đã được thích: 38
    Điểm thành tích:
    48
    Hướng dẫn chèn code vào đoạn mã smali của file apk.


    I. Mở đầu
    _ Ứng dụng Android thường được viết bằng Java và thực thi trên Virtual Machine, byte code chạy trên Dalvik Virtual Machine (DVM) được chuyển đổi từ JVM byte code truyền thống sang dex-format(.dex file) bởi convertion tool dx (lưu trữ tại android-sdk/platforms/android-X/tools/lib/ với các phiên bản trước đây, ở phiên bản Android SDK mới nhất được lưu tại android-sdk/platform-tools/lib/).
    _ Mã code thực thi trên DVM được gọi là mã Smali, có tập lệnh phức tạp giống như Assembly trên Windows. Để đọc và hiểu mã Smali là một việc không hề dễ dàng.
    _ Việc chèn code java vào một ứng dụng Android có sẵn khá phức tạp do cấu trúc ngôn ngữ java khi decompile sẽ không được bảo toàn nguyên vẹn, khó có thể re-build lại ứng dụng để hoạt động bình thường.
    _ Tuy nhiên, chèn code smali vào ứng dụng là một việc khả thi, ta hoàn toàn có thể re-build lại ứng dụng để chạy bình thường. Đây là cách thông dụng khi cần mod ứng dụng, ROM, …
    _ Các hacker hoặc những người có ý đồ xấu hoàn toàn có thể chèn code smali vào ứng dụng nào đó nhằm thực hiện một hành vi độc hại nào đó.
    II. Yêu cầu:
    · Android SDK, virtual emulator hoặc 1 device thật
    · JAVA SDK
    · NotePad ++
    · Nắm được kiến thức cơ bản về Android, cấu trúc file apk, tập lệnh smali · Apktool & baksmali/smali + Signer for all GB/ICS/JB/KK ROM v3 (4.4 Kitkat support/optimized) ( )

    III. Các bước thực hiện

    1. Dùng apktool hoặc công cụ baksmali disassemble file apk thành các file smali.
    [​IMG]
    2. Phân tích code smali để biết cách hoạt động của ứng dụng
    [​IMG]

    3.
    Chèn code vào file smali.
    [​IMG]

    4. Thực hiện Reassemble file apk và zip/ sign apk.
    [​IMG]








    IV.
    Minh họa

    _ Chèn code vào ứng dụng Mobile Defender – một ứng dụng antivirus giả mạo, điều hướng người sử dụng đến trang web http://pdblprotect.com
    _ Mình sử dụng apktool thay cho công cụ smali/ backsmali đơn thuần vì nó decompile file apk thành các file smali, resource, AndroidManifest nên rất thuận tiện cho việc phân tích code smali.

    1. Decompile file apk

    _ Download bộ công cụ Recompile & Decompile ở trên, giải nén, copy file apk vào thư mục apktool.
    _ Mở cmd tại thư mục apktool, chạy dòng lệnh :

    [​IMG]

    Code:
    _Thu được thư mục:

    [​IMG]

    _Cấu trúc thư mục:


    [​IMG]

    2. Phân tích ứng dụng
    _Phân tích AndroidManifest.xml để nắm được các permission, receiver, MainActivity .. của ứng dụng.
    _Các file smali cần phân tích nằm trong thư mục smali:

    [​IMG]


    _ Dựa vào AndroidManifest ta xác định được MainActivity :

    _Phân tích AndroidManifest ta chú ý đến permission :
    _Qua khảo sát một số activity của ứng dụng, phát hiện trong PayFormActivity.smali có sử dụng đối tượng lớp WebView dẫn người sử dụng truy cập đến một trang web nào đó

    [​IMG]


    _Ta sẽ chèn code vào trong file smali này để ‘bắt’ được đoạn link mà ứng dụng sử dụng.
    3. Chèn code

    Ta sẽ chèn đoạn một code vào trong đoạn code smali ở trên nhằm hiện một AlertDialog thông báo đường link mà ứng dụng truy cập.

    Code:

    _vị trí cần chèn

    [​IMG]


    ++Chú ý:
    _Để tránh việc khi rebuild lại ứng dụng không chạy được, cần đọc qua từng lệnh smali trong code gốc để có cách sử dụng hợp lý các biến cục bộ (số biến cục bộ được khai báo trong thân từng hàm).
    _Để tạo code smali, cách đơn giản nhất bạn hãy dùng một IDE như Eclipse hoặc Android Studio, build một đoạn code với nội dung mong muốn, rồi decompile file apk để lấy code smali tương ứng!

    4. Recompile file apk
    _Sau khi chèn code vào file smali, chạy apktool để rebuild file apk:
    Code:

    [​IMG]


    _ File apk thu được nằm trong đường dẫn :
    5. Sign apk
    Sign apk để đảm bảo mỗi ứng dụng Android có một chữ kí riêng biệt, trước khi có thể cài đặt vào thiết bị.
    Code:

    _ Copy file apk thu được từ bước 4 để vào folder Sign & Zipalign tool đã giải nén ở trên

    [​IMG]

    _Ta thu được file fake_av_s.apk


    6. Zipalign file apk
    Zipalign nhằm nén và tối ưu hóa cấu trúc file apk.
    Code:


    [​IMG]


    _ Đưa file apk fake_av_z.apk thu được vào smartphone hoặc emulator để xem kết quả. :D

    Kết quả


    _Ứng dụng Mobile Defender khi chưa chèn code smali

    [​IMG]

    _ Ứng dụng đã được chèn một đoạn AlertDialog cảnh báo url link mà ứng dụng đang truy cập.

    [​IMG]

    Cám ơn các bạn đã theo dõi bài viết.
     
    Last edited by a moderator: 21/05/15, 09:05 AM
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  2. dambsls

    dambsls New Member

    Tham gia: 21/05/18, 01:05 PM
    Bài viết: 2
    Đã được thích: 0
    Điểm thành tích:
    1
    Capture.PNG
    mình cần giúp đỡ mình gõ lệnh apktool d không có như này đây là zalo của mình 01649669380 giúp mình vớ thanks nhiều
     

    Các file đính kèm:

    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  3. dambsls

    dambsls New Member

    Tham gia: 21/05/18, 01:05 PM
    Bài viết: 2
    Đã được thích: 0
    Điểm thành tích:
    1

    cho mình xin zalo với mình cần giúp đỡ
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  4. phieulang1993

    phieulang1993 W-------

    Tham gia: 03/02/15, 07:02 AM
    Bài viết: 36
    Đã được thích: 14
    Điểm thành tích:
    18
    Cho mình hỏi là mấy cái hình vmware có liên quan gì tới bài viết không?
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  5. whf

    whf Super Moderator Thành viên BQT

    Tham gia: 06/07/13, 03:07 AM
    Bài viết: 1,137
    Đã được thích: 744
    Điểm thành tích:
    113
    Mấy cái hình Vmware là bị lỗi trong quá trình nâng cấp forum trước đây đó bạn.
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  6. WhiteHat News #ID:2017

    WhiteHat News #ID:2017 WhiteHat Support

    Tham gia: 20/03/17, 10:03 AM
    Bài viết: 331
    Đã được thích: 106
    Điểm thành tích:
    43
    Ảnh bị lỗi trong quá trình nâng cấp forum đã được sửa các bạn nhé :)
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    whf thích bài này.