Trang Chủ Đồng hồ an ninh Rsac: thiết kế ngược một ứng dụng Android trong năm phút

Rsac: thiết kế ngược một ứng dụng Android trong năm phút

Video: Cáºu bé nghèo được lắp chân giả sau 17 năm bò bằng đầu gối (Tháng Chín 2024)

Video: Cáºu bé nghèo được lắp chân giả sau 17 năm bò bằng đầu gối (Tháng Chín 2024)
Anonim

Một trong những chiến thuật phổ biến nhất để phát tán phần mềm độc hại, hoặc thậm chí chỉ là các ứng dụng xấu trên Android là đóng gói lại các ứng dụng. Trong bài thuyết trình Hội nghị RSA của mình, Pau Oliva Fora từ viaForensics đã chứng minh rằng chỉ mất vài phút để đảo ngược các ứng dụng Android.

Tải ứng dụng của bạn

Bước đầu tiên để thiết kế ngược một ứng dụng, theo Fora, là tự mình lấy một ứng dụng. Mặc dù chúng trông bóng bẩy trên điện thoại của bạn, các ứng dụng Android (hoặc APK) thực sự chỉ là các tệp ZIP với tiện ích mở rộng mới. Bên trong là tất cả mọi thứ mà ứng dụng cần để chạy từ mã đến bất kỳ phương tiện nào nó có thể cần.

Có một số cách để có được một APK. Nếu bạn có một ứng dụng bạn muốn thiết kế ngược trên Android, bạn có thể sử dụng trình quản lý tệp như ASTRO để lưu bản sao lưu vào thẻ SD. Cũng có thể kết nối Android của bạn với máy tính và sau đó sử dụng Cầu gỡ lỗi Android để chuyển ứng dụng sang PC. Bạn cũng có thể sử dụng các công cụ trực tuyến để hút APK ra khỏi Google Play.

Kéo nó ra xa nhau

Khi bạn có APK để làm việc, bạn sẽ cần chuyển đổi nó thành thứ gì đó hữu dụng hơn. Đối với điều này, Fora trình bày hai lựa chọn. Bạn có thể tháo rời mục tiêu của mình bằng một công cụ như Apktool, công cụ này sẽ chuyển đổi tệp mã ứng dụng được biên dịch của APK (Dalvik Executable hoặc DEX) thành ngôn ngữ lắp ráp như Smali. Hoặc bạn có thể dịch ngược, chuyển đổi DEX thành Lưu trữ Java (JAR) và sau đó thành Java.

Fora lưu ý rằng vì một số dữ liệu có thể bị mất trong quá trình dịch ngược, tốt hơn là nên sử dụng trình dịch ngược được tạo từ Android. Thao tác này bỏ qua bước JAR, chuyển đổi DEX trực tiếp sang Java.

Đối với những người không quan tâm đến việc tự mình theo dõi tất cả các công cụ đó, Fora đã đề xuất Santoku. Đây là một bản phân phối Linux đặc biệt từ viaForensics được cài đặt sẵn tất cả các công cụ bạn cần để tách rời, sửa đổi và đóng gói lại một ứng dụng Android. Đây là một công cụ pháp y kỹ thuật số mạnh mẽ mà chúng ta đã viết trong quá khứ.

Đảo ngược nhanh chóng

Nếu bạn ngủ thiếp đi trong vài đoạn cuối, đây là lúc bạn thức dậy. Sử dụng Santoku, Fora đã giành được một ứng dụng Android rất cơ bản do anh ta tạo ra và tách nó ra. Sau đó, anh duyệt mã cho một dòng cụ thể, sửa đổi mã, đóng gói lại, ký tên, cài đặt lại ứng dụng đã sửa đổi trên Android của mình và khởi chạy nó. Toàn bộ quá trình mất chưa đầy năm phút.

Bây giờ, Fora là một ví dụ rất đơn giản. Ứng dụng này rất cơ bản và không bao gồm mã bị xáo trộn. Tuy nhiên, cuộc biểu tình của ông có ý nghĩa mạnh mẽ. "Bạn có thể làm điều này để thay đổi hành vi của bất kỳ ứng dụng Android nào", Fora, liệt kê cuộc sống vô hạn trong một trò chơi hoặc các tính năng phải trả tiền trong một ứng dụng miễn phí chỉ là một vài ví dụ.

Một ví dụ đáng sợ hơn? Đơn giản chỉ cần đưa tâm trí của bạn trở lại bất kỳ ứng dụng nhân bản độc hại nào chúng ta đã thấy. Hãy suy nghĩ về điều này trước khi bạn tải xuống bản sao FlappyBird sơ sài đó.

Rsac: thiết kế ngược một ứng dụng Android trong năm phút