-
Постов
160 -
Зарегистрирован
-
Посещение
-
Победитель дней
4
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент Dino
-
Смотри, начало функции это там где начинается код пролога, он выглядит примерно так push ebp mov ebp,esp
-
но даже по этим огрызкам я вижу что метод принадлежит классу, следовательно он __thiscall
-
это инструкции, мне нужен код всей функции
-
покажи асм код функции (скрин)
-
Из всего прочитанного возникает 1 вопрос : как ты ищешь адрес своей функции в CE?
-
Ясно ,приходим к выводу что произвести битовые вычисления на CE-LUA НЕЛЬЗЯ
-
Более сложный способ с перехватом удаленного потока
-
Писал на коленке, вроде нигде не ошибся, а может и ошибся
-
я на 32битке и юзаю. Гружу lua в игру как-то так loadlibrary(luaclient-i386.dll) luacall(openLuaServer('CELUASERVER')) globalalloc(luainit, 128) globalalloc(LuaFunctionCall, 128) label(luainit_exit) globalalloc(luaserverinitialized, 4) globalalloc(luaservername, 12) //ну и тд Но суть в том что библиотеку bit32 оно не определяет.. Мне не сдвигать, а умножать надо, хотя даже сдвигом смог бы эту задачу решить, но тут нет ни того ни другого! v1 = *(_DWORD *)(this + 516) return (v1 & 0x10000) == 0;
-
Через перехват или создание удаленного потока. Либо внедряешься в игру и все делаешь из ее адресного пространства
-
да в том то и дело, что она не видит эту библиотеку
-
Привет всем кто читает эту тему. Собственно вопрос Сешная луа поддерживает битовые операции? Перелопатил пол форума http://forum.cheatengine.org/ и даже упоминания никакого о них не нашел. Авто ассемблер не предлагать, пишу бот на луа, нужно максимально минимизировать код.
-
Согласен, проблема прям высосана из пальца. @ШАРИК, если тебе принципиально получить доступ к структуре PROCESS_MEMORY_COUNTERS , то можно все это дело провернуть на уровне Native Api, тогда не нужно будет получать привилегии и хендлы всякие по 100 раз открывать.
-
Конечно нет , мне просто интересно
-
Да в принципе можно закрыть, он ведь больше не нужен ШАРИК 1)код покажи вместе с мейном 2)IDE какая ? 3)Что возвращает функция ?
-
Я тоже не понял смысл вопроса
-
Адрес при резервировании должен быть выровнен на 64к, а 4к это размер страницы при ее выделении
-
Если предположить что загрузчик для каждой области резервирует память отдельно, то это все объясняется тем что адреса должны быть кратны 64кб, именно поэтому дистанция между заголовками и секциями 0xf000. Но это не точно
-
а размер модуля из SizeOfImage? покажи еще скрин секций из cffexplorer с Sizeofimage все в порядке он учитывает эту зарезервированную область
-
Проблема скорее не в VirualProtectEx, а в том что ты в рабочем модуле попадаешь на зарезервированный кусок памяти ( MEM_RESERVE и только) на что ReadProcessMemory дает пинка под зад, но ведь ее нельзя за это осуждать, как бы ты повел на ее месте? Советую скопировать модуль по частям, то есть заголовки, секции и прочая лабуда Более простой и костыльный вариант это проверять каждую страницу памяти подопытного при помощи VirtualQueryEx и все что является MEM_COMMIT - копировать Я так полагаю ты дампер пишешь, тогда не буду предлагать вариант с CreateFile.
-
*(DWORD*)&bytes[1] = (DWORD)(allocAddress - (baseAddress + offsetAddress[0]) - 5); так лучше
-
http://www.mediascan.by/index.files/p4.pdf
-
Вроде ты кидал скрин со структурой и там явно видно что +0x10 от базового адреса
-
а конкретнее? А то вдруг еще кто нибудь забудет, зато будет где подсмотреть
-
helldrg Add Address в СE открой http://SSMaker.ru/e6ea7d04/ и убедись что по данному указателю лежит твоя строка строка