2011-10-24 33 views
5

Tôi đã chơi xung quanh bằng/gỡ lỗi/giải mã các tệp nhị phân trên iPhone.Giải mã thực thi trên iPhone (MACH-O)

Trở ngại đầu tiên là các tệp nhị phân được mã hóa và trình phân tách không thể đọc chúng. Điều này có thể được khắc phục bằng cách bán phá giá nội dung tệp được giải mã từ gdb.

Câu hỏi của tôi là về giải mã của mã nhị phân (được thực hiện một cách nhanh chóng khi bắt đầu chương trình) cho tất cả MACH-O thực thi mà có encryption_id trong phần LC_ENCRYPTION_INFO, thiết lập để 1.

  1. là có một công cụ giải mã tệp cho bạn? Bất kỳ đề xuất?
  2. có sẵn thông tin về quy trình hoạt động không? Dường như mã hóa AES là ? Phím nào được sử dụng? Có dễ dàng sao chép với chương trình riêng của bạn không? ?

Cảm ơn mọi con trỏ!

+0

Vì vậy, những gì bạn đang hỏi về là như thế nào để crack các nhà phát triển các ứng dụng khác? Tôi không chắc liệu StackOverflow có phải là nơi thích hợp để đặt câu hỏi này vì nó tập trung chủ yếu vào việc phát triển mọi thứ - chứ không phải các ứng dụng kỹ thuật đảo ngược được phát triển bởi người khác. Tôi nghĩ bạn có thể giỏi hơn ở một trang web tin tặc hoặc vi phạm bản quyền. –

+2

Thật sao? Tôi nghĩ rằng tràn ngăn xếp có một âm thanh kỹ thuật đảo ngược quá nó! (như trong quá tải ngăn xếp của bạn với quá nhiều dữ liệu ...) Trên một lưu ý nghiêm túc hơn, tôi nghĩ đây là kiến ​​thức tổng quát tốt cho tất cả các nhà phát triển, và không phải một số loại công cụ ngầm. – pracheta986919

+0

user986919 là đúng, bạn không thể thực hiện bảo mật vào ứng dụng của mình mà không biết làm cách nào một hacker sẽ cố gắng phá vỡ nó. Nếu một ứng dụng được biên dịch thông thường có thể được thiết kế ngược, hãy làm cho nó thêm một chút nữa. – Daniel

Trả lời

7

câu hỏi đạo đức về hack/nứt/etc sang một bên, chúng ta hãy thảo luận về các chi tiết:

  • Trong OS X giải mã nhị phân được thực hiện bởi một Không trộm cắp MacOS X.Kext (trìu mến gọi là DSMOS).
  • Trong iOS, giải mã nhị phân được thực hiện bởi FairPlay kext.

    Trong cả hai trường hợp, trình tải nhân Mach-O chịu trách nhiệm về điều này. Nếu bạn thực sự cần phải đi vào chi tiết, đó là máy nhắn tin Apple Protect xử lý giải mã. Trong ngôn ngữ XNU một "máy nhắn tin" là một thành phần chịu trách nhiệm lấy các trang VM và truy xuất chúng từ một cửa hàng sao lưu (trao đổi, tập tin ánh xạ bộ nhớ, vv). Đó là Apple Bảo vệ Pager trong đó kêu gọi trên kext (một trong hai bên trên)

    Có một cuốn sách tuyệt vời bao gồm các chi tiết cụ thể kernel - http://www.amazon.com/Mac-OS-iOS-Internals-Apples/dp/1118057651

    Như bạn nói một cách chính xác, mã hóa này có thể dễ dàng đánh bại - trên một thiết bị jailbroken (hoặc PC có quyền root) bạn có thể sử dụng các API Mach VM để đọc hình ảnh đã được giải mã. Đó là thực sự được đề cập trong cuốn sách trên, với một công cụ mẫu để làm điều đó (trong số các thủ thuật VM khác). Ngoài ra, Stefan Esser có một công cụ đơn giản giải mã các tệp nhị phân bằng cách tiêm một .dylib đơn giản vào không gian địa chỉ tiến trình khi được nạp, sử dụng DYLD_INSERT_LIBRARIES. github.com ›stefanesser› dumpdecrypted.

hy vọng điều này giúp

TG

Các vấn đề liên quan