-
Постов
115 -
Зарегистрирован
-
Посещение
-
Победитель дней
22
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные SnedS91
-
-
Попробуй убрать в настройках те галочки, перезапустить СЕ, потом убрать галку в главном окне с Writable (это для того чтобы не использовать CE Kernel). Найдется ли в таком случае сигнатура?
-
Раз говоришь, что обычный поиск дает результат, тогда скажи какая память сканируется? Т.е. каким образом выставлены флаги
-
Не думаю что в этом проблема, попробуй убрать следующее
,"*W*C*X"
-
2 часа назад, pachela сказал:
Это хорошо. И тут же сразу вопрос такой, имеет ли разница в скобочках? Двойные или одинарные ставятся? И еще, а можно ли в байтах обозначенных "??" ставить варианты, ну типа есть вариант что примерт такой вид или иной, но не совершенно иной? Возможно в виде переменной это обозначать? Ну это просто из любознательности, на последний вопрос можно ответить кратко: Да или Нет. И за это будет большое спасибо.
Представленный тобой скрипт работает отлично! Спасибо большое.
"??" или "xx" обозначение неизвестного байта. Переменную можно в принципе использовать, получится что-то вроде подстановки в шаблон.
36 минуты назад, pachela сказал:Такс. Ну вот бороздя просторы большого ютубо-гугла я нашел причину почему трейнер вешается при активации, а точнее решение. Это запускать сканирование в потоки. Как я понял, то у меня должен быть 1 поток. Сначала 1 поток сканирует сигнатуру и записывает адрес. Далее поток освобождается и мы можем снова его использовать, что бы запустить цикл перезаписи, если изменяется значение в адресе.
Я все правильно понял?
Можно не использовать явно потоки, а создать таймер, например:
tmr = createTimer(nil,true) function check() print('test') --тут свое сравнение и запись байт end tmr.setOnTimer(check) tmr.setInterval(200)
-
Скрытый текст
function CEButton1Click(sender) GameName = "notepad++.exe" if(openProcess(GameName) == nil) then showMessage("запустите процесс!") return end result = AOBScan('тут свои байты') if(result == nil) then showMessage("сигнатура не рабочая!") return end count = result.Count i = 0 while i~= count do address = result.getString(i) writeBytes(address,{0x60,0xE3,0x16,0x00}) i = i + 1 end showMessage("активировано!") end
Возможно в таком виде тебя устроит скрипт
-
Все это довольно чудесно, семья, это безусловно замечательно. Носом тут и без того тыкают, сказал же, сначала проверить на наличие ошибок в синтаксисе, т.к. программный код не терпит малейших ошибок.
Кроме того в Lua есть возможность использовать aobscan более удобным способом, т.е. не набором байт, а строкой, к примеру:
AOBScan('A0 86 01 ?? 00') //можно и без пробелов
-
53 минуты назад, pachela сказал:
1. Можно на русском, что делает openProcess()? Он создает процесс или переключается на него?
2. Сигнатура на 100% нужная. Первые 4 байта дублируются в конце сигнатуры всегда. Был бы код не на Луа, а на "С", при использовании патерна, я бы с 13 байта и по 0хА0 поставил бы "?", т.к. эти байты при определенных условиях могут изменяться. Но для начала нужно разобраться с "топорной" сигнатурой и не допускать изменения наличной сигнатуры. Т.е. пока я не захочу, эта сигнатура будет иметь именно такой вид.
Уважаемый pachela. Имею смелость заметить, что вы используете какой то заведомо "рабочий" код, изменив его под себя, не понимая сути. Мы лишь можем направить или указать на ошибки в общем случае.
Во-первых, советую ознакомиться с синтаксисом (в данном случае Lua) и обратить внимание на опечатки в коде.
Во-вторых, все инструкции CE используемые в Lua описываются подробно в файле main.lua, находящимся в корневой папке с Cheat Engine.
В-третьих, использовать "??" в сигнатуре до сих пор возможно.
- 2
-
Вставлю свои 5 копеек=) Добавляет недостающих объектов до 10000 и не дает удалять, если объектов меньше тех же 10000.
Скрытый текст[ENABLE] alloc(obj_add, $1000) label(delete) label(exit) label(exit2) obj_add: mov eax,#10000 sub eax,dword ptr [esp] cmp eax,0 jl @f add esp,14 jmp TrainMe(hard_1_0).exe+1167 @@: add esp,10 lea ecx,[esp+0C] jmp exit delete: cmp eax,#10000 jbe TrainMe(hard_1_0).exe+11BD jmp exit2 TrainMe(hard_1_0).exe+111C: jmp delete db 90 90 90 exit2: TrainMe(hard_1_0).exe+11AB: jmp obj_add db 90 90 exit: [DISABLE] TrainMe(hard_1_0).exe+111C: test eax,eax jbe TrainMe(hard_1_0).exe+11BD TrainMe(hard_1_0).exe+11AB: add esp,10 lea ecx,[esp+0C] dealloc(obj_add)
- 2
-
В 31.07.2014в08:04, Xipho сказал:
Прошло два года и наконец-то у меня появилось немного времени. Написал новую версию своего трейнми. Хотя, новой версией это назвать нельзя, весь код переписан с нуля и графическая часть реализована на OpenGL, хотя, конечно, необходимости в этом не было ) Так, баловался. Да, игра не заканчивается, просто продолжается постоянно, и комп в качестве второго игрока я еще не добавил. Это все будет в следующей версиии
Сами значения пока особо спрятать не пытался, так что взлом, скорее всего, будет быстрым. Задания:
1. Найти очки игрока 1 и написать иньекцию кода с заморозкой значения
2. То же самое, но для второго игрока
3. Найти статичный указатель для очков игрока 1
4. То же самое для второго игрока
5. Найти и заморозить координаты ракеток (обеих)
6. Изменить размер ракеток на двойной
7. Увеличить вдвое размера шарика
8. Сделать так, чтобы скорость шарика не увеличивалась с течением времени
9. (Сложно) Перекрасить шарик в красный цвет
И пока на этом все.
ЗЫ. Управление - Escape - выход из трейнми. W/S - ракетка вверх/вниз для первого игрока, P/L - ракетка вверх/вниз для второго игрока. Первые трое, кто успеет выполнить хотя бы пять заданий из всего набора, получат медальки и +10 к репутации. Первый выполнивший 7 и более заданий получит две медали и +30 к репутации. Второй выполнивший 7 и более заданий получит одну медаль и +25 к репутации. Третий выполнивший 7 заданий и более - получит медаль и +20 к репутации. Удачного взлома!
Прошло довольно много времени, давненько не заходил.. Вот моя версия взлома =) TennisTrainme_v2.CT
- 2
-
Как оказалось, VEH пашет, просто 10 не даёт внедрять dll в Modern-приложения в папке WindowsApps.
Возможно достаточно просто получить полные права к этой папке =)
-
-
то есть это надо внедриться в процесс и сделать хук на peekmessage? тогда всплывает вопрос, а как мой трейнер оповещать о перехваченных сообщениях? было бы все просто, если бы я делал dll + exe трейнер, но мне бы по возможности хотелось избежать такого метода
просто попробуй сначала сделать хук на СЕ при включенной игре, просто интересно на какой глубине игра блочит обработку клавиш =) потом посмотрим
-
еще можно перехватить winapi-функцию "peekmessage" и отлавливать нажатия клавиш..
-
Ну, как вариант, можешь попробовать через таймер проверять нажатые клавиши...
Пример:
local key1 = VK_1
local key2 = VK_2
local key3 = VK_3
local keyTmr = createTimer(nil,true)
function checkKey()
if isKeyPressed(key1) then initParams(1, false)
elseif isKeyPressed(key2) then initParams(1.1, true)
elseif isKeyPressed(key3) then initParams(1.25,true)
end
end
keyTmr.onTimer(checkKey)
keyTmr.setInterval(200) -
а какие файлы кинуть в UDD папку
не нужно туда ничего кидать, это папка для хранения, скажем, текущих настроек отлаживаемых программ =)
-
Еще как вариант, скоро появится рабочий плагин для поиска внутри игры тема тут (на днях выложу)
-
Т.к. тема в разделе "Вопросы по созданию читов", в чем вопрос то? Идеи возникают в случае необходимости облегчить то или иное действие.
-
Скрипт делал для себя, но вдруг кому пригодится.
При использовании автоаттача к процессу, включенные скрипты/значения не отключаются/размораживаются, так скрипт сделает это за вас.
local CEPanel = wincontrol_getControl(getMainForm(),3)
local tmr = createTimer(nil,true)
tmr:setInterval(1000)
function checkClosed()
local procname = wincontrol_getControl(CEPanel,0):getCaption():gsub('^%x+-','')
local pid = getProcessIDFromProcessName(procname)
if pid == nil then
local addresslist = getAddressList()
if addresslist.Count > 0 then
for i = 0, addresslist.Count-1 do
addresslist.MemoryRecord[i].Active = false
end
end
end
end
tmr:setOnTimer(checkClosed)Можно положить в папку autorun и забыть.
- 1
-
Можешь этот плагин ещё и запостить на форуме CE.
Как только допилю интерфейс с поиском и таблицей, так и сделаю =)
-
Проверял пока на Outlast - работает =)
-
Итак, выкладываю результат своей мыслительной работы.
Определился с интерфейсом и способом общения с пользователем. Далее по пунктам:
Оформление:
- выбор цвета для различных элементов (фон, подсветка, выделение, статус..)
- выбор размера и цвета шрифта
Настройки:
- плагин умеет загружать/сохранять настройки с помощью ini-файла - все настройки следует производить в нём (находится в папке autorun)
- цвет задается в формате #RRGGBB (примеры цветов можно найти здесь)
- при загрузке плагина, при отсутствии ini-файла, он создается с настройками по-умолчанию
Меню:
- система простого меню для обеспечения быстрого поиска
- навигация по меню с помощью стрелок, клавиш Enter и Backspace
- в меню настроек редактирование полей происходит нажатиями Влево/Вправо
Статус:
- это самая нижняя строка, содержимое которой зависит от положения курсора-подсветки
- при позициях курсора на Value и Value2 отображается содержимое самих значений этих полей
- при нахождении в меню настроек так же отображается значения полей
Пока не сделано:
- сама система поиска (сейчас как раз работаю над этим)
- универсальность и настройка хоткеев
- возможность управления мышкой (скоро появится)
По непонятным причинам при включении d3d-хука в фулскрине происходит блокировка окна игры (проверял - не всегда), а значит свернуть игру не всегда получится. Это связано с самим хуком и вероятно исправится в ближайших версиях CE. Я работаю и над этим.
Скрины:
Собственно, сам плагин (Версия 0.1): CEGuiView_0.1.7z
- 3
-
Вариантов масса.
- неправильно выбран инструкция/адрес.
- если есть проверка целостности, то попытаться найти ее и убрать =) либо воспользоваться стелс-плагином.. есть вероятность что поможет
- не использовать скрипты. Можно заморозить адрес(если он правильный, конечно) и спокойно играть =)
-
возможно в игре стоит проверка целостности кода или что то еще.. пока нет возможности проверить
-
такой вот вопросик... ты найденный адрес здоровья, проверял? например, если заморозить его, получаешь бессмертие?
и еще.. когда составил скрипт, нажимай file - assign to current table, чтобы в таблицу добавить его, а потом уже активируй..
ну и еще.. немного непонятен сам скрипт, что ты хочешь от него получить?
Какой язык лучше изучать новичку C++ или C# ?
in Общение
Опубликовано
Если про редакторы, то у меня на первом месте Sublime Text, там есть буквально все что нужно для счастья и открывается в секунды Для веб разработок можно PhpStorm использовать (от тех же JetBrains) А выбор языка должен исходить из поставленных задач, по сути понимая общие принципы построения алгоритмов, можно изучить абсолютно любой язык только лишь прочитав синтаксис. Мне какое то время нравилась Java (даже для телефона сделал пару игр для себя) Сейчас плотно программирую на php, т.к. зарабатываю на создании и продвижении сайтов. Главное в изучении не терять энтузиазм и каждый день читать новости и документацию по языку, таким путем можно вполне стать профессионалом в короткие сроки и быть довольно востребованным.