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

Antonshka

Пользователи+
  • Публикаций

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

  • Посещение

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

    4

Antonshka стал победителем дня 29 марта

Antonshka имел наиболее популярный контент!

Репутация

24 Novice

Информация о Antonshka

  • Звание
    Спамер

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. То есть просто напросто игра зависнет или вылетит? Если это все, то это не так и страшно тогда. Из-за неправильного внедрения в обычный пользовательский код ведь происходит тоже самое.
  2. Понятно, спасибо. Опасная вещь.
  3. А почему по рукам бьют за внедрение в memcpy? Что в этом плохого? Недавно мне попалась проверка целостности кода. Она работала также через memcpy. Я просто заменил RSI на начало продублированного exe модуля. Работает нормально.
  4. Не могу использовать такой способ. Инструкцию Repe movsb вызывает свой CALL, например раз 30 в секунду, это сегодня, завтра же может быть она будет вызывать её уже раз 35 в секунду. Мне нужна постоянная частота записи в нужные мне адреса. Нужен свой поток. В игре такая ситуация, есть два буфера, и есть блок памяти с моими адресами. инструкция Repe movsb копирует из первого буфера данные в мой блок, затем она же копирует данные из моего блока во второй буфер. То есть нужно посмотреть что пишет в первый буфер до того как он будет скопирован инструкцией Repe movsb? Или посмотреть что будет читать второй буфер после того как в него будут скопированы данные?
  5. Да, все дело в том что должны быть отключены только некоторые адреса. Для остальных адресов этого блока памяти Repe movsb должна продолжать работать . Например из 1000 адресов, только 10 нужно отключить на время. Нужна фильтрация адресов для инструкции Repe movsb. Пока я не знаю другого способа, а хочется. Потому что способ с фильтрация и расчетом какой-то сложный.
  6. А идея отличная у тебя, если бы не ассинхронизация, я бы её и использовал.
  7. Верно, но я не могу использовать это место. Не могу использовать этот VCRUNTIME140 поток. Мне нужно только обезвредить, так сказать, этот Repe movsb, на время, пока я собственным потоком записываю данные в адреса. Мой собственный поток это не Repe movsb или подобное что-то. Мой собственный поток это будет просто обычная инструкция MOV и переменная счетчик.
  8. Запись будет по флагу. Например флаг равен 1, идет запись ранее сохраненных значений в адреса. Запись продолжается до тех пор пока, либо флаг не станет равным 0, либо пока не настанет конец файла на диске.
  9. Вот код, он и пишет и читает.
  10. В RSI как я понял всегда находится источник, откуда копируется. В RDI приемник, куда. Поэтому если писать этим же потоком в котором находится Repe movsb в нужные мне адрес, тогда правильно у тебя было в первом сообщении. mov byte ptr [rdi+5],#66. Но как я написал во втором сообщении, я теперь не могу использовать поток в котором находится Repe movsb. Я хочу создать свой собственный поток через CreateThread, он то и будет писать в нужные мне адреса. Просто в то время когда мой поток пишет, тогда Repe movsb должна пропускать эти некоторые адреса.
  11. Да, отличная идея. В этой игре, когда Repe movsb пишет в нужные мне адреса, тогда RSI это источник, а RDI приемник. Когда эта инструкция читает из нужных мне адресов. тогда RSI это бывший RDI, а RDI уже новый приемник (не бывший RSI). Можно, как ты говоришь, перед тем как эта инструкция начнет считывание блока, записать потоком в котором находится инструкция Repe movsb в нужные мне адреса нужные мне значения. Все равно ведь их ничто не изменить, до тех пор пока эта же инструкция не станет записывающей. Но я сейчас подумал, оказалось что мне немного не выгодно использовать инструкцию Repe movsb для манипуляций над значениями нужных мне адресов. Все дело в том, что мод который я делаю должен сохранять на диск значения в этих некоторых адресах. А затем, по надобности, этот же мод должен записывать обратно полученное ранее. А так как инструкция Repe movsb может работать в разное время с разной скоростью, то может получиться некоторая ассинхронизация, эффект мода будет как бы уже не тот. Я хочу использовать для записи значений в эти некоторые адреса собственный поток. И вот задача теперь такая, в то время когда мой собственный поток пишет данные в адреса, инструкция Repe movsb должна пропускать запись только в эти некоторые адреса.
  12. Привет всем. Я к вам с интересной задачей. Раньше с таким не сталкивался. В одной игре характеристики машины находятся в одном блоке памяти. Этот блок памяти контролируется только одной инструкцией Repe movsb, она и читает, она и записывает. Мне нужно взять под контроль всего лишь несколько разных адресов этого копируемого блока. Как мне быть? У меня есть одна идея, но я не знаю насколько она хороша, я её еще даже и не опробовал. Может ваши будут лучше, и я их применю. Или вы мою улучшите. Моя идея такая, может быть 1 - заменить значение RCX перед копированием на такое, чтобы скопировался блок только до нужного мне адреса, 2 - сделать какие-нибудь манипуляции со значением нужного мне адреса, ради чего собственно это всё 3 - к RSI и RDI прибавить размер уже скопированного блока и прибавить размер нужного мне адреса (4 байта например) 4 - записать в RCX размер оставшегося и еще не скопированного блока минус размер нужного адреса 5 - снова вызвать копирование. И так для всех нужных мне адресов. Причем расположив все процедуры копирования остатков блоков в порядке нужных мне адресов.
  13. У меня из опыта такие мысли по этому поводу. У каждой машины есть свои технические характеристики. Например вес, инерция, аэродинамика, мощность двигателя, количество передач, вес колеса. Все это и много другое определяет поведение каждого автомобиля, в частности его ускорение и максимальную скорость. Изменив параметры изменим скорость. Есть также инструкция кода, которая сбрасывает значения Velocity до максимально разрешенных. Занопив инструкцию снимем ограничение.
  14. Antonshka

    [URLdrafter.exe]

    Я изучаю с++ уже второй месяц, но написать такой программы как у тебя пока не могу. Даже и не имею представления о том как это сделать. Может это от того, что я решил сперва освоить самые основы. На данный момент мною прочитана книга Лафоре, и начата книга "с++ Primer" (~300 страниц из 1124). Книга Лафоре имеет замечательную постепенность преподавания материала, забегания вперед практически нет. Читается на одном дыхании. "с++ Primer" в этом плане не такова, но её материал более концентрирован, нет отклонений ни направо ни налево, все строго и без единого лишнего слова. "с++ Primer" нужно читать после Лафоре.
×

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

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