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

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

Есть случаи когда находятся адреса, но в инструкцию не запишешь ничего вылет будет

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


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

Мастер, я обесчестил Xlive на Resident Evil 5 ;). Теперь нужно написать скрипт я хз как сделать чтоб было вместо je jmp:

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

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:

originalcode:
je 0182862B
push [ebp+14]

exit:
jmp returnhere

"xlive.dll"+138615:
jmp newmem
returnhere:


[DISABLE]
dealloc(newmem)
"xlive.dll"+138615:
je 0182862B
push [ebp+14]
//Alt: db 74 14 FF 75 14

 

post-2842-1310383384,05_thumb.jpg

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


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

Достаточно поменять всего один байт - в 74 14 (опкоды) надо прописать EB 14.

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


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

А можно показать как будет выглядеть скрипт с такими записями?

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


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

Мой скрипт такой

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

[ENABLE]
aobscan(_faddress,74xxxxxxxx8bxxxxxxxxxxe8xxxxxxxx8bxx85xx7cxxf6xxxx74xx8bxxe8)
_faddress: // 6CCF13AA = xlive.dll+F13AA
db EB 14

[DISABLE]
aobscan(_faddress,8bxxxxxxxxxxe8xxxxxxxx8bxx85xx7cxxf6xxxx74xx8bxxe8)
_faddress-5:
db 74 14

 

 

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


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

db EB 14 FF 75 14 - Зачем эти три лишних байта? Достаточно просто db EB 14

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


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

Я aobscan ставить не умею

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


Ссылка на сообщение
Поделиться на другие сайты
В 11.07.2011в21:53, Izmalkoff сказал:

Я absoscan ставить не умею

 

На форуме написано по каким правилам составляется цепочка байт, там написано как пользоваться aobscan. Им можно пользоваться в Автоассемблере, а можно на Lua.

Скрипт

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

[ENABLE]
 aobscan(_faddress,74xxxxxxxx8bxxxxxxxxxxe8xxxxxxxx8bxx85xx7cxxf6xxxx74xx8bxxe8)
 _faddress: // 6CCF13AA = xlive.dll+F13AA
 db EB 14

 [DISABLE]
 aobscan(_faddress,8bxxxxxxxxxxe8xxxxxxxx8bxx85xx7cxxf6xxxx74xx8bxxe8)
 _faddress-5:
 db 74 14

 

Можно переделать на этот:

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

[ENABLE]
 aobscan(_faddress,74xxxxxxxx8bxxxxxxxxxxe8xxxxxxxx8bxx85xx7cxxf6xxxx74xx8bxxe8)
label(xliveLabel)
registersymbol(xliveLabel) 

 _faddress: // 6CCF13AA = xlive.dll+F13AA
xliveLabel:
 db EB 14

[DISABLE]
xliveLabel:
 db 74 14

 

А можно и на этот на Lua (но я не проверял):

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

local function ByteScan(signature, typeMem) -- return address
local results = nil
results = AOBScan(signature, typeMem) -- typeMem = "+X-C-W" and any
if (results == nil) then
messageDialog("Ошибка. Не найден адрес внедрения.\n\rТрейнер будет закрыт!",1, 2)
closeCE()
return caFree
end
local address = stringlist_getString(results, 0)
object_destroy(results);
return address
end

local AA_XLIVEcodeEnable = ""
local AA_XLIVEcodeDisable = ""

function DisableXLIVE()
autoAssemble(AA_XLIVEcodeEnable)
end

function EnableXLIVE()
autoAssemble(AA_XLIVEcodeDisable)
end

function InitAndDisableXLIVE()
-- Если "+X-C-W" не точно, то поставить свои правила
local xliveAddr = ByteScan("74xxxxxxxx8bxxxxxxxxxxe8xxxxxxxx8bxx85xx7cxxf6xxxx74xx8bxxe8", "+X-C-W")

AA_XLIVEcodeEnable = [[
]]..xliveAddr..[[: // 6CCF13AA = xlive.dll+F13AA
db EB 14
]]

AA_XLIVEcodeDisable = [[
]]..xliveAddr..[[: // 6CCF13AA = xlive.dll+F13AA
db 74 14
]]

DisableXLIVE()
end

 

 

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


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

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

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


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

Один фиг не догоняю про этот aobscan. Вообще СЕ его сам делает или пользователь? Укажите где есть тутор по этому делу

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


Ссылка на сообщение
Поделиться на другие сайты
В 11.07.2011в01:50, Izmalkoff сказал:

Один фиг не догоняю про этот aobscan. Вообще СЕ его сам делает или пользователь? Укажите где есть тутор по этому делу

 

В версии CE 5.6.1 RUS (v1.0) там при создание скрипта сам генерирует (CE)

Пример:

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

[ENABLE]
 aobscan(_faddress,89xxxx8dxxxx8bxxxx8dxxxx89xxxxxxxxxx8bxxxxxxxxxx89xxxxebxxff)
 alloc(_newmem,2048)
 label(_returnhere)
 label(_originalcode)

_newmem:

_originalcode:
 mov [edx+08],ecx
 lea edx,[eax+eax*2]
 jmp _returnhere

_faddress:    // 0062975E = CE_RUS ver 1_0.exe+22975E
 jmp _newmem
 nop
_returnhere:

[DISABLE]
 aobscan(_faddress,908bxxxx8dxxxx89xxxxxxxxxx8bxxxxxxxxxx89xxxxebxxff)

