2012-03-29 30 views
7

Đối với dự án trong tương lai, tôi cần tìm hiểu cách hoạt động của quy trình mã hóa cho các tệp IPA Apple iOS (iPhone/iPad). Mục tiêu của dự án của tôi là xây dựng (trong Delphi) một công cụ Windows để mã hóa một tệp IPA (trước đây được biên dịch với "Không mã số" qua XCode).CodeĐăng ký tệp IPA chỉ sử dụng Windows

Một điều chắc chắn, có thể chỉ mã hóa tệp IPA trên Windows; như Adobe thực hiện với AIR/Flash CS5. Ngoài ra, Epic Games, Inc. đã xây dựng UDK (Bộ phát triển không thực) với công cụ của bên thứ ba để mã hóa các tệp IPA.

Điều cuối cùng được mã hóa bằng C# /. .NET và Delphi, tôi nhanh chóng bị mờ ...

iPhonePackager từ UDK thực sự gần với những gì tôi muốn làm (với ít tính năng hơn).

Từ nghiên cứu của tôi: chứng chỉ và khóa có thể được "tạo" qua OpenSSL trong dòng lệnh; Apple sử dụng chứng chỉ X509 để mã hóa mã nhị phân (?); một thành phần như Bouncy Castle Crypto API có thể được sử dụng để quản lý chứng chỉ.

Một bài viết thú vị về quá trình codesigning từ Apple: http://developer.apple.com/library/mac/#technotes/tn2206/_index.html

Ngoài ra tôi sẽ phải tạo ra, các "CodeResources"; "embedded.mobileprovision" từ tệp Cấp phép di động; và "CodeSignature/CodeResources" với hệ thống phân cấp của tất cả các tập tin như:

<key>MainWindow.nib</key> 
<data>GTBfZPINlJlD7HXjMRAKgfAztXU=</data> 

Nếu bạn đọc cho đến nay, bạn nên chắc chắn bị nhức đầu :)
Vì vậy, dưới đây là vài câu hỏi để bắt đầu ...

Có thể ký lại một nhị phân đã được biên dịch và ký bằng "Không có mã số" không?
Bạn có nghĩ rằng dự án của tôi là một công việc thực sự khó khăn ...?
Bạn có nghĩ rằng tôi sẽ thuê nhà phát triển tốt hơn không? Tôi có thể có ngân sách cho dự án này nhưng lý tưởng là tôi muốn tự mình làm điều đó ... • D

Rất cám ơn trước vì lời khuyên và/hoặc đề xuất.

Beny

+0

Thực hiện một số nghiên cứu về ldid và xem liệu điều đó có sẵn cho cửa sổ hay không. Ít nhất, nó sẽ cho phép bạn chạy ứng dụng của bạn trên một thiết bị bẻ khóa. –

+0

Xin chào Richard. Có, tôi đã xây dựng một trình đóng gói đơn giản cho các thiết bị bẻ khóa, nhưng phần khó nhất là viết mã nhị phân ...: tôi sẽ thực hiện một số nghiên cứu xung quanh LDID từ Saurik. Cảm ơn. – Beny

Trả lời

1

Tôi đang làm việc trên một dự án tương tự, nhưng tôi không thể tìm thấy tệp nguồn cho công cụ UDK, nó có phải là nguồn mở không? Nếu vậy, bạn có thể cho tôi một liên kết đến nó?

Tôi có thể cho bạn biết tệp CodeResources sử dụng thông báo sha1 trong base64. Bạn có thể tạo bằng cách sử dụng openssl: openssl dgst -sha1 -binary | openssl enc -base64

+0

Cảm ơn Fabio về đầu vào của bạn. Tôi sẽ thử OpenSSL DGST chức năng;) Tôi sẽ giữ câu hỏi này liên lạc trong tương lai. Tốt. – Beny

+0

Điều gì về công cụ ký UDK? Bạn có liên kết đến mã nguồn không? – Fabio

+0

Trình đóng gói iPhone UDK thực sự rất hay, nhưng hơi phức tạp đối với tôi. Hãy xem tại đây: http://shrtnr.us/9vi9ju – Beny

1

Tôi đã viết một công cụ để cập nhật điều khoản di động và từ bỏ IPA trên Windows, công cụ và mã nguồn C# của nó (được cấp phép theo LGPL) có thể được tìm thấy here.

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