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

Alex2411

Пользователи
  • Постов

    323
  • Зарегистрирован

  • Посещение

  • Победитель дней

    5

Весь контент Alex2411

  1. если игра онлайн то реальные значения скорее всего храняться на той стороне поэтому их обычным способом изменять не получиться .. ну типа как я сейчас читаю твое сообщение и могу через чит енжин в браузере изменить весь текст , н о твое реальное сообщение находиться на этом форуме , а не у меня на компе поэтому меняться оно не будет .
  2. это обычно так если меняешь экранное значение или какое то зависимое от реального , но не реальное . игра постоянно читает реальное значение и переносит его в экранное . когда ты меняешь через чит енжин экранное значение , то игра сразу меняет его обратно на реальное . поэтому кажеться , что не чего не меняеться . реальное значение может быть другой тип , а не который ты выбрал поэтомцу из которых ты нашел не одно не подходит . иногда бывает реальное значение тот же тип , но не равно экранному . бывает реальное значение шифровано . даже бывает , что реальное значение находиться вобще не в памяти , а только в регистре тогда его поиском не найти . попробуй потренироваться на программе tutorial которая входит в чит енжин . там реальные значения их найти легко . быстро разберешься .
  3. дарк байт ответил . оказалось что второй вариант в общем как я и подозревал нужно чтобы при активации скрипта с readmem в памяти уже были значания тогда readmem прочитает как надо .. это можно сделать группой из двух скритов выше я говорил . я бы все таки посоветовал изменять регистры куда читаеться из памяти , а не саму память .
  4. поставь для проверки вместо 4096 число 8 . тогда размер будет одинаковый и память точно будет читаемая .
  5. мне кажеться здесь нужно понять что раньше срабатывает . сначала mov [SAVED_ADDR],rdi а потом original_struct: readmem(SAVED_ADDR,4096) или наоборот . если сначала сработает readmem то получаеться он будет пытаться читать из пустого адреса . тогда будет ошибка .
  6. ты выделяешь для SAVED_ADDR размер 8 байт dq 0 , а читаешь память от этого адреса в readmem размер 4096 . после этих 8 байт ты знаешь что у тебя находиться в памяти куда обращаеться readmem ?
  7. это даже лучше что не изменяеться . у тебя какая то инструкция его читает когда стреляешь . куда она прочитала там и поменять . значение дамага в памяти останеться оригинальное , а дальше в регистр или стек ты подсунешь другое и игра будет думать что дамаг максимальный . кстати у тебя в скрипте alloc(newmem,$1000,SUPER_WPN) alloc(original_struct,4096) где второе выделение памяти то же надо бы указать адрес после 4096 . потому что игра 64 бит .
  8. да . я про это отвечал гарику . вообще я в таких случах стараюсь менять не значение в памяти , а регистр куда оно дальше читаеться что бы автоматом возвращало оригинал когда отключаеться скрипт . это надо дольше искать , но за то лучше для игры . при том когда меняешь регистр чтения то меняешь только нужный , а не все подряд как если изменять саму память откуда читают регистры .
  9. не понял . где я в своем скрипте выделял пмять и не пользуюсь ? ты не чего не путаешь ?
  10. тогда будет проблема если забыл отключить через флаг и выключил скрипт то значения не восстановяться и потеряються . иногда я делаю два скрипта вложение в группу когда с начала активируеться один , а только потом второй .
  11. надо попробоавть зарегить символ original_struct. еще может быть что readmem сначала читает адрес SAVED_ADDR , а потом ты туда записываешь rdi . поэтому у тебя адрес SAVED_ADDR для readmem будет равно нулю и чит енжин ругается . у тебя в [DISABLE] написано SAVED_ADDR: readmem(SAVED_ADDR,4096) сам в себя записываеться память
  12. примерно такое [ENABLE] alloc(original_wpn,4096) original_wpn: readmem(weapon,4096) [DISABLE] weapon: readmem(original_wpn,4096) dealloc(original_wpn) сперва выделить память original_wpn сколько нужно например 4096. потом туда записать что надо сохранить от адреса структуры weapon . возврат значенией то же , но наоборот записываешь из выделенной памяьти обратно в weapon . не забудь символы зарегить .
  13. мне кажеться здесь лучше применить команду readmem . readmem(address, size) можно сразу сохранить весь участок патмяти структуры за один шаг , а потом так же его вернуть обратно .
  14. это долго и не удобно . я то же делаю несколько шагов . проверяю отрицательное число или нет , а потом сравниваю , но я думал может есть простая комнада сравнения с знаком за один шаг как в 32 бит. объясни пожлста почему ты тут не применяешь команды fcompp или fcomip ? fcompp выталкнет сразу два числа стека , а fcomip ставит сразу обычные флаги вместо fpu. мне кажеться так быстрее получиться .
  15. у мееня вопрос похожий поэтому спрошу здесь . как правильно сравнить число с знаком в 64 бит ? у меня получаеться , что когда сравнение числа например FFFF000000000001 прыжок jg не срабатывает как если бы это число отрицательное .
  16. такое же можно сказать и про инструкции ассемблера ))) инструкиция может не постоянно работать в игре или работать не с всеми адресами или наоборот работать с лишними адресами , а фильтра нормального нет . мне втречались такие игры . самое главное что значение через указатель читер изменяет сам поэтому он всегда знает какое число он изменяет и увидит если указатель не верный . а инструкция изменяет значение не заметно поэтому когда скрипт сделан криво инструкция может изменить в игре другое значение , а игрок даже не узнает про это . я не один раз это видел в тренерах даже с этого форума .
  17. у указалелей есть один большой плюс они не изменяют код поэтому обходят защиты проверки изменения кода . есть игры в которых легче применять указатели , а не ломать защиту
  18. понял. дальше уже разберусь . спасибо мастер .
  19. так я и ищу информацию спрашиваю на читерском форуме . ты предлагаешь мне с начала спросить по английски гугл потом перечитать найденые зарубежные форумы , а уже потом спросить здесь на русском форуме по русски ? какая мне польза от советов на русском форуме типа иди в английский гугл ? я много раз говорил что я не програмер и не когда не буду програмером . у меня другая специальность . мне ассемблер нужен тоько для читерства в некоторых играх . я смотрел сайты и справочники команд ассемблера там ответа не нашел . специальные форумы для этого и созданы что бы узнать ответ у специалистов , а не тратить ради короткого ответа кучу времени на изучения знаний , которые не где не пригодяться . пысы. когда то ты сам собирался записать видеоуроки по xmm . от если бы был такой урок или статья и там был ответ на мой вопрос , а я спрашивал тут тогда было бы справедливо послать в поиск и смотреть уроки .
  20. послать в английский гугл это очень полезный совет спасибо . ладно спрошу на другом форуме
  21. подскажите есть инструкция команда обмена регистрами xmm ? по аналоги с командой xchg или fxch
  22. слушай я же не совсем тупой . конечно я сначала проверял сам как работает на регистрах . но это мало потому что в ассембелере полно случаев когда две команды работают одинаково , а в другом случае по разному . я в курсе что регистры выравнивать не надо , но я не знал может там из за разных команд какие то флаги отличаються или еще что то чего я не знаю . поэтому спросил чтоб ы знать точно .
  23. у тебя пример тоже с памятью. я спрашивал чем отличаеться когда из регистра в регистр .
  24. не отвечали . ты не внимательно прочитал вопрос . я спросил не чем отличаються две эти команды , а про выравнивание адресов памяти я знаю , а как влияет когда два регистра я не знал . откуда ты процитировал про команды этот сайт я уже давно скачал целиком весь и применяю когда нужно узнать справку про команды ассемблера ))))
  25. объясните пожалуйста как отличаеться команда movaps и movups когда применяеться с регистрами , а не памятью . чем отличаеться инструкция movaps xmm1,xmm2 от инструкции movups xmm1,xmm2 ?
×
×
  • Создать...

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

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