Как найти код, генерирующий известные данные? - PullRequest
0 голосов
/ 05 сентября 2010

Из отладки программы я знаю только то, что до нажатия кнопки набор известных данных не находится в памяти (подтверждается поиском в памяти), а после нажатия кнопки данные находятся в памяти (все время в другом месте).

Как мне найти код, который генерирует эти данные?

Одной из основных проблем (которые, возможно, важно знать) является то, что это .net-программа (которую я не могу проанализировать с помощью Reflector, потому что она запутана). Поэтому я анализирую сборку, сгенерированную .NET (в Olly / Immunity / IDA).

Ответы [ 2 ]

0 голосов
/ 23 апреля 2013

Добавьте Cheat Engine в свой инструментарий.

Если вы можете получить адрес, который он будет писать, вы можете щелкнуть по нему правой кнопкой мыши и выбрать «Узнать, что пишет по этому адресу».

P.S. Для обратного эффекта вы можете выбрать инструкцию в представлении памяти, щелкнуть правой кнопкой мыши и выбрать «Узнать, к каким адресам обращается эта инструкция».

0 голосов
/ 05 сентября 2010

Если это .Net, вы можете отладить код IL . Это нелегко, но должно быть возможно найти иль интра, который записывает последовательность в память.

Попробуйте средства отладки для Windows с так называемым расширением SOS .

Вы также можете попытаться сгенерировать, скажем, код C # из запутанных сборок для отладки. Но это, безусловно, будет не лучше читаемый код, чем IL.

...