-
Постов
62 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные misha
-
-
print () я для наглядности привел, в оригин коде у меня все чисто.
А с прыжком пойду попробую
-
Дело в том, что надо ставить брейкпоинт на инструкции (выделить её и нажать F5).
Когда брейкпоинт сработает, тогда сработает функция debugger_onBreakpoint()
Аналогично, проверял, вручную тормозится на все ссылаемые адреса (последовательное нажатие ф9 после запуска брейкпойнта по ф5).
Инструкция ссылается на адреса около 2000раз в сек.
-
Тему не буду новую открывать, итак напостил)
Сталкивался уже давно, что дебаггер СЕ в скриптовом режиме плохо работает с высокочастотными инструкциями.
К примеру беру в игре адрес,
Выводит мне n-адресов. Пишу скрипт вида
function debugger_onBreakpoint()
debugState = 2
ONdebugger()
return 1
end
........
function ONdebugger(adres)
...............
adres0=EAX+10
print (adres0)
endВ итоге скрипт не выводит ничего.
Может есть какие-то скрытые параметры дебаггера СЕ или в чем может быть дело?
-
Здравствуйте!
Суть такова:
1) Ищу адреса в виде массива
2) По хоткею идет обработка массива вида:
for i=1, 30 do
writedouble (massiv_adresov[i], 100)
endВ игре происходит мини подвисание, в чем может быть причина?
ПС если разложить массив на отдельные адреса и каждый адрес прописывать отдельным writedouble, а не циклом, то никаких торможений не наблюдал.
-
Можно использовать tonumber. Пример:
function CEButton1Click(sender)
local a = tonumber(control_getCaption(UDF1_CEEdit1))
local b = 20
if a < b then
print("a < b")
end
endСпасибо большое.
-
Собственно, в тренере использую поле ввода, потом в коде с него берется текст. Можно ли брать число (сделать так, чтобы можно вводить только числа), чтобы потом использовать с ним операции сравнения?
------------------------------------
edit1=createEdit(frmtrainer)
--------------------------------
a=getProperty(edit1, "Text")
--------------------------------
b=20
if a<b then
------------------
end
------------------Вылетает ошибка, что a-строковая переменная или содежит текст.
-
Забыл указать, что СЕ, поправьте заголовок.
Да получается изврат- и там и сям делать)
Пришлось создавать в визуале форму с AlphaBlend =0 , и которая по созданию сразу прячется.
Зря тогда надпись в генераторе визуальном гласит, что собрав трейнер вручную- Вы почувствуете всю мощь луа
Но почему то такой способ не катит- не работает поиск сигнатуры в той форме, что вручную создается.
Вы говорили про
2) Либо делай свой диалог и откажись от openDialog_executeКак такое можно с пом луа сварганить?
-
собственно в мануалах есть как вызывать диалог выбора файла:
openDialog_execute( frmExampleTrainer_odExampleTrainer )frmExampleTrainer- это имя вормы трейнера,
odExampleTrainer- имя диалога.
Так вот последнее нужно создать, но нигде не нахожу как?
ПС в визуальном редакторе решения не предлагать
-
Вообще я пользовался знаком "$" начиная с CE 6.1 (вроде) и у меня проблем не было. Но примеры скриптов куда-то дел уже не помню.
Сначала этим путем и пытался, но с чего то не выходило.
-
я разобрался. спросил у даркбайта)
-
также не работает как и этот код. Тут переменная addressMoneyAobscan не распознается внутри ААскрипта. Спасает вставка Аобскана внутрь ААскрипта, но тогда в остальном главном скрипте переменную никак не распознать!
-
Подошло!
А как манипулировать активацией и деактивацией?
-
Под newmem конечно поставлю код.
Вручную скрипт прекрасно выполняется в СЕ, а вот как завернуть в скрипт трейнера я хз.
-
Привет! Использовал раньше вставки ассемблера для стационарных адресов, а сейчас понадобилось для адреса, найденного с помощью аобскан. Как быть?
Простое подставление в код не помогает.
Вот пример:
results=AOBScan("83 C4 10 F3 0F 7E 4D D8 66 0F 57 C0 F2 0F 2A C0 F2 0F 59 C8 66 0F D6 4D E0","+X-W-C")
count=stringlist_getCount(results)
address_aob1 =getAddress(stringlist_getString(results,0))
workTemplateAsmText1 = [[
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
originalcode:
mulsd xmm1,xmm0
mov [ebp-20],00000000
exit:
jmp returnhere
]]..address_aob1..[[
jmp newmem
nop
nop
nop
nop
returnhere: ]]
autoAssemble(workTemplateAsmText1) -
Я тебя понял. Но адрес который я нашел как раз тот, что нужен. Если я от него найду адрес, который получает доступ к нему, то его сложно морозить, тк обращается он ко многим другим адресам
Принцип заморозки буду так и делать прописывать значение в адрес.
-
Сорри, но для меня не очень понятно.
-
Да это понятно. Код пусть будет самый простой-поиск адреса и его заморозка.
1-ищу аобсканом по сигнатуре адрес
2-хочу этот адрес заморозить с пом меморирекорд
memoryrecord_freeze (adresnaydenniy,0)Никакой заморозки не происходит.
memoryrecord_freeze(memoryrecord, 0)тут memoryrecord- что это?
-
Собственно пытался использовать
memoryrecord_freezeНо ничего не морозит.
И как сейчас на форуме писать в личку?
-
Заполняется более подробное руководство (хотя оно уже как минимум не делю не обновлялось). Большое количество примеров можно найти на форуме CE и там же задать вопрос. А для более искушенных - тех, кто хочет знать ответы на любые вопросы, которые не обсуждались на этом форуме могут задать вопрос на форуме CE или поискать ответ в исходниках CE.
В том руководстве слишком мало информации сейчас. Могу ли я помочь в наполнении?
Когда все заполнится, будет незаменимой вещью для новичков, ибо слишком долго лазить по форумам, задавать вопрос и ждать пока ответят
-
Если я создаю трейнер в формате .exe там есть функция добавления файлов к сборке.
Получается добавляю туда пикчу, и в коде банально прописываю имя без пути, так?
-
Хочу вставить фон+некоторые изображения в трейнер СЕ вручную кодом. В мейне ответа не нашел, на форуме СЕ тоже, может кто-то уже делал?
-
Уже ответили мне, кому интересно вам туда
-
После сохранения трейнера с дебагом в виде exe активирую его и выходит ошибка Access violation, как обойти?
-
Спасибо. А существует более подробный мейн.луа, чем стандартный?
Cheat Engine. Общие вопросы по работе с программой
in Вопросы по утилитам
Опубликовано
Как с помощью LUA в CE изменять фокус окна (активно, неактивно)?
Как отправлять в определенное окно нажатие клавиши?