MX_Master Posted January 10, 2012 Share Posted January 10, 2012 ну например так string.char( 66, 78, 69, 70 ) .. 'q' .. string.sub( 'qwerty', 2, -2 ) внутри скомпилированного скрипта будет не видна строка, потому что она генерируется во время работы скрипта. Т.е. при неопытном подходе вычислить и заменить в HEX редакторе ничего не получится Link to comment
Evgeni_Degerev Posted January 13, 2012 Share Posted January 13, 2012 ну например так string.char( 66, 78, 69, 70 ) .. 'q' .. string.sub( 'qwerty', 2, -2 ) внутри скомпилированного скрипта будет не видна строка, потому что она генерируется во время работы скрипта. Т.е. при неопытном подходе вычислить и заменить в HEX редакторе ничего не получится если не ошибаюсь то при изменении скомпилированного скрипта HEX-редактором будет выводится сообщение об ошибке=) Link to comment
Wherry Posted January 23, 2012 Share Posted January 23, 2012 А что насчет декомпиляции скрипта? С помощью чего можно это делать? Link to comment
Kenix Posted January 23, 2012 Share Posted January 23, 2012 А что насчет декомпиляции скрипта? С помощью чего можно это делать? Через декомпилятор. Link to comment
lil Toady Posted January 23, 2012 Share Posted January 23, 2012 ну например так string.char( 66, 78, 69, 70 ) .. 'q' .. string.sub( 'qwerty', 2, -2 ) внутри скомпилированного скрипта будет не видна строка, потому что она генерируется во время работы скрипта. Т.е. при неопытном подходе вычислить и заменить в HEX редакторе ничего не получится Скомпилируй подобную штуку и покажи мне, я тебе скажу что там за ключ. Вообще, клиентские скрипты предназначены для всяких менюшек, вся логика должны быть на сервере. Link to comment
Wherry Posted January 23, 2012 Share Posted January 23, 2012 А что насчет декомпиляции скрипта? С помощью чего можно это делать? Через декомпилятор. Хм, большое спасибо за отзыв, но ожидалось получить более конкретный ответ. Я пытался найти декомпилятор, но тот, который я нашел, выдавал ошибки и ничего не делал. Link to comment
_Vincent_ Posted January 23, 2012 Share Posted January 23, 2012 Я не думаю, что тебе здесь будут давать более конкретный ответ по этическим соображениям Хотя, может быть, я ошибаюсь. Link to comment
MX_Master Posted January 24, 2012 Share Posted January 24, 2012 Я тоже искал чисто луа декомпилятор, ничего толком не нашел. Можно разве что дизасэмблировать. Но гораздо легче накатать похожее. ну например так string.char( 66, 78, 69, 70 ) .. 'q' .. string.sub( 'qwerty', 2, -2 ) внутри скомпилированного скрипта будет не видна строка, потому что она генерируется во время работы скрипта. Т.е. при неопытном подходе вычислить и заменить в HEX редакторе ничего не получится Скомпилируй подобную штуку и покажи мне, я тебе скажу что там за ключ. Вообще, клиентские скрипты предназначены для всяких менюшек, вся логика должны быть на сервере. "при неопытном подходе" (: для опытного, в этом деле, человека это все несложно. Защита только от детей, которые не будут разбираться, даже если попытаются открыть и прочесть в чистом виде. Link to comment
Kernell Posted January 26, 2012 Share Posted January 26, 2012 Защита только от детей, которые не будут разбираться Плохо знаете современную школоту. Link to comment
MX_Master Posted January 26, 2012 Share Posted January 26, 2012 Я не видел, чтобы ты предложил более продвинутый способ защиты от выполнения клиентского скрипта на чужом сервере. Новый стандартный способ в 1.3 есть. Но с ним нужно скрипты каждый раз качать заново. Также можно придумать кучу других способов. Link to comment
Kernell Posted January 26, 2012 Share Posted January 26, 2012 Я не предложил потому что это бесполезно, даже от самого быдло-кодера. Все ваши старания напрасны, вы только зря теряете время и силы. Вообщем - страдаете ерундой. То что якобы "компиляция" в Lua - тяжело назвать компиляцией, и шифровкой не назовёшь. Глупости это всё. Максимум что можно извлечь - сжатие скриптов (но только больших). Если уж в SA-MP всякая школота умудряется декомпилировать AMX, то про Lua даже говорить смешно. Link to comment
MX_Master Posted January 26, 2012 Share Posted January 26, 2012 Т.е. надо и машину открытой на улице оставлять и квартиру не запирать, потому что это все бесполезно и любой желающий может их взломать? Link to comment
Kernell Posted January 26, 2012 Share Posted January 26, 2012 Мда, посмеялся. Нашли с чем сравнить. За дом и машину наказание по закону полагается, а за какой-то скрипт никому ничего не докажешь. Link to comment
MX_Master Posted January 27, 2012 Share Posted January 27, 2012 Давай попроще. Допустим, у меня нет документов на какой-то предмет, ну там на газонокосилку, например. А я не хочу, чтобы ее кто-то у меня взял (украл) и юзал на своем дворе. Фактически, если газонокосилка вдруг окажется в чужом дворе, то доказать, что она моя я не смогу. И запретить ей пользоваться я тоже не смогу, если она уже не у меня находится. Значит, я должен соблюсти какую-то меру предосторожности по отношению к моей газонокосилке, пока она находится у меня. Во-первых, я могу не оставлять ключ в зажигании, если оно есть. Потом, я могу вынуть из газонокосилки какой-то важный элемент, без чего она не будет работать. Также я могу просто поставить ее к себе в закрытый сарай (склад инструментов). В сравнении с защитой скрипта это соответствует: компилированию, изъятию из кода скомпилированного скрипта какого-то важного элемента, выполнение практически всех действий на стороне сервере. Если мер я не приму, то я могу надеется только на удачу и порядочность других людей, а это очень сомнительно. Link to comment
DakiLLa Posted January 27, 2012 Share Posted January 27, 2012 Господа: оффтоп. Где-то читал, что можно в начале скрипт-файла понаставить всяких таблиц внутри таблиц, а те, в свою очередь вложены еще в одну таблицу ... и так до бесконечности, что в коей-то мере смутит декомпилятор. Link to comment
MX_Master Posted January 27, 2012 Share Posted January 27, 2012 Все верно, сложный скрипт не декомпилируется. Даже если создавать локальные функции внутри какой-то функции, то такой скрипт тоже не декомпилится. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now