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

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

Никак не выходит взломать, все значения которые удаётся обнаружить - динамические
Ресурс в игре всего один (!)
Помогите пожалуйста взломать

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

3 часа назад, Vito5559 сказал:

Никак не выходит взломать, все значения которые удаётся обнаружить - динамические
Ресурс в игре всего один (!)
Помогите пожалуйста взломать

Подробнее - как искал значения, что нашел, что не нашел, что пытался сделать, что не получилось, какие скрипты писал и на какие инструкции. Если же ничего этого не делал, тогда тебе в "Платные запросы".

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

3 часа назад, Vito5559 сказал:

Никак не выходит взломать, все значения которые удаётся обнаружить - динамические

Предлагаю поискать заново с моим плагином логов и эти логи выложить

Установка: скопировать GHL_log.lua в директорию Cheat Engine "/autorun"

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

7 часов назад, MasterGH сказал:

Предлагаю поискать заново с моим плагином логов и эти логи выложить

Установка: скопировать GHL_log.lua в директорию Cheat Engine "/autorun"

Итак:
--------------1)Ищем целые 4 байтовые
"Start session 1. Process: 00000EE4-Protolife.exe 
07.22.18 11:49:00   First scan. Scan type "Exact Value". Value 39. Value type "4 Bytes". Found 518 
07.22.18 11:49:12   Next scan1. Scan type "Exact Value". Value 34. Found 0 "
--------------2)Ищем диапазон с точкой 
"Start session 2. Process: 00000EE4-Protolife.exe 
07.22.18 11:51:11   First scan. Scan type "Value between...". Value 33. Value type "Float". Found 49 
07.22.18 11:51:36   Next scan1. Scan type "Value between...". Value 29. Found 0 "

--------------3)Ищем дублы(не в курсе что это)
"Start session 3. Process: 00000EE4-Protolife.exe 
07.22.18 11:53:04   First scan. Scan type "Value between...". Value 29. Value type "Double". Found 3 
07.22.18 11:53:23   Next scan1. Scan type "Value between...". Value 27. Found 0 "

--------------4)

"Start session 4. Process: 00000EE4-Protolife.exe 
07.22.18 11:54:24   First scan. Scan type "Value between...". Value 27. Value type "2 Bytes". Found 7,251 
07.22.18 11:54:36   Next scan1. Scan type "Value between...". Value 33. Found 0 "

--------------5)Ну и наконец All

"Start session 5. Process: 00000EE4-Protolife.exe 
07.22.18 11:55:18   First scan. Scan type "Value between...". Value 33. Value type "All". Found 3,446 
07.22.18 11:55:28   Next scan1. Scan type "Value between...". Value 29. Found 0 "


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

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

Спасибо за логи. Это информация поможет в улучшении плагина. 

 

Что можно сделать судя по логам

Вариант 1

1) Можно искать не известный тип: 4 байта, float, 1 байт, 2 байтаDouble. Либо попробовать сначала сразу все типы: Value type "All" (если это не очень долгий поиск)

2) Затем отсеивание "Увеличилось", "Уменьшилось" пока не найдется адрес

Поиск может быть от минуты и более. 

Вариант 2  с типами данных (4 байта, float, 1 байт, 2 байтаDouble) , что и выше, только наоборот, когда значение уменьшается в игре, то искать увеличилось, когда увеличилось в игре — уменьшилось при отсеве.

Вариант 3 с типами данных(4 байта, float, 1 байт, 2 байтаDouble), что и выше искать изменилось, не изменилось.

Вариант 4 искать адрес текста. Ставить брейкопинт на запись и исследовать код.

 

Если не получится найти, как будет время посмотрю игру

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

1 час назад, MasterGH сказал:

Если не получится найти, как будет время посмотрю игру

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

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

56 минут назад, Vito5559 сказал:

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

На самом деле все очень просто. Если хочешь сам разобраться, то не смотри спойлеры. 

Спойлер

