| Следующая версия | Предыдущая версия |
| clean_room [2026/10/15 18:12] – создано gecko | clean_room [2026/10/25 16:23] (текущий) – gecko |
|---|
| ===== Предпосылки ===== | ===== Предпосылки ===== |
| |
| EULA (пользовательские соглашения) закрытых платформ почти всегда прямо запрещают любой реверс-инжиниринг лицензируемого ПО. В некоторых юрисдикциях декомпиляция/дизассемблирование разрешены в строго ограниченных случаях - чаще всего только для обеспечения работоспособности программ, а не для создания конкурирующего коммерческого продукта. Таким образом, принцип "чистой комнаты" полностью исключает любое прямое копирование информации, полученной в результате реверс-инжиниринга (например, имена непубличных функций API, специфические внутренние структуры данных). В некоторых случаях даже чтение документации, полученной нелицензионным путем, ставит под сомнение чистоту разработки и делает ее уязвимой для исков. | EULA (пользовательские соглашения) закрытых платформ почти всегда прямо запрещают любой реверс-инжиниринг лицензируемого ПО. В некоторых юрисдикциях декомпиляция/дизассемблирование разрешены в строго ограниченных случаях - чаще всего только для обеспечения работоспособности программ, а не для создания конкурирующего коммерческого продукта. Таким образом, принцип "чистой комнаты" полностью исключает любое прямое копирование информации, полученной в результате реверс-инжиниринга (например, имена непубличных функций API, специфические внутренние структуры данных). В некоторых случаях даже чтение документации, полученной нелицензионным путем, ставит под сомнение чистоту разработки и делает ее уязвимой для исков, хотя доказать это чаще всего невозможно. |
| |
| ===== "Китайская стена" ===== | ===== «Китайская стена» ===== |
| |
| Одной из популярных методологий clean-room дизайна является так называемая "Китайская стена", при которой разработка ведется двумя изолированными командами. Первая, аналитическая, изучает закрытую платформу, проводит дизассемблирование проприетарного ПО, исследует протоколы и т.д. Ее задача - зафиксировать поведение системы, аппаратные спецификации, функциональные требования и интерфейсы. Результат ее работы - технический документ, в котором нет ни строчки оригинального исходного кода. Полученный документ проверяют юристы. Затем набирается вторая команда, исполнительная, из разработчиков, которые никогда не видели оригинальный код закрытой платформы и не общались с командой 1. Она получает на вход чистую документацию и пишет код с нуля. | Одним из популярных методов clean-room дизайна является так называемая "Китайская стена", при которой разработка ведется двумя изолированными командами. Первая, аналитическая, изучает закрытую платформу, проводит дизассемблирование проприетарного ПО, исследует протоколы и т.д. Ее задача - зафиксировать поведение системы, аппаратные спецификации, функциональные требования и интерфейсы. Результат ее работы - технический документ, в котором нет ни строчки оригинального исходного кода. Полученный документ проверяют юристы. Затем набирается вторая команда, исполнительная, из разработчиков, которые никогда не видели оригинальный код закрытой платформы и не общались с командой 1. Она получает на вход чистую документацию и пишет код с нуля. |
| |