Я просто собираюсь взять сурс лоадера удалить авторизацию качать длл закриптиаоть и сделать анти кряк :0
а смысл ее зашифровывать, лул? там нужна немного ( наебал, много ) другая защита.
1. Как я понял, ты хранишь длл на веб-сервере. Обычный htttp-дебаггер справится с этой задачей на ура, так что тебе стоило бы сделать бек на C++ ( вообще, можно было бы использовать любой unix-совместимый язык, но есть 1 нюанс, о нем позже ).
2. Теперь стоит почитать о PE-инжекторах -
, также можно посмотреть на blackbone
3. После того, как поизучал blackbone, а также понял принцип pe-инжекторов, можно начинать писать свой лоадер, который получает зашифрованную длл, расшифровывает ее на клиенте и инжектит в процесс, но есть одно "но" - ты все также сильно уязвим. Можно получить доступ к твоему PE-заголовку. Это можно сделать брейкпоинтом в каком-нибудь дебаггере, но не будем вдаваться в подробности. Получается, если аллокация и фикс импортов на клиенте - уязвимое дело, то почему бы не перенести это на сервер? Так и сделай, если ты действительно разобрался, то все получится, главное наличие такого аспекта как brain :)
4. Самое время поговорить про брейкпоинты, да и о техниках анти-дебага в целом, советую эту статью -
, там много чего написано, да и в целом, очень интересное чтиво на вечер )
5. Также не стоит забывать про защиту от дампа, затертые PE-заголовки - первое, что приходит на ум, но также есть и другие техники, о них можно почитать здесь ->
и вот здесь ->
( тут, кстати, также содержится множество информации для пункта 4 )
Теперь можно селлить свой топ p2c за 100000 рублей в месяц и иметь огромный доход, но все ли так просто?
До сих пор твоя длл не защищена вообще никак. Стоит подумать и о защите самого чита, логично? Как сделал я: генерация на лоадере уникального токена сессии -> токен отправляется на сервер и содержит некоторую инфу о юзере, а также секретный ключ, все это дело зашифровано ( одностороннее шифрование ) -> токен проверяется на сервере, сервер в свою очередь отправляет ответ на клиент ( валидный токен / невалидный ) -> лоадер вызывает экспортированный метод из длл и передает в него некоторую инфу о юзере, а также токен -> этот метод заново проверяет токен ( опять же через сервер ) -> если все проверки прошли, то метод генерирует новый токен, базируясь на старом и на инфе о юзере и отправляет данный токен на сервер для окончательной проверки
Дополнительно: стоит подумать об изменении / удалении кода "на ходу", а также об обфускации, причем, обфусцировать лучше по самописному
уникальному алгоритму. Также, неплохо было бы почитать статью от
@Arting ( царство ему небесное ) ->
, там очень много интересного написано, лично я многое взял из этой статьи и доволен собой.