| Держите все известные мне способы защиты | 
|  | 
| 
| Samil | Дата: Среда, 29.10.2014, 06:57:30 | Сообщение # 1 |  |   
|  |  | Сообщений: 59 Репутация: 11 [ +/- ]
 |  | if (1 != 1) for (new i = 1; i++;) - Защищает отдельный блок. 
 В инклуде просто пропишите new Blocked;
 
 #include <Block> - Так же защищает 1 блок
 
 if (Blocked != Blocked)
 {
 for (new Blocker = 1; Blocker++;)
 {
 if (Blocker == 1) Blocker = 2;
 else if (Blocker == 2) Blocker = 1;
 }
 }
 
 for(;;) break; - Так же защищает 1 блок
 
 Есть ещё 1 защищающий весь плагин, но делиться не буду, не 1 из этих кодов не грузит сервер.
 |  |  |  |  | 
| 
| хвостег | Дата: Понедельник, 15.12.2014, 13:30:26 | Сообщение # 2 |  |   
|  |  | Сообщений: 161 Репутация: 53 [ +/- ]
 |  | Поздравляю тебя и всех тех, кто использовал эти методы защиты с обновлением декомпилятора.... И на будущее, такие вещи в паблик выкладывать НЕЛЬЗЯ.
 Спасибо за внимание.
 |  |  |  |  | 
| 
| Sallcom | Дата: Понедельник, 15.12.2014, 23:03:32 | Сообщение # 3 |  |   
|  |  | Сообщений: 205 Репутация: 31 [ +/- ]
 |  | Цитата хвостег (  ) И на будущее, такие вещи в паблик выкладывать НЕЛЬЗЯ. Можно, пусть люди на этих примерах изучают, как запутать декомпилятор.
 
 P.S. Никто не будет сливать в паблик очень хороший код)
 |  |  |  |  | 
| 
| pro-health | Дата: Вторник, 16.12.2014, 16:17:44 | Сообщение # 4 |  |   
|  |  | Сообщений: 188 Репутация: 5 [ +/- ]
 |  | Цитата Samil (  ) if (1 != 1) for (new i = 1; i++;)Ещё робит))
 
 Source:
 
 Код public OnPluginStart()   {
 if (1 != 1) for (new i = 1; i++;)
 HookEvent ("player_death",player_death);
 }
 Decompiler:
 
 Код  public OnPluginStart()
 {
 return 0;
 }
 Но есть минус можно закриптовать только события без client и т.п.
 
 Сообщение отредактировал pro-health - Вторник, 16.12.2014, 16:18:37 |  |  |  |  | 
| 
| serm | Дата: Вторник, 16.12.2014, 17:21:58 | Сообщение # 5 |  |   
|  |  | Сообщений: 137 Репутация: 7 [ +/- ]
 |  | Цитата Sallcom (  ) Можно, пусть люди на этих примерах изучают, как запутать декомпилятор. 
 P.S. Никто не будет сливать в паблик очень хороший код)
Скажу еще лучше .
 Никто не станет продавать хороший (мод...плагин..скрипт)
 |  |  |  |  | 
| 
| pro-health | Дата: Вторник, 03.11.2015, 14:35:00 | Сообщение # 6 |  |   
|  |  | Сообщений: 188 Репутация: 5 [ +/- ]
 |  | Код new bool:bLoad = false;for(;;bLoad++)
 {
 // Тут что-то, но не присвоение. (Например вывод сообщения в чат.)
 }
 
 Цитата /* ERROR! java.lang.ClassCastException: lysis.nodes.types.DJump cannot be cast to lysis.nodes.types.DJumpCondition */function "POST" (number 8)
 Просто тут оставлю...
 |  |  |  |  | 
| 
| Scarface_slv | Дата: Вторник, 03.11.2015, 19:13:51 | Сообщение # 7 |  |   
|  |  | Сообщений: 737 Репутация: 61 [ +/- ]
 |  | pro-health, разве так не будет бесконечного цикла? 
 
 Сообщение отредактировал Scarface_slv - Вторник, 03.11.2015, 19:14:12 |  |  |  |  | 
| 
| pro-health | Дата: Вторник, 03.11.2015, 20:42:03 | Сообщение # 8 |  |   
|  |  | Сообщений: 188 Репутация: 5 [ +/- ]
 |  | Хм. Не думал, но я так исп.
 Код new bool:broad = false;public OnMapStart()
 {
 if(broad==false)
 {
 for (;;broad++)
 {
 LogError(".....");
 }
 }
 ServerCommand("sm plugins list");
 }
 Декомпил:
 
 Код public void:OnMapStart()
 {
 if (broad)
 {
 ServerCommand("sm plugins list");
 return void:0;
 }
 LogError(".....");
 /* ERROR! java.lang.ClassCastException: lysis.nodes.types.DJump cannot be cast to lysis.nodes.types.DJumpCondition */
 function "OnMapStart" (number 1)
 Он не скроет код (в этом примере так), но код будет уже нетот.
 
 Добавлено (03.11.2015, 20:35:53)
 ---------------------------------------------
 Можно ещё так сделать:
 Код new bool:broad = false;public OnMapStart()
 {
 if(broad==false)
 {
 for (;;broad++)
 {
 LogError(".....");
 }
 }
 if (1 != 1) for (new i = 1; i++;)for(;;) break;
 ServerCommand("sm plugins list");
 
 }
 Добавлено (03.11.2015, 20:42:03)
 ---------------------------------------------
 Вообщем поиграться можно с ним и с break;
 
 
 Сообщение отредактировал pro-health - Вторник, 03.11.2015, 20:45:38 |  |  |  |  | 
| 
| _wS_ | Дата: Вторник, 03.11.2015, 20:57:16 | Сообщение # 9 |  |   | Толку нет от защит таких, достаточно на AM .smx им кинуть и всё, это работать не будет. Можно код запутать и тд, но скрыть не получится мне так кажетц. Хотите скрыть код, не давайте никому плаг, если продаёте плаг без .sp, то переживать о том, что кто-то отдекомпилит его, вылечит и всем раздаст, не особо и стоит, мне кажется человеку проще купить его у автора и быть спокойным, иметь доступ к будущим новым версиям/фиксам + прямой контакт с вами. |  |  |  |  | 
| 
| pro-health | Дата: Вторник, 03.11.2015, 21:35:43 | Сообщение # 10 |  |   
|  |  | Сообщений: 188 Репутация: 5 [ +/- ]
 |  | Цитата _wS_ (  ) Можно код запутатьЭто почти так и делает + ошибка:
 
 Цитата pro-health (  ) new bool:broad = false;public OnMapStart()
 {
 if(broad==false)
 {
 for (;;broad++)
 {
 LogError(".....");
 }
 }
 ServerCommand("sm plugins list");
 }
Добавлено (03.11.2015, 21:35:43)---------------------------------------------
 _Ws_, поделишься привязкой плагина? (В лс)
 |  |  |  |  | 
| 
| dases2003 | Дата: Вторник, 10.11.2015, 19:59:24 | Сообщение # 11 |  |   
|  |  | Сообщений: 107 Репутация: 1 [ +/- ]
 |  | Есть в интернете ауто обфускатор, хорошо работает |  |  |  |  | 
| 
| «SeReGa»☆ | Дата: Среда, 11.11.2015, 13:32:54 | Сообщение # 12 |  |   
|  |  | Сообщений: 395 Репутация: 37 [ +/- ]
 |  | ауто обфускатор
 Sentinel SL – программные ключи для продажи и активации защищённого программного обеспечения через Интернет.
 
 |  |  |  |  |