_faddress-5:
 mov [edx+08],ecx
 lea edx,[eax+eax*2]

 dealloc(_newmem)
//Alt: db 89 4A 08 8D 14 40

 

 

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


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

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

Действительно одного байта достаточно. Я не углядел. Что имелось ввиду под понятием "баланса" я не понял. К вылету приведёт, если код запишет не туда и не то, что надо.

Тем кто не знает где прочитать информацию по цепочкам байтов - ссылка.

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


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

Мой:

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

[ENABLE]
 aobscan(_faddress,74xxxxxxxx8bxxxxxxxxxxe8xxxxxxxx8bxx85xx7cxxf6xxxx74xx8bxxe8xxxx)
_faddress:    // 01828615 = xlive.dll+138615
label(xliveHack)
registersymbol(xliveHack)

xliveHack:
 db EB 14

[DISABLE]
xliveHack:
 db 74 14

 

Zocker за подсказку спасибо

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


Ссылка на сообщение
Поделиться на другие сайты
Что имелось ввиду под понятием "баланса" я не понял
Имелось в виду, что записывать надо количество байт, равное количеству байт затираемой инструкции. То есть, примерно так же, как с нопами, если затирается меньше байт, чем нужно, остальное балансируется. Так и здесь, хотя достаточно поменять всего один байт, желательно таки записывать все равно два байта, ибо инструкция длиной всего два байта. В большинстве случаев это не принципиально, но я сталкивался с парой игр (The Sims, The Sims 2, The Sims 3), которые вылетали, если в инструкции прыжка менять один байт вместо двух. С чем это связано - я сам не понял. Но факт есть факт.

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


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

Всем доброго времени суток... Есть небольшая проблема с отключением X_live..

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

[ENABLE]
alloc(MyCode,1024)

aobscan(CRCCheck,8b ff 55 8b ec 83 ec 20 53 56 57 8d 45 e0)

label(_XLive)

registersymbol(_XLive)

CRCCheck:
_XLive:
 ret 000c

[DISABLE]

_XLive:
 db 8b,ff,55,8b,ec,83,ec,20,53,56,57,8d,45,e0

unregistersymbol(_XLive)

 

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

 
8b ff 55 8b ec 83 ec 20 53 56 57 8d 45 e0

стал находить два адреса... и инъекцию делает тока на первом.. а надо делать на втором..

Если кто знает как решить эту проблему ... жду ответа..

спс.

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


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

Вот одно из решений на Lua. При присоединении к процессу игры происходит запись в найденный второй адрес

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

----------Lua XLIVE Disabled----------------------------------------
function XliveVersion1()
	signature_XLive = '8b ff 55 8b ec 83 ec 20 53 56 57 8d 45 e0'
	indexAddress = 1 -- отсчёт идёт от нуля, т.е. 0 - это первый адрес, 1 - это второй адрес
	address_XLive = ByteScan(signature_XLive, indexAddress)

	AACode = address_XLive..[[:
	ret 000c
	]]

	autoAssemble(AACode)
end

function ByteScan(signature, indexAddress)
  local results = AOBScan(signature, "+X-C-W")
  if (results == nil) then
    messageDialog("Ошибка. Не найден адрес.\n\rТрейнер будет закрыт!",1, 2)
    closeCE()
    return
  end
  local address = stringlist_getString(results, indexAddress)
  return address
end

---------------------------------------------------

function onOpenProcess(processid)
 reinitializeSymbolhandler()
 XliveVersion1()
end

 

 

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


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

Как отключить xlive в gta 4 ?

Воспользоваться программой xliveless

как подключиться к xlive.dll ?

Что ты имеешь в виду под словом "подключиться"?

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


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

я  некак неможу найти патроны в Gears of War всяким способом пробовал  4 байта 1 2 байта после второго отсеивания  всё пусто а жизнь тоже номог найти но потом   нашол кординаты игрока и там жизнь и скорость передвижение , наверно ето зло  антиваномас защита  xlive.dll  не дает найти патроны 

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


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, ЛАГАРИУМ сказал:

я  некак неможу найти патроны в Gears of War всяким способом пробовал  4 байта 1 2 байта после второго отсеивания  всё пусто а жизнь тоже номог найти но потом   нашол кординаты игрока и там жизнь и скорость передвижение , наверно ето зло  антиваномас защита  xlive.dll  не дает найти патроны 

Причем здесь поиск и 

 

10 минут назад, ЛАГАРИУМ сказал:

xlive

Попробуй неизвестное - патроны могут быть и во флоат, и зашифрованные, и т.д. 

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


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

Причем здесь поиск и 

 

Попробуй неизвестное - патроны могут быть и во флоат

пробовал флоат, пробовал через fov  выйти на патроны но там вроде нет патронов   смотрел в WarWeapon.ini   fov рядом стоит с патронами но в памяти вроде нет

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


Ссылка на сообщение
Поделиться на другие сайты
11 минут назад, ЛАГАРИУМ сказал:

пробовал флоат, пробовал через fov  выйти на патроны но там вроде нет патронов   смотрел в WarWeapon.ini   fov рядом стоит с патронами но в памяти вроде нет

 

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

Попробуй неизвестное

 

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


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

 

 

пробовал  нето , иду дальше пробовать

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


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, ЛАГАРИУМ сказал:

я  некак неможу найти патроны в Gears of War

А что за игра такая ? Может и я в  неё поиграл бы :) Можно ссылку ? ну естественно официальную, а не на Rip

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Предпросмотр

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

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

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