Vlad2

Защита СЕ трейнеров

86 сообщений в этой теме

я знаю что сто процентной защиты нету, но я её и не просил,супер защиту, МОЁ ПОНЯТИЕ ТАКОЕ, ЕСЛИ ЗАХОТЯТ ВЗЛОМАТЬ, ВЗЛОМАЮТ БЕЗ ПРОБЛЕМ, я хотел простенько защитить, от компиляции  Decompiler CE и просмотра блокнотами, и редакторами.

 

НЕ БЫВАЕТ ЗАЩИТЫ, ОТ ХОРОШИ ГО ОТЛАДЧИКА.

Изменено пользователем Baracuda
0

Поделиться сообщением


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

 

1 минуту назад, Baracuda сказал:

я хотел простенько защитить

Baracuda, этот вопрос волнует не только тебя (волнует и других пользователей), мы с одним пользователем пробовали повторить способ Vlad2 из этого топика (у нас ничего не получилось).

Я отписался Vlad2, но пока ответа не было (Vlad2 - давно не заходил на форум).

 

1

Поделиться сообщением


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

вот вставь это в Lua и с генерируй Trainer большой exe

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

Put = getCheatEngineDir()
Len = string.len(Put)
Len = Len-10
Put = string.sub(Put, 0, Len)
os.remove(Put..'CET_Archive.dat')
f = assert(io.open(Put..'CET_Archive.dat', "a+"))
f:write('85s4328r54s848erf4'.."\n")
f:close()

 

но от этого толку мало надо как то закодировать это CET_Archive.dat, из этого файла копируется файла CE_TRAINER, надо как то защитить, 

чтобы при нажатии выдавало ошибку я так думаю.

Изменено пользователем Baracuda
0

Поделиться сообщением


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

вот это функция конечно уж совсем простенькая, но если её доработать, например поставить на неё не таймер, а клик мышки, при нажатии на определённый файл, выдавало ошибку, закрывался трейнер, или сделать на курсор мышки, навёл на файл он ошибку выдал, и трейнер закрылся ну как то так,

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

Client = 'taskmgr.exe' 
if (getProcessIDFromProcessName(Client)==nil) then
return end
closeCE()

 

 

Изменено пользователем Baracuda
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
17 минуту назад, Baracuda сказал:

вот вставь

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

 

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
37 минуты назад, Baracuda сказал:

я хотел простенько защитить, от компиляции  Decompiler CE

Тут же были два файлы их выкладывал на форум "Antonvit" что ли - не помню точно кто. Вот и защита якобы от декомпилятора для версии СЕ 6.5 можешь сам такую сделать на любые версии СЕ - исходник ведь есть СЕ - код тоже показан какой править. 

Если нужны вот они - до сех пор валяются. Но я всегда 6.4 использую из за размера трейнера. Чпоньк

0

Поделиться сообщением


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

это на какую версию Cheat Engine.

и как я сам могу сделать, я что то не понял. 

 

и где мене взять исходник

ТЫ БЫ НА ПРИМЕРЕ ПОКАЗАЛ, А ТО Я НЕ ТАКОЙ ЗНАТОК КАК ТЫ.

 

каким образом, я открою файл cheatengine-x86_64, или cheatengine-i386, я тебя не понял, ты бы подробно объяснил. 

Изменено пользователем Baracuda
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
47 минуты назад, Baracuda сказал:

 

это на какую версию Cheat Engine.

 

Написал же на 6.5 файлы - а исходник СЕ лежит на форуме у Дарк байта. Код указан какой править в этом исходнике - можешь сделать для любой версии свои файлы. Как компилить файлы у нас на форуме тоже есть тема.Я правда не знаю - там на 6.5.1 есть исходник или нет. Я этим не интересуюсь и в раздел исходных кодов давно там не заходил.  

Если тебе сойдут эти файлы - то просто кинь их в папку СЕ 6.5 с заменой и будет тебе антидекомпилятор от этой прибамбасины которая в сети декомпилирует CT файлы. А если хочешь что то подобное сам сделать, то вон написано как. Качаешь исход СЕ и правишь файл в СЕ один и собираешь по новой. Тема тут есть и на СЕ форуме она есть.  

Да и ещо одно - ты не сможешь делать маленькие трейнеры с этими файлами, а то есть CETRAINER - они не запустятся у других людей. Только "exe" 

В общем - если тебе нужен просто антидекомпилятор от декомпилятора - то просто кинь 2 файла в папку СЕ 6.5 и всё. А если ты хочешь на 6.4 сделать или 6.5.1 - то качай исход с СЕ форума и правь файлы и потом собирай уже из них. Думаю понятно обьяснил.

