Перейти к содержанию

CE 6.6 Шифрование функций Lua


MasterGH

Рекомендуемые сообщения

Как писал Дарк Байт ему часто задавали вопросы по защите исходников. Ссылка будет в конце сообщения.

 

Для чего это можно применять:

Скрытый текст

 

1. Предоставить программу для использования и не предоставление исходников

2. Ваши исходники читов возможно не увидят разработчики игр, разработчики защит игр, разработчики трейнеров

3. About диалог с какими-нибудь эффектами. Только у вас будет такой. Хотя не обещаю.

4. Проверка пароля (для чего? сам не знаю)

5. Скрытие данных и кода внутри функции. Будь это трейнер, плагин CE Lua.

6. Ну и наконец скрытая работа читов

 

 

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

 

Получение шифрованной функции:

Скрытый текст

function myscript()
   print('hello')
 end

print(encodeFunction(myscript))

 

 

После того как получили шифрованную строчку, то выполнение её

Скрытый текст

myscript = decodeFunction('c-oWpDNPJ!ketlRCB=/U!NS2(5ypT38s!d+42)bqGnmW70wmZN92guO7#LI;7#P)U8W?.;Vk}S0MVWaeENmI6IXU?@4A:kwWpWC7')
myscript()

 

 

Пример диалога, попробуйте сами запустить

Скрытый текст

 


c-n1?-HxgT6ov6+E,!^wdefV;R_GvlKt:iSF9ZQaQ5@h1oY9C85R@d#MMWkg)]V;2w9nCZ;4UU3z35F;vh%II[R9WQzHFwzkH3ER@^1}-(ri=Ku=GAn[{0n+nTL6LOa@#+en13Tz%MNTus)szC-4dU?yLFATz]M=,hhOoPyKsqYaXqwc:63;fAoL(;)4L$el!bynT4ripP]STmj[L1L7w(vGa$LaX1d;F.gDC)I[P#b#-5tmPRA_yV4zbo10UcYYh@pD5u3N?lJxq.51nC;2vo1vC6d??J247kx;@co?Zm}$p!Mp]DNT*Zj*hQLsyFwGd[v4l*xmoKE2$_fykPVz@?:VyT3V8fheok!-sHJ+c7qkn1#ga3bT;P:)=8ONxqzm^)!rybxk=YEl_h(*y=3*KR59}B@05_og%opC?D4Obpn[B#q8kx(,U8vvahQTzATK3jxOs?9DPly{T_IyjnYf,U;yKsLMqd2J(9AR*j3}E;7![+J#0py^RfA{Pl09*,;f=h@v#PBP.)Rlx@/F8#he%xBvQ;zkB;oAypPCLn+Y%uuOp2O2wK%6[cz)lVJF;^4E{Z4sSsYj73Z}.%?M3%Q+}-7bA;,bU-CBo2O)Wk+e5rfvkX$GzK{Ri/e8i^]V?ed4lrQ;j,g$qEnC-(3k5V4qj^,^0*FF3dD0bKiuE=uo]FGGqyx8t)$d138hQaL*RCV{Tbtf)2/jcLciR*zTqm_Bz/9OF7*L!y.@fI}JQs$*b^cUmgGR4qJomxb!jVhw/Pn7/k84l=#mAe,@*sfycJRRBQq*r}G1)9Vo;D6e*:UNcj/O#K{bRBP73qiLb;Qo4@IUy@!DzZALgu9com4;?bJ1iNr$Ox,.Ii+:w-5a8-/?g5Ih3in9@YNVZx9Qj!G(b,,SOv#.g}1?rfU?)T)w42+9=S;#2I*BVVliB4T^)=$KLh-q^sw[p[p/

 

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

Можно скрывать hex код картинок, звуков или других данных. Хотя я не пробовал.

 

Скрытый текст

 

  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Вот я закодировал слово. Hello

получилось вот такая кодировка

Скрытый текст

c-oWpDNPJ!ketlRCB=/U!NS2(5ypT38s!d+42)bqGnmW70wmZN92guO7#LI;7#P)U8W?.;Vk}S0MVWaeENmI6IXU?@4A:kwWpWC7 

 

