Сейчас на форуме: ==DJ==[ZLO], Magister Yoda, Rio (+6 невидимых)

 eXeL@B —› Основной форум —› Как такое сделать?
Посл.ответ Сообщение

Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 января 2005 10:16
· Личное сообщение · #1

Есть прога. Нашел нужный мне байтик. Хочу сделать Logger для этого байтика. т.е. чтобы все значения этого байтика за время жизни проги писались бы в файл или передавались куда либо для последующей обработки.
Только вот изменять исходник и процесс в памяти нельзя.( сделать надо как например в Ice bpm работает или artmoney сканирует ячейку памяти)
Как это сделать? Есть ли готовые решения?



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 января 2005 10:40
· Личное сообщение · #2

конешно есть - readprocessmemory




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 04 января 2005 11:13 · Поправил: Ara
· Личное сообщение · #3

fedorfx пишет:
Только вот изменять исходник и процесс в памяти нельзя.( сделать надо как например в Ice bpm работает или artmoney сканирует ячейку памяти)


Ну те проги именно так и делают - меняют байтики в памяти. Что тебе мешает, почему нельзя память менять?


qraj, fedorfx
WriteProcessMemory



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 января 2005 14:03
· Личное сообщение · #4

>>>>>конешно есть - readprocessmemory
Хотелось бы поиметь прогу а не апишку.
>>>>>Ну те проги именно так и делают - меняют байтики в памяти. Что тебе мешает, почему нельзя память меня

Прога работает Online. Что они там намутили будет ясно нескоро. Поэтому менять память процесса на данном этапе нехочется. хз. что там за проверки целостности кода. Поэтому и надо отслеживать байтики не внедряясь в процесс, или внедряясь на уровне системы. Ну на крайний случай можно и readprocessmemory через короткие промежутки времени но это на самый крайний случай.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 04 января 2005 14:17
· Личное сообщение · #5

fedorfx пишет:
Поэтому и надо отслеживать байтики не внедряясь в процесс, или внедряясь на уровне системы

Что ты имеешь ввиду - "на уровне системы"? Система, по-твоему не будет внедряться в процесс, а просто догадается, что там за байты? =)



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 января 2005 14:32
· Личное сообщение · #6

>>>>
Что ты имеешь ввиду - "на уровне системы"? Система, по-твоему не будет внедряться в процесс, а просто догадается, что там за байты? =)

Я так думаю что внедряться можно поразному. Можно код менять а можно регистры отслеживать. Первое отследить можно а чтение регистров или памяти вроде никак, иначе это не прикладная прога для всеобщего пользования а хз что.
Я человек неопытный. Все ИМХО.Если не затруднит, поясни как реализуется bpm в ice ????




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 04 января 2005 14:55
· Личное сообщение · #7

Я тебя сперва не понял-думал, тебе байт править надо.... Тебе прогу надо написать? Ну незнаю. ИМХО никак не обойтись без коррекции памяти процесса, а ты не хочешь так.
Можно, правда, запустить прогу в режиме отладки логгером твоим и чекать байт тот после каждого шага, тормозить будет правда сильно.



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 января 2005 15:14
· Личное сообщение · #8

Байт править не надо. Надо за ним следить и писать все его изменения. Процесс известен ( java апплет в процессе iexploer).
Вопрос в силе. Как реализуется bpm в ice.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 04 января 2005 15:19
· Личное сообщение · #9

fedorfx пишет:
bpm в ice

ХЗ, есть только собственные предположения, они могут быть неправильные, поэтому озвучивать их я не буду. А искать неохота =)



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 января 2005 15:52
· Личное сообщение · #10

Тема открыта. Буду рад почитать мнения других участников по поднятым вопросам.



Ранг: 174.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 05 января 2005 04:40
· Личное сообщение · #11

fedorfx пишет:
Как реализуется bpm в ice.

Насколько я знаю, аналогичный брекпоинт в OllyDbg реализуется так: блоку памяти размером 4096 байт (меньше Windows не позволяет), в котором находится данный байт ставится доступ Read-only. Когда производится попытка записи в этот блок, возникает Access Violation, который соответствующим образом обрабатывает отладчик. Но для этого нужно запускать прогу в режиме отладки.




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 05 января 2005 05:12
· Личное сообщение · #12

хмм... давно я айсом не пользовался, но насколько помню в нём нельзя ставить бряк на доступ к диапазону памяти... а bpm в нём это вроде просто hw бряк на определённый адрес...
ЗЫ айсом не пользовался очень давно =)



Ранг: 174.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 05 января 2005 05:19
· Личное сообщение · #13

Mario555 пишет:
айсом не пользовался очень давно =)

Я им вообще не пользовался



Ранг: 160.1 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 05 января 2005 06:07
· Личное сообщение · #14

fedorfx пишет:
Как реализуется bpm в ice.

через отладочные регистры DRx. Читай интеловские мануалы.



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 января 2005 13:08
· Личное сообщение · #15

to deNULL ->>ReadOnly.
А если бряк на чтение из памяти&Access Violation не возникнет.
И чем если не секрет пользовались вместо ice ?

to infern0 Я думаю истина гдето рядом. Буду рыть в этом направлении.
Может кто встречал какие либо статьи по работе с DRx или примеры?



Ранг: 174.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 06 января 2005 07:28
· Личное сообщение · #16

fedorfx пишет:
А если бряк на чтение из памяти&Access Violation не возникнет.

Ну тебе же нужно только за записью следить. Нужен бряк на чтение - значит вообще снимай доступ к этому блоку...
fedorfx пишет:
И чем если не секрет пользовались вместо ice ?

Все тем же OllyDbg


 eXeL@B —› Основной форум —› Как такое сделать?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати