Obfuscator & Tech Support

Мы думаем о запутывании некоторого кода прежде, чем выпустить его клиентам. Мы задаемся вопросом о влиянии, которое это будет это оказывать на техническую поддержку. Клиенты могут предоставить нам значимые отслеживания стека, или они будут запутываться также?

Я надеюсь слышать о Вашем опыте. Заранее спасибо.

11
задан Tarzan 5 March 2010 в 22:29
поделиться

4 ответа

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

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

вот две ссылки, объясняющие процесс с обфускатором dotfuscator:

http://www.preemptive.com/images/stories/dotfuscator_documentation/Dotfuscator/The_Map_File.html

http: //www.preemptive. ru / images / stories / dotfuscator_documentation / Dotfuscator / Decoding_Obfuscated_Stack_Traces.html

9
ответ дан 3 December 2019 в 09:19
поделиться

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

1
ответ дан 3 December 2019 в 09:19
поделиться

Если методы в стеке запутаны в вашем выпуске, вы получите запутанные имена методов в любой трассировке стека.

Если вы добавите что-нибудь в свой код, чтобы помочь вам выяснить, какие методы были задействованы, потенциальные хакеры могут использовать эту информацию, чтобы лучше понять ваш код.

Одна из распространенных стратегий состоит в том, чтобы скрыть только часть кода, включая (но не ограничиваясь) части, которые выполняют проверку лицензии. Если вы запутаете ТОЛЬКО проверки лицензии, довольно легко сосредоточиться на той части, которая требует внимания хакера.

1
ответ дан 3 December 2019 в 09:19
поделиться

Мы используем ] BitHelmet . Проблема в том, что при использовании самой сильной техники обфускации трассировку стека нельзя деобфускировать. BitHelmet использует переименование Full Signature (своего рода индукция перегрузки, только лучше). Что происходит, так это то, что многие методы имеют одно и то же имя, но с другим типом возвращаемого значения (этого нельзя сделать в C #, но это нормально для CLR). Типы возвращаемых данных не отображаются в трассировке стека! поэтому на самом деле невозможно деобфускировать трассировку стека с помощью сильнейшей обфускации.

Мы задали тот же вопрос, что и вы, обсудили его и пришли к выводу, что на самом деле мы предпочитаем лучшую обфускацию. Трассировки стека на самом деле не так полезны при предоставлении технической поддержки, как некоторые другие данные, которые может предоставить только конечный пользователь. "Скажите, пожалуйста, что именно вы делали ???" :)

1
ответ дан 3 December 2019 в 09:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: