2013-04-07 30 views
6

Nguyên tắc đánh giá cửa hàng ứng dụng cho biết: "Các ứng dụng tải xuống mã theo bất kỳ cách thức hoặc biểu mẫu nào sẽ bị từ chối".Loại mã tải xuống nào vi phạm Hướng dẫn đánh giá của App Store?

Tôi muốn tạo ứng dụng bằng Challenge-Response để xác thực. Ứng dụng này có một bộ thuật toán cơ bản như SHA-1, SHA-256, MD5, DES, AES, v.v. Máy chủ thử thách làm cho chứa một mảng tên của thuật toán với sắp xếp ngẫu nhiên và một tên chuỗi A. Khách hàng sử dụng các thuật toán và trình tự thách thức cho biết thao tác chuỗi A và trả về máy chủ làm phản hồi.

Mặc dù tất cả những gì tôi chuyển giữa máy chủ và ứng dụng khách là một chuỗi các chuỗi, nhưng chúng thực sự thay đổi hành vi của ứng dụng của tôi. Tôi có nên coi chúng là một dạng mã không? Nếu không, tại sao tải xuống mã shell để thực thi bị cấm bởi Apple? Ý tôi là, mã shell cũng là một chuỗi các chuỗi và được giải thích bằng cách chạy môi trường. Sự khác biệt cơ bản ở đâu?

Hãy tha thứ cho tiếng Anh của tôi :)

Trả lời

7

gì Apple đang lo lắng về và muốn ngăn chặn là các ứng dụng mà có được thông qua quá trình phê duyệt (cải trang thành một cái gì đó lành tính) và sau đó thay đổi chức năng cơ bản của họ.

Ví dụ cực đoan sẽ là một ứng dụng tải xuống mã thực thi độc hại mới sau khi đã được cài đặt trên thiết bị của người dùng.

Apple đang sử dụng từ ngữ rộng để có thể từ chối mọi ứng dụng theo bất kỳ cách nào cố gây hại cho người dùng. Nó sẽ không thể mô tả cụ thể mọi kỹ thuật và cách cụ thể điều này có thể xảy ra, vì vậy Apple giữ từ ngữ lỏng lẻo.

Ứng dụng "mã tải xuống" dưới dạng này hay dạng khác luôn luôn, hãy xem xét một ứng dụng truy cập API trả về các câu trả lời được định dạng JSON. Về mặt kỹ thuật có thể được coi là mã, và nó có thể thay đổi hành vi ứng dụng (mà xem để hiển thị, những tùy chọn sẽ có sẵn trên một cái nhìn nhất định, vv). Nhưng một ứng dụng truy cập API theo cách này chắc chắn sẽ không bị từ chối.

Từ những gì tôi có thể thu thập từ câu hỏi của bạn, có vẻ như bạn không phải lo lắng về điều khoản cụ thể đó trong nguyên tắc.

+0

Theo như tôi biết, Code-Signing đảm bảo rằng không có nội dung nào được tải xuống sẽ có thể thực thi được (thiết bị không được bẻ khóa). Sau đó, tôi không hiểu loại mã nào mà Apple thực sự ngụ ý? – MasterBeta

+0

Đây là ví dụ cực đoan của tôi: Ứng dụng của tôi về cơ bản là mã "shell" giải thích động cơ ion. Tất cả các hoạt động meta mà động cơ cung cấp không độc hại. Vì vậy, táo đã phê duyệt ứng dụng của tôi và mã được ký để thực thi trên mọi thiết bị. Sau đó, ứng dụng của tôi tải xuống mã "shell" với mục đích độc hại. Nó được giải thích, được chuyển đổi thành một số meta-opertaions có thể làm điều gì đó không được phép của Apple. Apple có thể làm gì với điều này? – MasterBeta

+0

Họ có thể xóa ứng dụng của bạn khỏi cửa hàng và/hoặc đưa bạn ra khỏi chương trình dành cho nhà phát triển. Không có bất kỳ cách kỹ thuật nào để ngăn chặn việc thực thi mã giải nghĩa mà bạn có thể tiêm qua một số cửa sau. – omz

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