Тренер для игры. Работа с памятью.

Тема в разделе "WASM.BEGINNERS", создана пользователем Crazy_Byte, 11 май 2006.

  1. Crazy_Byte

    Crazy_Byte New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    15
    Здравствуйте уважаемые программеры!

    Это с нова я. В интернете я долго рылся, но той информации которую я искал так и не нашел. А вопрос все тот-же : как изменить значение в адресе другого процесса, тип которого является - 4-х разрядное число с плавающей запятой? Т. е. например значение - 999.00. Вот здесь есть исходник данной программы : eksell-rv.narod.ru\trainer.asm[\url...чень благодарен за помощь. Заранее спасибо!
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine


    Gval1 dd 999.00



    Что за 999.00h? h - это 16ричная система.
     
  3. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.351
    Crazy_Byte



    Пробуй:


    Код (Text):
    1.  
    2. Gaddress1 dd 008ED9BCh
    3. Gval1 dd 4479C000h
    4. Gnum1 dd 4
    5.  
     
  4. Crazy_Byte

    Crazy_Byte New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    15
    Сделал так как вы сказали. Но не получается чета. Не могу понять в чем здесь может быть дело... Все делаю правельно, но программа вообще не изменяет значение каторое мне нужно (4-х разрядное число с плавающей запятой)...

    ???
     
  5. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.351
    Как ты определяешь, что оно не меняется? Если смотришь в программе(игре?), то она может его восстанавливать :)
     
  6. Crazy_Byte

    Crazy_Byte New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    15
    Я определяю меняется оно или нет через программу ArtMoney. Запускаю игру, запускаю ArtMoney и после свою программу которая должна изменить значение адреса :). А насчет того что игра может восстанавливать измененное значение адреса, я знаю, но это не тот случай. Че делать, не знаю... не получается... :dntknw: Помогите пожалуйста, очень нужно разобраться с данной задачей.

    ???
     
  7. Crazy_Byte

    Crazy_Byte New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    15
    Ok! Я наконец-то разобрался! Всем огромное спасибо за помощь!
     
  8. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Crazy_Byte

    Скажи как, а то всполошил народ
     
  9. 6arrep

    6arrep New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2006
    Сообщения:
    92
    Адрес:
    London
    дык ручками в дебагере наверное :)
     
  10. Crazy_Byte

    Crazy_Byte New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    15




    Ok! Кому интересно, вот ссылка на исходник [http://www.eksell-rv.narod.ru/prog.asm]. Оказалось все довольно просто...

    Еще раз всем спасибо за помощь!
     
  11. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Вот чудак-человек, нет чтоб сказать, как сделал — он исходник подсунул, чтобы сидели изучали.
     
  12. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Видимо он сам не понял, как получилось, вот и дал исходник, чтобы народ разобрался, как он сделал
     
  13. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Дык он похоже ничего и не сделал, и ни в чем сам не разобрался - просто подсмотрел где-то ответ и в итоге все вылилось в запись двух целочисленных dword'ов =(

    crazy одним словом ;)))
     
  14. Crazy_Byte

    Crazy_Byte New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    15
    ...




    Сразу хочу сказать что исходник не мой, я его в и-нете нашел :). Вообщем в этом исходнике мне все понятно, ну... почти все. Еще раз говорю что я новичек, я взялся за ассемблер всего 3 недели назад... так что не судите строго...

    Как мне кажется (может быть я не прав), все дело было в push PROCESS_VM_WRITE OR PROCESS_VM_OPERATION, как я понял она дает доступ для записи в память процесса. Хотя я не очень уверен что проблема была именно в этом...







    Ну если ты такой умный leo, то обьясни в чем было дело?