0

Поделиться сообщением


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

у меня есть две таблицы, я хочу сделать два трейнера. 

а эти файлы не подходят,  cheatengine-x86_64, или cheatengine-i386 я их в папку с программой кинул, запустил попробовал с генерировать Trainer, но он выдают ошибку,

так что придется править, надеюсь справлюсь.

 

исходный код вроде нашёл https://github.com/cheat-engine/cheat-engine/releases/tag/6.5.1

Изменено пользователем Baracuda
0

Поделиться сообщением


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

:) Странно как то. Я ими раз может пользовался - попробовал когда то ещо и так до сех пор они и валяются у меня. Не использую СЕ 6.5 и выше из за размера файла. Привык к 6.4 - там выходит у мня 2.5 -  2.8 но не как не 4.2 :) как в СЕ 6.5 Вот у нас на форуме поищи тему с компиляцией СЕ. Мне просто щас не когда - в игре сижу. Нашел вот тема Чпок  Теперь качай исходник и меняй там код - ну а какой, там же на форуме СЕ есть, хоть и в компе у мня есть где то, но не когда щас искать. Там ясно и понятно показано даже на скриншотах - дефолтный код и какой надо менять и на что менять. После компилишь и у тебя будет свои файлы. Почитай вот нему которую дал - там всё описано, что тебе понадобится для этого дела. 

 

Вот замена кода - даже какого указана. Файл тоже указан какой в исходе править надо. 

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

Index: OpenSave.pas 
=================================================================== 
--- OpenSave.pas   (revision 1672) 
+++ OpenSave.pas   (working copy) 
@@ -1173,24 +1173,24 @@ 
   for i:=f.Size-2 downto 0 do 
     m[i]:=m[i] xor m[i+1]; 
  
-  k:=$ce; 
+  k:=$cd; 
   for i:=0 to f.size-1 do 
   begin 
     m[i]:=m[i] xor k; 
-    inc(k); 
+    inc(k,2); 
   end; 
  
  
  
  
-  getmem(p,6); 
-  copymemory(p,m,5); 
-  p[5]:=#0; 
-  if p='CHEAT' then 
+  getmem(p,8); 
+  copymemory(p,m,7); 
+  p[7]:=#0; 
+  if p='BRICKED' then 
   begin 
     //new storage method 
  
-    f.Position:=5;  //skip "CHEAT" header 
+    f.Position:=7;  //skip "CHEAT" header 
  
     d:=Tdecompressionstream.create(f,true); 
  
@@ -1256,8 +1256,8 @@ 
   f.LoadFromFile(filename); 
   f2:=tmemorystream.create; 
  
-  s:='CHEAT'; 
-  f2.Write(s[1], 5); 
+  s:='BRICKED'; 
+  f2.Write(s[1], 7); 
  
   c:=Tcompressionstream.create(clmax, f2,true); 
  
@@ -1268,13 +1268,13 @@ 
   f.free; 
  
  
-  k:=$ce; 
+  k:=$cd; 
   m:=f2.Memory; 
  
   for i:=0 to f2.Size-1 do 
   begin 
     m[i]:=(m[i] xor k); 
-    inc(k); 
+    inc(k,2); 
   end; 
  
   for i:=0 to f2.Size-2 do 

 

Минус это чистый исход + на что надо править. 

Если не поймешь что то - то можешь на СЕ форуме попросить сделать это. Там помогут у людей уже всё установлено и сразу сделают. Там постоянно усовершенствуют что либо и тестируют в СЕ

0

Поделиться сообщением


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

Вроде как понял как

Изменено пользователем Baracuda
0

Поделиться сообщением


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

Там где минусы, надо заменить на плюсы, я правильно понял, больше не чего не трогать.

0

Поделиться сообщением


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

Recpec158 и Baracuda я так и не дождался ответа Vlad2 и от нечего делать сегодня ещё раз попробовал воспроизвести способ Vlad2  по защите СЕ трейнеров и вроде у меня всё получилось, поэтому для Вас заснял видео.

// В конце видео немного ошибся - при взломе трейнера нужно в поиск инструкций ставить не "jmp 01600000", а "jmp 016".

 

Видео:

 

Изменено пользователем Garik66
1

Поделиться сообщением


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

Я ему собрал СЕ 6.4 - но ему такое не надо - говорит я сам хочу научиться :) Сказал ему как - у него не выходит. Но думаю разберется со временем. 

