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

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

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

 

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

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

 

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
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

 

 

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

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

вот вставь

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

 

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

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

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

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

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

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

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

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

 

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

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

 

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

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

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

 

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

 

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

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

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

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

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

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

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

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

 

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

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

:) Странно как то. Я ими раз может пользовался - попробовал когда то ещо и так до сех пор они и валяются у меня. Не использую СЕ 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 

 

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

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

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

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

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

 

Видео:

 

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

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

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

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

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

гарик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

 

 

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

4 часа назад, horror113 сказал:

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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