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

Вниз

Process Memory Map 1.0 alpha 4   Найти похожие ветки 

 
Rouse_ ©   (2015-12-09 17:08) [0]

Перерабатываю в срочном порядке ядро защиты и тут потребовалась утилита для внешнего контроля изменений с кодом прямо в памяти. Взял и добавил такую возможность в свою старую (уже) утилиту Process Memory Map.
Получилось достаточно забавно.

Грубо вот так выглядел код на точке входа раньше: https://github.com/AlexanderBagel/ProcessMemoryMap/raw/master/img/5.png?raw=true
А вот так теперь я могу его читать сразу напрямую без подключения отладчика (темболее отлачик процессом блокируется):
https://github.com/AlexanderBagel/ProcessMemoryMap/raw/master/img/6.png?raw=true

Дизасм 32 и 64 бита, ядро движка не стал сильно думать и взял BeaEngine 3.1

Бинарник можно забрать вот тут: http://rouse.drkb.ru/files/processmm_bin.zip

Ну а кому интересны полные исходники (ну и скрины демонстрирующие основной функционал утилиты), то тогда вам сюда: https://github.com/AlexanderBagel/ProcessMemoryMap


 
Rouse_ ©   (2015-12-09 17:16) [1]

Там правда есть небольшой косячек, следующего плана.
Дизавсм автоматом переключается ориентируясь на битность процесса, но в 64 битной ос в память 32 битного процесса подгружены четыре 64 битных библиотеки (ntdll wow64 wow64cpu и wow64win) если дизасмить их код, то т.к. процесс 32 битный - их инструкции будут трактоваться как 32 битные (что конечно ошибка) но это потом попозже поправлю ибо пока этот случай мне не интересен.


 
KSergey ©   (2015-12-11 10:13) [2]

А можно кратко о функционале программы?
Штука вроде полезная, но что-то не могу сообразить как.

Кстати, чем она от того же WinDbg отличается, например? ну в смысле посмотреть за памятью процесса?


 
Rouse_ ©   (2015-12-11 10:33) [3]

Да, она предназначена как инструмент позволяющий удобно следить за памятью любого процесса, т.е. только чтение без возможности модификации данных.
Быстро определять где мы сейчас находимся, детектировать что за апифункция сейчас выполняется ну и т.п.
Ну и конечно поиск значений в процессе


 
KSergey ©   (2015-12-11 10:39) [4]

Мы под это дело наловчились дампы использовать.

Кстати, "детектировать что за апифункция сейчас выполняется" - это вот как?? или я невнимательно посмотрел и там был call stack?


 
Rouse_ ©   (2015-12-11 10:58) [5]

там список экспорта строится (Ctrl+E) плюс в свойствах региона отображается ввержу (адрес рассчитывается также как и экпорты через символы)


 
Rouse_ ©   (2015-12-11 11:44) [6]

Вот как здесь вверху:

https://github.com/AlexanderBagel/ProcessMemoryMap/raw/master/img/5.png?raw=true

Хоть мы и находимся на точке входа, но он сразу показывает ближайшую к ней функцию, в данном случае это kernel32.dll DuplicateHandle

(иногда и промахивается но алгоритм там простой как пряник, просто вызываем SymGetSymFromAddr и если вернулось что-то нормальное, выводим его)


 
Rouse_ ©   (2016-05-27 23:20) [7]

А уже кстати 10 альфа выложена :)
Тем кто страдает защитой очень полезен будет новый дизассемблер и режим контроля образа на основе контрольных сумм (MML) :)

ЗЫ: ничего что я тут бесплатный опенсорс пиарю? ;)


 
Rouse_ ©   (2016-05-27 23:24) [8]

Эмм, рано кнопку нажал...

Оть тут бинарники:
https://github.com/AlexanderBagel/ProcessMemoryMap/releases

Оть тут исходники:
https://github.com/AlexanderBagel/ProcessMemoryMap


 
Rouse_ ©   (2016-05-27 23:28) [9]


> KSergey ©   (11.12.15 10:39) [4]
> Кстати, "детектировать что за апифункция сейчас выполняется"
> - это вот как?? или я невнимательно посмотрел и там был
> call stack?

Выхлоп в дизасме кстати с твоей подачи был сделан (рассчет адресов на дампе идет).
Действительно удобно стало.
https://raw.githubusercontent.com/AlexanderBagel/ProcessMemoryMap/master/img/9.png


 
KSergey ©   (2016-05-29 07:47) [10]

Пока ничего не понял в картинке, но надеюсь, что не слишком вас напряг.



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

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

Наверх





Память: 0.47 MB
Время: 0.001 c
15-1464595253
ВладОшин
2016-05-30 11:00
2017.08.06
Или в TwebBrowser из Tservice сделать Form.Submit .. или ?


2-1442083956
vegarulez
2015-09-12 21:52
2017.08.06
Как подружить scrollbar + scrollbox.


15-1461214250
KilkennyCat
2016-04-21 07:50
2017.08.06
А не планируется ли в начале июня встреча в Москве?


15-1449670082
Rouse_
2015-12-09 17:08
2017.08.06
Process Memory Map 1.0 alpha 4


15-1464348284
ttUser
2016-05-27 14:24
2017.08.06
Что такое fb_lock_xxx в Process Explorer в загруженных DLL?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский