Делают ли встроенные функции более трудным обратный инжиниринг скомпилированного двоичного файла? - PullRequest
4 голосов
/ 06 апреля 2011

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

Я имею в виду, так и должно быть, так как 1) взломщик просто видит больше машинных инструкций, вместо понятного «вызова XXXXX», который он, возможно, уже обнаружил, чтобы сделать определенную вещь. и 2) встраивание предоставляет компилятору больше возможностей для оптимизации кода, и это еще больше запутывает, верно?

Кроме того, учитывая, что ключевое слово inline является просто предложением для компилятора, какой эффект это может оказать на самом деле? Должны ли мы беспокоиться? Я имею в виду, конечно, что они в конце концов взломают его, но если с помощью таких простых мер мы можем сделать жизнь взломщика более трудной, почему бы и нет?

Ответы [ 2 ]

2 голосов
/ 06 апреля 2011

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

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

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

1 голос
/ 06 апреля 2011

Это уменьшит сходство между вашим входом и его выходом.Это, как правило, не сильно повлияет на его усилия в целом.

...