И закодировал слово podvodnaya

Скрытый текст

c-oWpDNPJ!ketlRCB=/U!NS2(5ypT38s!d+42)bqGnmW70wmZN92guO7#LI;7#P)U8W?.;Vk}S0MVWaeEZhb8DP^R7d5M+Yj11TS0MHx@pa 

 

разницы почти нет, слова разные, а кодировка одинаковая.

Изменено пользователем Submarinа
Ссылка на комментарий
Поделиться на другие сайты

9 минут назад, Submarinа сказал:

разницы почти нет, слова разные, а кодировка одинаковая.

А ты что Баракуда хотел от СЕ - полиморфизм :)

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Submarinа сказал:

разницы почти нет, слова разные, а кодировка одинаковая.

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

 

Т.е мусор + слово = шифр

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, partoftheworlD сказал:

Ну скорее всего, то что одинаковое это мусор, видимо ключ одинаковый генерируется во время создания шифра, а то что отличается это закодированное слово

пак+Base85

Ссылка на комментарий
Поделиться на другие сайты

А вот проблема вышла, запускаешь трейнер,в ну три с закодированным кодом он открывается, и открывается ещё Lua скрипт, как можно сделать, чтобы запускался только трeйнер, без Lua скрипта.

если в Lua скрипте указать это код кодировки.То трейнер запускается в месте с этой кодировкой.

Скрытый текст

function myscript()
   print('hello')
 end

print(encodeFunction(myscript))

 

 

Изменено пользователем Submarinа
Ссылка на комментарий
Поделиться на другие сайты

Вот при запуске трейнера, вылазить ещё Lua скрипт, как сделать чтобы не вылазило Lua скрипт, а просто запускался один трейнер.

http://dropmefiles.com/4ePdN

Ссылка на комментарий
Поделиться на другие сайты

50 минут назад, Submarinа сказал:

Ну что не кто не в курсе,как эту проблему убрать.

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

Изменено пользователем saiberpro
Ссылка на комментарий
Поделиться на другие сайты

При запуске самого трейнера, запускается ещё Lua с кодированным кодом, я так и не понял как это убрать, что бы только трейнер запускался,

Ссылка на комментарий
Поделиться на другие сайты

В том что ты мне скинул такой код и всё, что ты хочешь убрать там и так ничего нет.

Скрытый текст

 


function myscript()
print('hello')
end
print(encodeFunction(myscript))

Вот этот отладочный код это - зашифрованное слово hello(Хотя шифровка изначально коснётся только метода)

Скрытый текст


c-oWpDNPJ!ketlRCB=/U!otB)5ypT38s!d+42)bqGnmW70wmZN92guO7#LI;7#P)U8W?.;Vk}S0MVWaeENmI6IXU?@4A:kwWBv,u 

 

 

 

Изменено пользователем saiberpro
Ссылка на комментарий
Поделиться на другие сайты

6 минут назад, Submarinа сказал:

Ты не понял, ты трейнер запусти, и увидишь.

Или скрипт.

print(encodeFunction(myscript))

Эта строка отвечат за принудительный вызов отладочной консоли и вывод закодированного метода myscript.

Ссылка на комментарий
Поделиться на другие сайты

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

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

Изменено пользователем Submarinа
Ссылка на комментарий
Поделиться на другие сайты

Я не чего понять не могу, зачем тогда кодировать, если этот код, потом c запуском трейнера открывается, его можно скопировать и расшифровать.

в чём прикол.

Изменено пользователем Submarinа
Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, Submarinа сказал:

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

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

  1. Либо удалить эту строку.
  2. Либо переместить её в метод.
Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, Submarinа сказал:

Я не чего понять не могу, зачем тогда кодировать, если этот код, потом c запуском трейнера открывается, его можно скопировать и расшифровать.

в чём прикол.

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

По умолчанию методы которые доступны из библиотек CE для кодировки/декодировки имеют относительно слабую криптостойкость но тем не менее человек не имеющий опыта в дешифровании будем озадачен в получении оригинальной информации.

Изменено пользователем saiberpro
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.