dll - усложнит ли она реверсеру задачу?

valekor если вы настолько переживаете, то возмите скриптовый язык с jit машиной например lua
часть логики вложите в lua скрипты, сам же движек lua может снимать опкод с процессора,
Сохраняете опкод, и отдаете с сервера в шифрованном виде, причем шифровать нужно по ключу и по сессии.
Тогда будет каждый запуск ключи будут меняться.

Что делать хакеру в данном случае?
1) Перехватить пакеты
2) Рашифровать и получить опкод
3) Написать дизасм под луа процессор (aka dezender)
4) Профиксить скрипты от привязок лицензии
5) Скопилировать
6) Упаковать и зашифровать
7) создать поддельный сервер
8) Радоватся )))

PS: более подробно пишите в личку. Метод для себя велосипедил ))) Моя же параноя сейчас зашла так далеко что в ядре перемксил определения операндов, поэтому байткод с оригинальным не совместим. Пусть ломают на здоровье. Мне плевать, пару лет никто не будет тратить на сие творение )))
 
Последнее редактирование:
valekor если вы настолько переживаете, то возмите скриптовый язык с jit машиной например lua
часть логики вложите в lua скрипты, сам же движек lua может снимать опкод с процессора,
Сохраняете опкод, и отдаете с сервера в шифрованном виде, причем шифровать нужно по ключу и по сессии.

Мне такое не потянуть :) Я только с vb.net и с# работаю, немного вот в PHP приходится вникать. Залезать еще и в lua, я тогда вообще потону в изучении и паранойи ))) Я слышал конечно, что lua не сложный, но погружаться в очередное изучение кучи информации не хочу.
А так, Вы вроде бы описали почти тоже самое, что я сейчас делаю в связке с PHP, хотя могу и ошибаться, т.к. я не знаю что такое jit машина.
 
Мне такое не потянуть :) Я только с vb.net и с# работаю, немного вот в PHP приходится вникать. Залезать еще и в lua, я тогда вообще потону в изучении и паранойи ))) Я слышал конечно, что lua не сложный, но погружаться в очередное изучение кучи информации не хочу.
А так, Вы вроде бы описали почти тоже самое, что я сейчас делаю в связке с PHP, хотя могу и ошибаться, т.к. я не знаю что такое jit машина.

Надеюсь поймете о чем в вики написано, если нет могу по пункта

Lua является имплементацией Ecma 5 но с отступлениями от спецификации, так же как и JS
Страшного в нем ничего нет))) если знаете хотя бы javascript.

Не уверен что вы делаете вычисления на клиентской машине. Скорее всего на сервере, что повышает стоимость владения. Сервер надо будет оплачивать. А если не один?
В предложенном варианте все вычисления выполняются на клиенте, только часть выполняет скриптовый движек из предкомпилированного кода, которой в последсвие будет инлайнится в машинный.
В данной схеме сам черт ногу сломит понять что откуда растет, а производительность значительно не упадет.
Хотя в кончном счете параноит Вам. Я нашел себе такой путь) И как показала практика он имеет место для существования.
 
Последнее редактирование:
Где-то слышал об "облачном хранение", не представляju как это.
Может быть кто-нибудь объяснит подробно?
 
"Облачное" - это все что связано с арендой ресурсов у третьих лиц. Если можно конкретней что интересует? - место, вычислительные мощьности, базы данных??

З.Ы.: Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
 
Где-то слышал об "облачном хранение", не представляju как это.
Может быть кто-нибудь объяснит подробно?
скорее всего это так: у аппликухи отсутствуют важные части и она посылает запрос на сервер и по определённому ключу получает часть кода, который потом подгружается и может быть выполнен, после выполнения выгружается и удаляется, в следующий раз ключ меняется, на стороне облака скрипт или сервис который по определённому ключу выдаёт куски
 
скорее всего это так: у аппликухи отсутствуют важные части и она посылает запрос на сервер и по определённому ключу получает часть кода, который потом подгружается и может быть выполнен, после выполнения выгружается и удаляется, ...
Интересно. Это каким образом можно выполнить загруженный код? В виде длл такое точно не прокатит. Тогда как? Можно создать динамический массив, но он опять же будет для переменных и выполнение кода из такова массива тоже невозможно.
 
Интересно. Это каким образом можно выполнить загруженный код? В виде длл такое точно не прокатит. Тогда как? Можно создать динамический массив, но он опять же будет для переменных и выполнение кода из такова массива тоже невозможно.
На Net/Java/LLVM такое прокатит, так как им можно подсунуть ихний собственный байткод, который уже пережован значительно, в C/C++ нет сборки или исполнения на ходу и вообще в любом компилируемом языке нет пост сборки, так как они не собираются во время исполнения, в качестве костыля может служить портативный компилятор, но это придется передавать сорцы в чистом виде или транслировать до передачи все сорцы в ASM, в случае инжекта уже собранного кода, в другой и его исполнение, что будет реализовываеться через жопу и от простой дллки будет отличатся незначительно, аля изобретение собственной длл, если хорошо копнуть, можно будет перехватить часть, которая идет с сервера в любом случае.
 
Все эти приемы конечно отсеивают определенную аудиторию.
Но вопрос, кто из вас потратит больше времени и сил, Вы или взломщик - остается открытым :)
Есть много standalone-софта, для которого интенсивно выходят апдейты и к тому времени как его отреверсят, билд становится не актуальным и таки приходится покупать.
Быть может стоит оплатить услуги тех кто профессионально занимается защитой.
А стандартная защита - ломается стандартно.
 
Тоже интересна тема но для C#. Это ключи для чего? У msbuild и csc их нет.

p.s. Собираю msbuild
 
Назад
Сверху