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

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

Я сделал скрипт в СЕ и он работает нормально но после того как я сделал в нем "AOBSCAN" он активируется где-то после 5-10 секунд и в то время СЕ очень сильно зависает, подскажите почему это так и как это решить?

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

Если после задержки скрипт активируется, значит столько времени занимает поиск байтов.

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

а есть какой-то способ ускорить этот поиск???

Сделай процесс многопоточным...Разгони проц до 100500 ГГц И супер быструю оперативу купи

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

Я сделал скрипт в СЕ и он работает нормально но после того как я сделал в нем "AOBSCAN" он активируется где-то после 5-10 секунд и в то время СЕ очень сильно зависает, подскажите почему это так и как это решить?

Возможно поиск значительно ускорить, если сканировать не скриптами АА, а Lua с указанием типа памяти при сканировании.

Цитата из main.lua:

AOBScan("aobstring", protectionflags OPTIONAL, alignmenttype OPTIONAL, alignmentparam HALFOPTIONAL):

protectionflags is a string.

X=Executable W=Writable memory C=Copy On Write. Add a + to indicate that flag MUST be set and a - to indicate that that flag MUST NOT be set. (* sets it to don't care)

Examples:

+W-C = Writable memory exluding copy on write and doesn't care about the Executable flag

+X-C-W = Find readonly executable memory

+W = Finds all writable memory and don't care about copy on write or execute

"" = Find everything (is the same as "*X*C*W" )

alignmenttype is an integer:

0=No alignment check

1=Address must be dividable by alignmentparam

2=Address must end with alignmentparam

alignmentparam is a string which either holds the value the addresses must be dividable by or what the last digits of the address must be

Можешь поискать примеры в Интернете.

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

Возможно поиск значительно ускорить, если сканировать не скриптами АА, а Lua с указанием типа памяти при сканировании.

Цитата из main.lua:

Можешь поискать примеры в Интернете.

а можешь сделать видео или туториал как делать такого рода Аобскан???
Ссылка на комментарий
Поделиться на другие сайты

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

Видео нет, а пример могу.


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

local address = stringlist_getString(results, 0)
destroy(results)
return address
end

function Cheat0()
--1 Убрать отдачу на руку
local workAddres = ByteScan("e8xxxxxxxx8bxxxxxx83xxxx33xx80xxxxxx75xx8bxxxxxxf7")
local workTemplateAsmText = [[
->>address:
db 90 90 90 90 90]]
workTemplateAsmText = string.gsub(workTemplateAsmText, "->>address", workAddres)
autoAssemble(workTemplateAsmText)

--2 Устойчивый прицел при стрельбе
--3 Устойчивый прицел при беге
--Устойчивый прицел при беге
local workAddres1 = ByteScan("d9xxd9xxxxd9xxxxd9xxxxxxxxxxdexxdfxxf6xxxx75xxd9xxxxxxxxxxd9")
workAddres1 = string.format("%x", ("0x"..workAddres1) + 8)
-- Устойчивый прицел при стрельбе
local workAddres2 = ByteScan("d9xxxxxxxxxx75xxd9xxxxxxxxxxd8xxxxxxd8xxdfxxf6xxxx7axxd9")

local workTemplateAsmText = [[
alloc(newmem1,2048)
label(newmem2)
label(returnhere1)
label(originalcode1)
label(returnhere2)
label(originalcode2)
newmem1:
fstp st
fldz
originalcode1:
fstp dword ptr [ebx+00000624]
jmp returnhere1
newmem2:
fstp st
fldz
originalcode2:
fst dword ptr [ecx+00000624]
jmp returnhere2
->>address1:
jmp newmem1
nop
returnhere1:
->>address2:
jmp newmem2
nop
returnhere2:
]]
workTemplateAsmText = string.gsub(workTemplateAsmText, "->>address2", workAddres1)
workTemplateAsmText = string.gsub(workTemplateAsmText, "->>address1", workAddres2)

autoAssemble(workTemplateAsmText)
beep()
end

function DisableCheat0()
---...функцию DisableCheat0() нужно будет написать
beep()
end


Функцию Cheat0 можно связать с горячими клавишами через Lua или кривым способом для тестов через АА:


[ENABLE]
luacall(Cheat0())
[DISABLE]
luacall(DisableCheat0())

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

Видео нет, а пример могу.


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

local address = stringlist_getString(results, 0)
destroy(results)
return address
end

function Cheat0()
--1 Убрать отдачу на руку
local workAddres = ByteScan("e8xxxxxxxx8bxxxxxx83xxxx33xx80xxxxxx75xx8bxxxxxxf7")
local workTemplateAsmText = [[
->>address:
db 90 90 90 90 90]]
workTemplateAsmText = string.gsub(workTemplateAsmText, "->>address", workAddres)
autoAssemble(workTemplateAsmText)

--2 Устойчивый прицел при стрельбе
--3 Устойчивый прицел при беге
--Устойчивый прицел при беге
local workAddres1 = ByteScan("d9xxd9xxxxd9xxxxd9xxxxxxxxxxdexxdfxxf6xxxx75xxd9xxxxxxxxxxd9")
workAddres1 = string.format("%x", ("0x"..workAddres1) + 8)
-- Устойчивый прицел при стрельбе
local workAddres2 = ByteScan("d9xxxxxxxxxx75xxd9xxxxxxxxxxd8xxxxxxd8xxdfxxf6xxxx7axxd9")

local workTemplateAsmText = [[
alloc(newmem1,2048)
label(newmem2)
label(returnhere1)
label(originalcode1)
label(returnhere2)
label(originalcode2)
newmem1:
fstp st
fldz
originalcode1:
fstp dword ptr [ebx+00000624]
jmp returnhere1
newmem2:
fstp st
fldz
originalcode2:
fst dword ptr [ecx+00000624]
jmp returnhere2
->>address1:
jmp newmem1
nop
returnhere1:
->>address2:
jmp newmem2
nop
returnhere2:
]]
workTemplateAsmText = string.gsub(workTemplateAsmText, "->>address2", workAddres1)
workTemplateAsmText = string.gsub(workTemplateAsmText, "->>address1", workAddres2)

autoAssemble(workTemplateAsmText)
beep()
end

function DisableCheat0()
---...функцию DisableCheat0() нужно будет написать
beep()
end


Функцию Cheat0 можно связать с горячими клавишами через Lua или кривым способом для тестов через АА:


[ENABLE]
luacall(Cheat0())
[DISABLE]
luacall(DisableCheat0())

Спасибо

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

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

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

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