Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.07.12;
Скачать: [xml.tar.bz2];

Вниз

Как отследить изменение памяти?   Найти похожие ветки 

 
@!!ex ©   (2009-05-09 19:46) [0]

В приложении в некоторый момент появляется текстовая строка...
Нужно узнать, откуда этот текст берется.
Проблема в том, что я не знаю точно в какой момент эта строка становится доступна.
Во всех файлах использумых(которые видно файлмоном) этой строки нету, в самой ехешку тоже нету...

Есть ли какой нибудь софт, который мониторит память и может указать на какой а=команде в коде появилась строка в памяти?


 
Игорь Шевченко ©   (2009-05-09 19:54) [1]


> Есть ли какой нибудь софт, который мониторит память и может
> указать на какой а=команде в коде появилась строка в памяти?
>


отладчик


 
@!!ex ©   (2009-05-09 19:55) [2]

> [1] Игорь Шевченко ©   (09.05.09 19:54)

ЧЕто не нашел я такой функции в Olly... :\


 
DVM ©   (2009-05-09 21:08) [3]


> @!!ex ©   (09.05.09 19:46)  

Пытаешься избавиться от строки "Вы используете демо-версию программы"?
Строка то небось зашифрована и раскидана в разных местах. Может и не один раз.

А то, что

> что я не знаю точно в какой момент эта строка становится
> доступна.

Тоже типичный прием защиты.


 
oxffff ©   (2009-05-09 21:48) [4]


> @!!ex ©   (09.05.09 19:55) [2]
> > [1] Игорь Шевченко ©   (09.05.09 19:54)
>
> ЧЕто не нашел я такой функции в Olly... :\


Поставить бряк на изменения памяти.
Например SoftIce, PEBrowse поддерживает.


 
oxffff ©   (2009-05-09 21:50) [5]


> Поставить бряк на изменения памяти.


17.2.1. Debug Address Registers (DR0-DR3)
Each of these registers holds the linear address for one of the four breakpoints. That is,
breakpoint comparisons are made before physical address translation occurs. Each breakpoint
condition is specified further by the contents of the DR7 register.


 
@!!ex ©   (2009-05-09 22:37) [6]

> [3] DVM ©   (09.05.09 21:08)

защит не при чем.
Я не занимаюсь и никогда не занимался незаконным взломом софта.
На дизасемблирование текущего подопытного есть разрешение правообладателя.


> [4] oxffff ©   (09.05.09 21:48)

На изменее любое??? Там загрузки данных метров на 300....
SoftIse не поставлю, слишком глубоко он в систему лезет.


 
DVM ©   (2009-05-09 22:57) [7]


> @!!ex ©   (09.05.09 22:37) [6]


> защит не при чем.


> На дизасемблирование текущего подопытного есть разрешение
> правообладателя.

Да я понял. Наверное переводишь игру на другой язык?


 
@!!ex ©   (2009-05-10 06:50) [8]

> [7] DVM ©   (09.05.09 22:57)
> Наверное переводишь игру на другой язык?

Как обычно.

Вся лажа в том, что теоретически есть XML содержащая все строки...
Вот только неожиданно одна из строк выводится на английском...
Поймать бы момент, когда она в памяти появляется... Но я даже не знаю в каком месте это происходит...


 
oxffff ©   (2009-05-10 21:05) [9]


> @!!ex ©   (09.05.09 22:37) [6]
> > [3] DVM ©   (09.05.09 21:08)
>
> защит не при чем.
> Я не занимаюсь и никогда не занимался незаконным взломом
> софта.
> На дизасемблирование текущего подопытного есть разрешение
> правообладателя.
>
>
> > [4] oxffff ©   (09.05.09 21:48)
>
> На изменее любое???


Какая разница сколько. Если запись последовательная, то тебе достаточно отловить момент записи первого или последнего байта, слова, двойного слова. А вообще RTFM

Debug Control Register (DR7)
The debug control register shown in Figure 17-1 specifies the type of memory or I/O access
associated with each breakpoint. Each address in registers DR0 to DR3 corresponds to a field
R/W0 to R/W3 in the DR7 register. The DE (Debug Extensions) bit in the CR4 register
DEBUGGING E
17-4
determines how the R/W bits are interpreted. When the DE bit is set, the processor interprets
these bits as follows:
00 — Break on instruction execution only
01 — Break on data writes only
10 — Break on I/O reads or writes
11 — Break on data reads or writes but not instruction fetches
When the DE bit is clear, the Pentium processor interprets the R/W bits the same as the
Intel486 and Intel386 processors, which is as follows:
00 — Break on instruction execution only
01 — Break on data writes only
10 — undefined
11 — Break on data reads or writes but not instruction fetches
The LEN0 to LEN3 fields in the DR7 register specify the size of the breakpointed location.
A size of 1, 2, or 4 bytes may be specified. The length fields are interpreted as follows:
00 — one-byte length
01 — two-byte length
10 — undefined
11 — four-byte length


 
oxffff ©   (2009-05-10 21:09) [10]


> @!!ex ©   (09.05.09 22:37) [6]
> > [3] DVM ©   (09.05.09 21:08)
>
> защит не при чем.
> Я не занимаюсь и никогда не занимался незаконным взломом
> софта.
> На дизасемблирование текущего подопытного есть разрешение
> правообладателя.
>
>
> > [4] oxffff ©   (09.05.09 21:48)
>
> На изменее любое??? Там загрузки данных метров на 300...
> .


И вообще тебе нужно поставить соответствующий отладчик, который делает за тебя это(я тебе написал, как делает это сам отладчик в ring 0)
например PEBrowse и любой другой (можешь взять на wasm.ru).



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2009.07.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.004 c
15-1242105022
otan
2009-05-12 09:10
2009.07.12
Доступ к данным парадокса формата *.MB


4-1212577567
ЗапомниСынок
2008-06-04 15:06
2009.07.12
EM_GETLINE


2-1242710159
Sw
2009-05-19 09:15
2009.07.12
Правое выравнивание текста в компоненте Combobox


2-1243078038
Pauk
2009-05-23 15:27
2009.07.12
текстовуе ресурсы (RES)


15-1242131415
12
2009-05-12 16:30
2009.07.12
Seagate Crystal Reports. Просто вставить тхт/bmp в detail





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский