Ответы пользователя по тегу C
  • Как декомпилировать программу?

    @Danil6969
    Reverse engineer (native & managed)
    Тут два варианта: открываете в dotPeek, если в файле есть CLR заголовок , то он позволит посмотреть классы и структуру файла, затем уже декомпилировать методы. Если же выведет "dll not supported" или "exe not supported", то это значит, что никаких классов и структуры программы там нет, только экспортируемые функции и суброутины (внутренние функции, процедуры), методов никаких нет, т.е. используется парадигма процедурного программирования (x86 - процедурный язык, как и любой другой машинный, соответственно декомпилированный C - тоже, ООП здесь нет и не предвидится, имейте в виду). Здесь уже надо использовать декомпилятор машинного кода, к примеру Ghidra; Hexrays устарел, но тоже как вариант можете попробовать. Потом извлечённый C-код компилируете и собираете, одна функция за другой, исправляя ошибки, которые может допустить декомпилятор. В случае с C#, если там был CIL, у вас будут классы, поля и методы. Если используется технология mixed dll/exe, то совмещать dotPeek и Ghidra.
    Ответ написан