Можно ли сделать отладчик, например, OllyDbg, используя C#? Я имею в виду debug VC++, Delphi, Borland? Или сделать что-то вроде IDA (отладчик)?можно сделать отладчик как ollydbg через C#?
ответ
No.
.NET Framework языки, как C# и VB.NET, не лучший выбор для его проведения. У вас будет много работы для получения информации от ЦП, библиотек и т. Д. Вы должны выполнить так много процедур для прямого вызова DLL и аппаратного обеспечения, что в некоторых сценариях это невозможно.
Чтобы сделать отладку и получить Ring-0 и другие функции ЦП и ОС, лучше использовать C, C++ или даже чистую сборку.
Я согласен с основной частью вашего текста, но «Нет» просто неправда. – MicroVirus
@MicroVirus, как получить информацию о регистре CPU и регистрации стека и, иначе, как установить шаг INT5 или RING-0 с использованием ТОЛЬКО .NET? Это просто НЕВОЗМОЖНО! Вам нужно будет получить доступ к другим библиотекам нативного кода, чтобы получить эту информацию (если возможно, без изменений дебютных регистров!). Итак, я продолжаю думать о недостатке производительности и большом количестве кода и ссылки между библиотеками, причем все они не нужны, если выполняют задание entore в ASM или C/C++. –
Я действительно не могу понять эти глупые голоса в stackoverflow. всегда пользователи с высоким рейтингом дают другим пользователям пустые голоса! – Amir
Единственное, что вы не можете сделать, насколько я знаю, - это сделать материал ядра, так как платформа .NET недоступна на этом уровне. В остальном, только ваш навык и время являются ограничивающим фактором. – MicroVirus
@MicroVirus ty очень много :) ♥♥♥ – xebim
@MicroVirus, вам лучше ответить на вопрос: единственное, что вы можете сделать, это интерфейс. Отладчик, такой как OllyDbg без какой-либо функции KERNEL или CPU, в любом случае не является отладчиком ... См. Мои комментарии ниже и покажите мне, как регистрируются регистры доступа к ЦП и STACK, используя ТОЛЬКО .NET. –