Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: ya12 on March 20, 2018, 10:13:30 PM
-
Скрипт отлажен в Win 7 x64. Clikerman v4.13.010b. Readmem работает.
Запускаю под XP.
Cheat Engine - базовый адрес и смещения показывает. Pid - определяется правильно. HEX-адрес передается правильный. Readmem по этому адресу возвращает 0.
Проверил в XP на виртуалке, то же 0.
У кого нибудь Readmem под XP работает?
-
проверь любой другой адрес без смещений и указателей в любом другом процессе, в том же кликермане.
проверь в версии 4.12, там немного другой синтаксис, readmem там не функция.
скорее всего проблема в самом приложении из которого требуется читать. встречался с таким, картина таже, артмани видит, а кликер не видит. но в моем случае от замены винды результат не менялся. победить кликерманом так и не сумел, решил, что какаято защита в игре.
кстати автоит в этом случае штатными функциями так же не хотел читать память. после некоторых усилий все же получилось считать автоитом и передать результат кликеру через ини. помог SETPRIVILEGE из RMemory.au3 . как этот SETPRIVILEGE работает и что делает... - все сложно :(.
-
XP снес поставил Win10 x32. Readmem выдает правильные значения. Потом проверю в виртуалке на XP. Считывать со стороны не желательно, там частота обновления координат 80 мс.
-
Проверил
Clickermann v4.12.001 READMEM в ХРx32 работает правильно.
Clickermann v4.13.010b READMEM в 7x64 и 10x64 работает правильно. В XPx32 выдает 0.
-
я вообще че то не могу заставить ни одну версию теперь работать с памятью. херня какая то.
даже 4.11 не работает!
ни просто, ни если сначала сделать writemem в этот адрес. вообще ничего не понимаю. как могла сломаться версия 2014 года то?
проверял правда тока на Win7 x64, зато на двух абсолютно разных
кто что думает? у кого работает? дайте пример рабочий
-
Протестил у себя.
// 4.12.001
READMEM(2664, "009379B0", 4)
LOGWRITE ($_return1)
HALT
// 4.13.10b
$a = READMEM(2664, 0x009379B0, 4)
LOGWRITE ($a)
HALT
На XP 4.12.001 выдает верное значение, 4.13.10b выдает 0
На Win 7 64b обе версии работают исправно.
-
срабатывает 1 раз из 50 ! пробовал даже кликер на самом же себе!
открываю кликер. пишу код. работает (правда только чтение). ура? закрываю.
открываю пишу тоже самое уже вообще нихрена не работает! секунду назад работало, и уже нет. ниче не поменялось же.
// 4.13.10b
$h = hgetpid( $_hwnd_self)
//$h = 0
print("H:", $h)
//writemem($h, 0x009379B0, 666, 4)
$a = READMEM($h, 0x009379B0, 4)
LOGWRITE ($a)
HALT
со сторонними приложениями та же история. в какие то вообще ничего не проходит, в какие то все нормально проходит.
на разрядность походу всем пофигу.
ниче не могу понять!
-
Все еще страньше :o
Только что все работало нормально а теперь при закрытии кликера вписываются неверные координаты окна редактора, из за чего окно появляется не пойми где :o
; позиция окна
left =3014733
top =7143523
Меняю в ручную на нули, после запуска все тоже самое. Даже винду перезапустил ничего не изменилось.
Ps.
не знаю что это было, восстановил конфиг файлы из бэкапа, и все стало нормально.
-
А может это как-то сказывается борьба с уязвимостями Meltdown и Spectre?
Ну, типа залатали путём частичного запрета предсказаний, заодно и в чтение вмешались запретив где можно.
Это так, на правах бреда :)
-
А почему только в XP? Могу идею подкинуть.
Ошибка может быть связана с защитой региона памяти.
В cheat engine 6.7 в общей таблице есть глюк. Если читать данные из некоторых регионов памяти, через смещение типа 0+число. Результат в таблице где смещения задаются показывает правильно, а в общей таблице 0.
-
да причем тут ХР. у меня и на семерке не работает нихрена. теперь.
честно говоря эт темный лес пока для меня ибо небыло необходимости писать до кучи свой artmoney. ну есть функции и ладно. даже помогли кому то - и хорошо.
учитывая общую бажность работа явно осуществляется не очень корректно. от того и нестабильные результаты даже при одинаковых входных данных.
ну посмотрю попробую что нить сообразить. ну а нет, так нет.
дайте хотя бы к 1 апреля сделать уже релиз(((((((
-
не знаю что там у кого не работает :-\ . на вин7 и вин10 работал и работает READMEM без нареканий как в 4.12 так и в 4.13. использую часто, и в разных приложениях. запись не тестировал.
//v. 4.13.010b
FOR($a=0,$a<22,2)
print(CHAR (readmem(hgetpid($_hwnd_self), 0x74666980+$a,1)) )
END_CYC
halt
в логе:
0:04:54 C
0:04:54 l
0:04:54 i
0:04:54 c
0:04:54 k
0:04:54 e
0:04:54 r
0:04:54 m
0:04:54 a
0:04:54 n
0:04:54 n
те же адреса памяти (0x74666980 и далее) во всех версиях вроде как выдают одни и те же значения, только написание различно. проверил в 4.7 , 4.12, 4.13 , везде работает.
ради интереса проверил на виртуальной ХР, и действительно в версии 4.13 чтение перестает работать.
-
а быть такого не должно
там идет банальный вызов винапишной ReadProcessMemory(). буквально одна строчка кода.
но видимо нужна не одна
-
кароче, игрался чтоб хотя бы самому понять. ну в 13-й я немного промахнулся с типизацией данных и оно сломалось в XP. сайчас вроде работает, я проверял.
выяснилось что мое "ниче не работает!!1" связано скорее с моей исключительной удачей тыкаться с проверкой по несуществующим или защищенным адресам
поэтому для тестов написал такой вот скриптец
#name "MemCheck"
define($cnt1, 0)
define($cnt2, 0)
$proc = 4660 // ID процесса; из диспетчера (или с формы)
$memKB = 62000 // объем памяти процесса в Кб.; из диспетчера
$addr = rnd(1, 1024 * $memKB)
$res = readmem($proc, $addr, 4)
if ($res != 0)
print("[", $addr, "] ", $res)
$data = $res - 1
writemem($proc, $addr, $data, 4)
$res = readmem($proc, $addr, 4)
print("[", $addr, "] ", $res)
if ($res = $data)
print(" writemem OK")
$cnt2 = $cnt2 + 1
else
print(" writemem fail")
end_if
$cnt1 = $cnt1 + 1
print("------ (",$cnt1,"/", $cnt2, ") ------")
end_if
waitms(100)
который просто долбится по рандомному адресу в процессе, ищет там ненулевое значение (что уже свидетельствует о работоспособности функции чтения) и перезаписывает его с проверкой (что опять же свидетельствует). так вот ряд программ отрабатывал на 99% успешно. ряд на 50%. ряд вообще не хотел сотрудничать. из чего я могу сделать вывод, что ну ооооочень индивидуально для каждого конкретного случая. часть адресов недоступена извне вообще. часть доступна только для чтения. кароч все очень сложна.
кто там любит поиграться с артмани и читенжн, отпишитесь плес заработало оно в хр или нет.
такие дела. пост актуален для последнего билда 4.13.011b из темы с бета версиями
p.s. ахтунг! пример скрипта почти сразу приводит к крашу испытуемого процесса.
-
Заработало, большое спасибо. Пойду верну XP.
Не нравится мне 10, на ней макросы сбиваются. И вообще она за мной следит.