• Объявления

    • Garik66

      Пользователям форума   05.11.2017

      Прошу обратить внимание на эту тему (чтобы увидеть ссылку, войдите в объявление - нажмите на заголовок):   
Akama

XLive

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

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

0

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


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

Мастер, я обесчестил 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

0

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


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

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

0

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


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

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

0

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


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

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

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

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

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

 

 

0

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


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

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

0

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


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

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

0

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


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

 

 

0

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


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

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

0

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


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

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

0

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


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

 

 

1

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


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

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

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

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

0

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


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

Мой:

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

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

xliveHack:
 db EB 14

[DISABLE]
xliveHack:
 db 74 14

 

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

0

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


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

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


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

Всем доброго времени суток... Есть небольшая проблема с отключением 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

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

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

спс.

0

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


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

Вот одно из решений на 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

 

 

0

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


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

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

0

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


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

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

0

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


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

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

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

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

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

0

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


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

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

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

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

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


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

Войти

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


Войти сейчас