0

Поделиться сообщением


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

Спасибо тебе Garik66, за видео, за старания, но я знаю про это всё, про Влада защиту вот не давно до петрил как надо делать. А про взлом через прыжки я знаю давно.

Изменено пользователем Baracuda
0

Поделиться сообщением


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

гарик66 ну например если сделан так трейнер то таким способом не валамать я правельно понимаю?

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

function ONdebugger(pmAddress)
if (debugState == 0) then
 debugState = 1
 debugProcess()
 debug_setBreakpoint(pmAddress)
end

if (debugState == 2) then
debugState = 3

debug_removeBreakpoint(pmAddress)
pause()
unpause()
adresgrav= ECX+0x20
adresgrav2= ECX+0x18
adresgrav3= ECX+0x10
end
end

--------------------------------------------------------------------------------
function Obzor_AOB3()
pause()
    results=AOBScan("F3 0F 7E 59 10 F3 0F 7E 51 18 F3 0F 7E 49 20 F3 0F 7E 86","+X-W-C")
    unpause()
  if (results~=nil) then
            count=stringlist_getCount(results)
        if (count==1) then
           pmAddress=getAddress(stringlist_getString(results,0))
               else

            object_destroy(results)
              results=nil
        end

    end
object_destroy(results)
     results=nil
debugState = 0
    ONdebugger(pmAddress)
end

 

 

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, horror113 сказал:

гарик66 ну например если сделан так трейнер то таким способом не валамать я правельно понимаю?

horror113, если ты про способ - поиска прыжков на инъекции трейнера, то да. Тот способ подходит если скрипты написаны на ассемблере.

Ты же не меняешь код игры и у тебя нету таких прыжков.

0

Поделиться сообщением


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

что это за способ у horror113, кто ни будь объяснит. Хотя бы примерно.

Изменено пользователем Baracuda
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Baracuda сказал:

что это за способ у horror113, кто ни будь объяснит. Хотя бы примерно.

Baracuda, я даже не знаю, как ответить на твой вопрос.

Что тебе не понятно?

 

Если ты напишешь трейнер, не используя СЕ (написав например его на Плюсах, Шарпе и т.д.), то твой трейнер с помощью decompiler ce trainer не вскроют.

Если ты будешь вписывать нужное тебе значение непосредственно в адрес, а не делая инъекцию (т.е. не используя прыжки jmp newmem). то также не смогут вскрыть твой трейнер с помощью предложенного мною способа на видео.    

0

Поделиться сообщением


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

Я вообще не понимаю зачем это нужно, кому надо тот взломает все.

Правильно Garik66 говорит нечего тут скрывать, защищать. Я пробовал защищать трейнер разными способами, а потом сам же их пробовал взломать.

И взломать их на много проще чем защитить. Так что для себя я сделал вывод, просто забил на защиту. Я тут с форума качал измененные СЕ файлы и защищал от декомпилятора.

Скажу так что это защита от не опытных пользователей. Продвинутый взломает твой трейнер BARACUDA за 2 мин...

0

Поделиться сообщением


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

Смотря какие функции будут в трейнере. Если сложные, то от не понимающего в этом человека можно их скрыть простенькой защитой. А тот кто понимает в этом - сам их сделает.  Воруют же только то, что сами сделать  не могут или не знают как это сделать. А если захотят взломать,трейнер всё равно же что то записывает (какой бы он не был) и тот кто понимает, выследит изменения. От не понимающих людей - достаточно от декомпилятара защитить и от СЕ и всё, а выше защиту без толку делать - не стоит она того и как бы ты её не делал, всё равно взломают. Так зачем на это тратить своё время ? 

0

Поделиться сообщением


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

да ребята, я вас понимаю, я хорошо знаю что нельзя защитить Trainer на 100 процентов, я уже обетом говорил, я и не собирался, просто я в этом человек новый, так что разбираюсь в этом не очень, вот мене и интересно, как и что устроена. а защиту от не опытных всё равно надо ставить. 

 

Спасибо за разъяснения  

Изменено пользователем Baracuda
0

Поделиться сообщением


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

Да трейнер от влада даже школьник хакнет, исходник lua сам распаковыется пффф в temp 

тут дело скорости, как ты быстро успеешь скопировать этот lua.

Изменено пользователем Recpec158
0

Поделиться сообщением


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

Это тот же CE архив и так же распаковывается в %temp% вот только еще драйвер распаковывает

Изменено пользователем partoftheworlD
1

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас