2011-12-13 2 views

ответ

3

Как сказано в названии, собственный клиент Google использует собственный код. Это означает, что ваш код скомпилирован так же, как со стандартным исполняемым двоичным кодом на рабочем столе. Он может быть разобран, но исходный код не может быть восстановлен.

1

Собственный клиент означает, что вы используете собственный код на клиенте. В большинстве случаев на вашем клиенте будет запущен машинный язык i386 или amd64. Если вы используете скомпилированный язык, ваши пользователи не могут напрямую восстановить его. Пользователи могут разобрать ваше программное обеспечение, чтобы восстановить некоторую информацию о вашем коде, но они не могут восстановить исходный код (кроме - язык ассемблера). Переписывать часть программного обеспечения из дизассемблированного двоичного файла сложно, но, учитывая достаточно времени, это обычно можно сделать. Это действительно зависит от того, насколько вы параноик о людях, использующих ваш код.

1

Требования к структурному обеспечению Собственного клиента для обеспечения надежной разборки, с тем чтобы он мог выполнять статический анализ, может привести к непригодности некоторых методов для обфускации кода. Это часто те же самые методы, используемые вредоносным ПО, чтобы затруднить анализ вредоносных программ, т. Е. Иметь две допустимые интерпретации потока команд, если они декодируются различными смещениями. Собственный клиент, однако, разрешает форму самомодифицирующего кода, поскольку имеет поддержку JIT. Например, в Mono используется генерация кода «точно в момент времени», и для создания обфускационного кода можно использовать одни и те же интерфейсы, если код JIT'ов продолжает соответствовать требованиям безопасности NaCl.

Использование интерфейса JIT, конечно же, сделает ваш код не переносимым для других архитектур процессора.

Смежные вопросы