4 байта неизвестное увеличилось(когда увеличилось)/ уменьшилось(когда уменьшилось. Потом узнаем что реальное значение 50*20 (где 50 это тол что на экране

Для написания скрипта, нужно будет ещё и фильтровать,так как с большим количеством адресов работает инструкция.
Также, если хочешь сам написать скрипт, не смотри спойлер (скрипт "Infinite blue block"?

Спойлер

{ Game   : Protolife.exe
  Version: 
  Date   : 2018-07-22
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscan(INJECT,89 74 02 FF 89 F0) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(INJECT)

newmem:
  cmp [edx+eax-01+34],#100
  jne code
  cmp esi,[edx+eax-01]
  ja code
  mov esi,[edx+eax-01]

code:
  mov [edx+eax-01],esi
  mov eax,esi
  jmp return

INJECT:
  jmp newmem
  db 90
  return:

[DISABLE]
INJECT:
  db 89 74 02 FF 89 F0

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 26CF2787

""+26CF2763: 25 00 00 FC 7F     -  and eax,7FFC0000
""+26CF2768: C1 E8 12           -  shr eax,12
""+26CF276B: 8B 75 10           -  mov esi,[ebp+10]
""+26CF276E: 89 74 01 FF        -  mov [ecx+eax-01],esi
""+26CF2772: 89 F0              -  mov eax,esi
""+26CF2774: E9 3C F3 FF FF     -  jmp 26CF1AB5
""+26CF2779: 25 00 00 FC 7F     -  and eax,7FFC0000
""+26CF277E: C1 E8 12           -  shr eax,12
""+26CF2781: 8B 75 10           -  mov esi,[ebp+10]
""+26CF2784: 8B 55 F8           -  mov edx,[ebp-08]
// ---------- INJECTING HERE ----------
""+26CF2787: 89 74 02 FF        -  mov [edx+eax-01],esi
""+26CF278B: 89 F0              -  mov eax,esi
// ---------- DONE INJECTING  ----------
""+26CF278D: E9 23 F3 FF FF     -  jmp 26CF1AB5
""+26CF2792: 8B 75 10           -  mov esi,[ebp+10]
""+26CF2795: 8B 55 F8           -  mov edx,[ebp-08]
""+26CF2798: 66 F7 C6 01 00     -  test si,0001
""+26CF279D: 74 15              -  je 26CF27B4
""+26CF279F: BF 69 42 E0 09     -  mov edi,09E04269
""+26CF27A4: 39 7E FF           -  cmp [esi-01],edi
""+26CF27A7: 0F 85 61 04 00 00  -  jne 26CF2C0E
""+26CF27AD: F2 0F 10 4E 03     -  movsd xmm1,[esi+03]
""+26CF27B2: EB 08              -  jmp 26CF27BC
}

 

 

ЗЫ: фильтр может быть нужно лучше подобрать - я не тестировал.

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

5 минут назад, Garik66 сказал:

На самом деле все очень просто. Если хочешь сам разобраться, то не смотри спойлеры. 

Очень уж сложно в эти ваши скрипты, хотел бы, но сложно
Попробую установить ваш)

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

14 минут назад, Vito5559 сказал:

Очень уж сложно в эти ваши скрипты, хотел бы, но сложно

:D смотри видео-уроки

14 минут назад, Vito5559 сказал:

Попробую установить ваш)

Отпишись - работает? 
При подборе - увеличивается, при строительстве не уменьшается.

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

5 минут назад, Garik66 сказал:

Отпишись - работает? 
При подборе - увеличивается, при строительстве не уменьшается.

А как инстализировать скрипт?)))):wacko:

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

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

Выбираем последний как на картинке слева

ДА Я забыл об этом написать :D

5 минут назад, Vito5559 сказал:

А как инстализировать скрипт?)))):wacko:

 

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

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

ЗЫ: и не забудь подключиться к самому последнему процессу игры как написал @MasterGH выше - ТЫК

А какие функции то у скрипта?)

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

Только что, Vito5559 сказал:

А какие функции то у скрипта?)

 

21 минуту назад, Garik66 сказал:

При подборе - увеличивается, при строительстве не уменьшается.

 

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

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

При подборе - увеличивается, при строительстве не уменьшается.

ААааааааааааааа, понятно


ЗЫ: ВСЁ РАБОТАЕТ ИДЕАЛЬНО:D

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

Lua скрипт добавить в таблицу. CE будет будет подключаться к процессам по имени и искать уникальную сигнатуру. После того как сигнатура будет найдена подключение к процессам остановится.

Спойлер

function onTimerFindProcess()
	timerfindProcess.Enabled = false
	local processName = "Protolife.exe"
	local processTables = getProcesslist()
	for key, value in pairs(processTables) do
		if value == processName then
			openProcess(key)
			--print('Try open process pid: '..key)
			local signature = '3B FB 74 55 83 C1 03 23 4D E8 8D 54 49 05 8B 7C 90 07 3B FE'
			local results = AOBScan(signature, "+X-C*W")
			if results ~= nil then
			  local address = results[0]
			  --print(address)
			  timerfindProcess.Enabled = false
			  return
			end
		end
	end
	timerfindProcess.Enabled = true
end

timerfindProcess = createTimer(nil)
timerfindProcess.Interval = 1000
timerfindProcess.OnTimer = onTimerFindProcess

 

 

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

  • 2 месяца спустя...
В 22.07.2018 в 13:15, Garik66 сказал:

скрипт "Infinite blue block"

Либо я дурак либо лыжи не едут:

А можно табличкой оформить?

[Window Title]
Ошибка

[Content]
Ошибка в строке 18 (cmp [edx+eax-01+34],#100): Эта инструкция не может быть скомпилирована

[Подтвердить]

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

1 час назад, Aquilo сказал:

А можно табличкой оформить?

При подключении СЕ к игре выбирай самый нижний процесс игры (их там три)

 

Protolife.CT

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

Цитата

[Window Title]
Предупреждение

[Content]
Не весь код пригоден к инъекции.
(Ошибка в строке 17 (cmp [edx+eax-01+34],#100): Эта инструкция не может быть скомпилирована)
Вы уверены, что не хотите отредактировать его?


[Да] [Нет]

Та-же ругань в тоже место.  Может у меня  Cheat Engine не той системы?

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

6 часов назад, Aquilo сказал:

Та-же ругань в тоже место.  Может у меня  Cheat Engine не той системы?

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

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

1 час назад, Aquilo сказал:

Галка не ставиться, может какой плагин нужен?

Плагин - нет.

Выбрал правильный игровой процесс?

 

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

3 часа назад, Aquilo сказал:

Галка не ставиться, может какой плагин нужен?

Игра в двух вариантах.. Одна х32 - другая х64 ... На какой включаешь, не понятно. На х64 подобное работать не будет.

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

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

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

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