С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/79: Рейтинг темы: голосов - 79, средняя оценка - 4.97
Заблокирован
1

Как открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5"?

19.09.2015, 13:42. Показов 15614. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Научите, пожалуйста, открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5".
Сам пока не открывал, страшновато. "Декомпилятор JetBrains dotPeek .1.5" скачал вчера.

Он немного чудной — отличается от обычных программ, похож на рисунок.

"Декомпилятор JetBrains dotPeek .1.5" находится у меня в папке "Программные файлы" (объём 46 Мб). Характерная особенность — папок не имеет, сам как — иконка.
Файл-ЕХЕ во вложении (точнее: скачан с "Форума Программистов" за 2010 год)
Миниатюры
Как открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5"?  
Вложения
Тип файла: rar shakerSort.rar (36.6 Кб, 23 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2015, 13:42
Ответы с готовыми решениями:

Не открывается форма в Visual Studio 2019 после JetBrains dotPeek 2019.3.2
Доброго времени суток! Столкнулся с проблемой, после распаковки .exe файла в программе dotPeek...

Как открывать *.evt файлы через VB?
Спасибо! Как можно взять информацию прямо из sys*.evt у winNT Сейчас это делаю через Evtviwer.exe...

Как открывать через OpenDialog файлы mdb?
как через opendialog можно открывать *.mdb файлы. у меня пишет Invalid stream format. procedure...

Word 2003 нормально открывает локальные файлы но не хочет открывать сетевые(через Webdav)
Так же и 2007 ведет себя на этом компе но с 2000 порядок (такая тенденция на 2 компах). На...

Открывать загружаемые файлы для чтения
Доброго времени суток. В общем нужно открывать загружаемые файлы для чтения (они в формате .doc,...

17
Заблокирован
19.09.2015, 14:46  [ТС] 2
Что и откуда?
Пояснения:
1) dotPeek 1.5 as a 32-bit executable (47.0 MB) Официальный сайт для загрузки
2) shakerSort.rar (36.6 Кб, 7 просмотров) cut
0
Заблокирован
19.09.2015, 21:39  [ТС] 3
Модераторы, перенесите, пожалуйста, тему в раздел, где "Корифеи С++ "! От "начинающих" — толку не будет.
Нет желания ожидать: "когда рак на горе свистнет".

Сам пытаюсь что-то делать, но пока много неясного.
Например, распаковываю архив до 209 Кб. Запускаю: дважды ЛКМ
Появляется Командная строка:
Shaker Sort.
Enter array dimension:

Трудности на ровном месте…

Запускаю Декомпилятор "JetBrains dotPeek 1.5". Отвожу его туда, где файл "распакованный Shaker Sort". Дальше тупик.
По смыслу картинки, ниже, ему что-то не нравится или чего-то не хватает:
Shaker Sort (not supported)

Как уговорить Декомпилятор немного поработать?
Миниатюры
Как открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5"?   Как открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5"?  
0
67 / 67 / 72
Регистрация: 10.04.2015
Сообщений: 281
19.09.2015, 22:07 4
Ну, раз ты такой крутой, что сам-то не разобрался?
В Корифеев ему перенести, программист, а с программкой разобраться не может(даже погуглить)
0
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,708
19.09.2015, 22:20 5
Цитата Сообщение от Willi2001 Посмотреть сообщение
открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5".
не бывает
декомпилировать исполняемый код, нереально
компиляция необратимый процесс
например
написал ты
C++
1
2
3
int sum=0;
for(int i=0;i<10;i++)
  sum+=i;
а компилятор это все заменил на sum=45
и насколько я почитал, JetBrains это декомпилятор для шарпа, а это совсем другая история
1
Заблокирован
19.09.2015, 23:02  [ТС] 6
ValeryS, спасибо!
Предполагаю, все они родня: C# и С++ — много общего!

Основные C-sharp-декомпиляторы http://my-it-notes.com/2011/12... assembler/
Кликните здесь для просмотра всего текста
Reflector (http://www.reflector.net/) – один из самых мощных и активно допиливаемых декомпиляторов. Кроме Шарпа жует VB.Net. Платный. Есть триалки. (к нему для удобства реккомендуют прикручивать – http://www.denisbauer.com/NETT... mbler.aspx).
Дотпик (dotPeek – http://www.jetbrains.com/decompiler/) от jetbrains. Бесплатен.
Для более низкоуровневого анализа и дизасемблинга sharp-программ:
Ildasm – http://msdn.microsoft.com/ru-r... y01k1.aspx
Ilspy – http://wiki.sharpdevelop.net/ilspy.ashx
Старенькое руководство от мыщъха по взлому шарпных программ: http://www.insidepro.com/kk/258/258r.shtml


dotPeek http://habrahabr.ru/company/JetBrains/blog/189580/
Кликните здесь для просмотра всего текста
Напомним, dotPeek — это бесплатный декомпилятор .NET-сборок, который показывает результирующий код на языке C# и позволяет изучать его с помощью многообразных функций навигации и поиска, что знакомы и, будем надеяться, симпатичны пользователям другого нашего продукта, ReSharper. В частности, в dotPeek можно проводить поиск конкретного типа, символа или члена класса во всех загруженных сборках; переходить от деклараций символов к их использованиям и наоборот; анализировать иерархии наследования. Кроме того, при наличии файлов отладочной информации (.pdb) dotPeek показывает оригинальный исходный код сборок и дружит с серверами символов, такими как Microsoft Reference Source Center и SymbolSource.org, с которых при необходимости может скачивать исходный код различных библиотек.
Что касается собственно новой версии, то она может быть интересна .NET-разработчикам по нескольким причинам:
dotPeek теперь позволяет экспортировать декомпилированные сборки в проекты (.csproj). Нас об этом долго и убедительно просили, и вот оно, счастье: восстанавливать потерянные исходники по оставшимся библиотекам теперь гораздо проще. Помимо создания проекта и сохранения восстановленного исходного кода в его структуре, dotPeek умеет создавать файлы решений (.sln), воспроизводить структуру папок и файлов на основании отладочной информации, настраивать тип проекта исходя из типа сборки, сохранять историю экспортов и напоминать о том, что та или иная сборка уже была сохранена в виде проекта.
0
Неэпический
18109 / 10696 / 2062
Регистрация: 27.09.2012
Сообщений: 26,939
Записей в блоге: 1
19.09.2015, 23:06 7
Цитата Сообщение от Willi2001 Посмотреть сообщение
C# и С++ — много общего!
кроме буквы в названии, пожалуй, больше ничего.
1
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,708
19.09.2015, 23:18 8
Цитата Сообщение от Croessmah Посмотреть сообщение
кроме буквы в названии,

Цитата Сообщение от Willi2001 Посмотреть сообщение
Предполагаю, все они родня: C# и С++ — много общего!
ну разве что в синтаксисе и то не всегда
да и в букве как сказал Croessmah
шарп компилит код который должон, по великой задумке мелкомягких, исполнятся на любой машине, NET технология, понимаешь
и посему из них вполне реально выдернуть исходники
а плюсы компилят код уже в машинных кодах,можно сказать в ассемблере,хотя это не совсем верно
для ARM будет совсем другой код, нежли для Intel
да еще оптимизатор постарается
так что дизассемблер в зубы
IDA например, у неё есть модуль который переводит из ассемблера в Си
но чаще всего лучше бы он этого не делал, запутанный малопонятный код
1
Неэпический
18109 / 10696 / 2062
Регистрация: 27.09.2012
Сообщений: 26,939
Записей в блоге: 1
19.09.2015, 23:34 9
Цитата Сообщение от ValeryS Посмотреть сообщение
но чаще всего лучше бы он этого не делал, запутанный малопонятный код
то есть получается, что (компилятор + IDA) == (классный "обфускатор")?
1
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,708
20.09.2015, 00:01 10
Цитата Сообщение от Croessmah Посмотреть сообщение
классный "обфускатор"
по сути да
Вот например
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{
  const char *v1; // ecx@1
  char v2; // al@2
  int v3; // eax@4
  int v4; // eax@5
  size_t result; // eax@10
 
  v1 = a1;
  if ( (_BYTE)a1 & 3 )
  {
    while ( 1 )
    {
      v2 = *v1++;
      if ( !v2 )
        break;
      if ( !((_BYTE)v1 & 3) )
        goto main_loop;
    }
LABEL_10:
    result = v1 - 1 - a1;
  }
  else
  {
    while ( 1 )
    {
      do
      {
main_loop:
        v3 = (*(_DWORD *)v1 + 2130640639) ^ ~*(_DWORD *)v1;
        v1 += 4;
      }
      while ( !(v3 & 0x81010100) );
      v4 = *((_DWORD *)v1 - 1);
      if ( !(_BYTE)v4 )
        break;
      if ( !BYTE1(v4) )
        return v1 - 3 - a1;
      if ( !(v4 & 0xFF0000) )
        return v1 - 2 - a1;
      if ( !(v4 & 0xFF000000) )
        goto LABEL_10;
    }
    result = v1 - 4 - a1;
  }
  return result;
}
можно сразу догадаться что сие есть
а IDA опознала как strlen
0
Неэпический
18109 / 10696 / 2062
Регистрация: 27.09.2012
Сообщений: 26,939
Записей в блоге: 1
20.09.2015, 00:05 11
ValeryS, батюшки тот редкий случай, когда на asm'е читабельнее?
0
Заблокирован
20.09.2015, 00:43  [ТС] 12
Спасибо толковым людям, подсказали: декомпиляция с помощью OllyDbg! Осталось немного доработать саму идею. Потом напишу о результатах.

Практические советы:
Кликните здесь для просмотра всего текста
Инсталляция OllyDbg http://www.google.ru/url?url=h... eYTKn80J4A
"Урок с помощью OllyDbg" http://daxa.com.ua/article/num1/
0
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,708
20.09.2015, 01:05 13
Цитата Сообщение от Willi2001 Посмотреть сообщение
декомпиляция с помощью OllyDbg!
и что это за "толковые люди"? Олька это отладчик а ни разу ни дизассемблер
конечно у ней есть плагины которые облегчают жизнь но никак не сравнится IDAй
как и ИДА не сравнится с Олькой по качеству отладки
у них разные задачи
походу ты еще не понял, куда решил влезть
ознакомься с трудами Криса Касперски
например "Техника отладки программ без исходных текстов"
http://forcoder.ru/security/te... tekstov-81
вообще у него много книг
1
Заблокирован
20.09.2015, 01:31  [ТС] 14
ValeryS, спасибо!
Этих книг до смерти не перечитать. Мне нужны только мельчайшие детали, полагаюсь на интуицию или озарение. Вся суть ниже, пока её не оспариваю.

Как узнать исходный код программы? Декомпиляция С++...
Как узнать исходный код С++
Кликните здесь для просмотра всего текста
Вопрос: Нужно узнать исходный код программы, написанной на C++. (Почему именно на с++? - Не спрашивайте, просто знаю и всё.)

Ответ: ну исходный код на С++ ты ни как не получишь, а вот дизассемблировать вполне можно. погляди на IDA Pro. лучше инструмента под Windows я не видел. Если изменить ход программы нужно совсем чуток, то можешь воспользоваться OllyDbg. И прямо на ходу изменить ассеблерные команды в нужном месте и сохранить новый дамп. Уроки и статьи по дизассемблированию можешь найти на wasm.ru.

Дополнение: Насчет дизассемблирования вам уже ответили, скажу чуть подробнее по самой проблеме. В том случае, если exeшник aimbot'а никак не запакован (в таком случае необходимо руками снять соответствующий пакер), то строковые константы обычно хранятся в одной части файла и все вместе. Т.е, вполне вероятно, что даже без использования IDA для реверсинга, можно в любом hex-редакторе подправить неустраивающую вас строчку (headshot) на что-либо менее заметное.
0
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,708
20.09.2015, 01:38 15
Лучший ответ Сообщение было отмечено Willi2001 как решение

Решение

Цитата Сообщение от Willi2001 Посмотреть сообщение
Мне нужны только мельчайшие детали, полагаюсь на интуицию или озарение.
ну полагайся, полагайся
для работы с Олькой (да и с ИДой тоже)нужно прекрасно знать ассемблер, архитектуру,знать Си на низком уровне,как выглядят строки, структуры, классы, адресная арифметика, ОСь опять же
никаких Сишных строк ты в листинге не увидишь
Цитата Сообщение от Willi2001 Посмотреть сообщение
Декомпиляция С++
декомпиляция невозможна, возможно дизассемблирование
это разные вещи
0
Заблокирован
20.09.2015, 01:58  [ТС] 16
ValeryS, спасибо! Пишу по-русски, как думаю!
Кликните здесь для просмотра всего текста
Вы, наверно, преподаватель — ощущается педант.
Когда всё перечитаю и выучу, то угроблю: интерес, страсть и жизнь. Кроме того и сам себя поневоле, в момент чтения, буду зомбировать, загоню в прокрустово ложе стереотипов. Сейчас… разбежался.

Лучше слушать оптимистов, пример ниже, где за два часа пойму азы ассемблера.
Желательно иметь хоть приблизительное представление о том что такое ассемблер но если и этого багажа знаний у вас нет нестрашно, думаю после этого опыта, вы обязательно выучите азы ассемблера http://daxa.com.ua/article/num1/
0
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,708
20.09.2015, 02:10 17
Цитата Сообщение от Willi2001 Посмотреть сообщение
Вы, наверно, преподаватель
ни разу в жизни
Цитата Сообщение от Willi2001 Посмотреть сообщение
ощущается педант.
отголоски программирования, ну и обратного инжинеринга, раздолбайство на пять минут, может добавить лишний месяц трудов
Цитата Сообщение от Willi2001 Посмотреть сообщение
Лучше слушать оптимистов, пример ниже, где за два часа пойму азы ассемблера.
это не оптимисты, это дилетанты

короче запусти Ольку, загрузи код , и поставь на пошаговое выполнение
а потом примерно через час, пойдешь искать книгу,кою я посоветовал
там в отличии от форумов и блогов хоть более-менее систематизировано
вот еще одна его книга "Фундаментальные основы хакерства. Искусство дизассемблирования "
http://www.labirint.ru/books/151717/
1
Заблокирован
20.09.2015, 02:58  [ТС] 18
ValeryS, спасибо! Уговорили. Уже план по скачиванию книг — перевыполнил.
Кликните здесь для просмотра всего текста
1) Касперски Крис. Фундаментальные основы хакерства. Техника хакерских атак (том 1) DOC JPG
http://www.twirpx.com/file/28460/
Издательство: СОЛОН - Р, 2005 г. техника работы с отладчиком и дизассемблером, идентификация и реконструкция ключевых структур исходного языка - функций (в т. ч. виртуальных), локальных и глобальных переменных, ветвлений, циклов, объектов и их иерархий, математических операторов и т. д.

2) Касперски Крис. Образ мышления - дизассемблер IDA Pro PDF
http://www.twirpx.com/file/260510/
Подробный справочник по функциям встроенного языка, интерфейсу и архитектуре дизассемблера IDA Pro 4.01 с уточнением особенностей младших версий.
Показывает приемы эффективного использования IDA Pro для исследования зашифрованного кода, π-кода, самомодифицирующегося кода и кода, защищенного антиотладочными приемами.
Ориентирован на системных программистов средней и высокой квалификации в совершенстве владеющих языком ассемблера микропроцессоров серии Intel 80x86 и работающих с операционными системами фирмы Microsoft.

3) Касперски Крис. Тонкости дизассемблирования DOC
http://www.twirpx.com/file/531912/
Очень часто под рукой не оказывается ни отладчика, ни дизассемблера, ни даже компилятора, чтобы набросать хотя бы примитивный трассировщик. Разумеется, что говорить о взломе современных защитных механизмов в таких условиях просто смешно, но что делать если жизнь заставляет? .

4) Крис Касперски - Величайший российский хакер-гуру
http://www.twirpx.com/topic/4726/
Биография
Крис Касперски (Николай Лихачёв) родился 2 ноября 1976 года, в маленьком поселке на Северном Кавказе.
Далее произошли две вполне логичные вещи – он подрос и пошел в школу. В начальных классах у Криса появился первый компьютер – «Правец-8Д», болгарский клон британской машины Oric Atmos с кучей документации на болгарском же языке. С него все и началось.
У народа в те дни, если что и встречалось, то «Спектрумы». Поэтому не заинтересоваться было трудно. По признанию будущего хакера, крайне интересно было воспроизвести на машине «елочку» или запустить по экрану шарик, отскакивающий от стенок. Этим, в числе прочего, и озадачивался наш герой…
0
20.09.2015, 02:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2015, 02:58
Помогаю со студенческими работами здесь

Как шифруются ЕХЕ файлы?
Как можно зашифровать ЕХЕ файл? Самым простым способом(думаю мне его хватит). Кстати, на С++......

Как открывать файлы в кодировке ANSI
Открываю так txt файл: using System.IO; StreamReader...

Как открывать в Image файлы TIFF?
Подскажите, пожалуйста, как грузить и отображать картинки TIFF в элементе управления Image?

Как открывать случайные файлы из директории?
Как открывать случайные файл из директории в C# ?

Как правильно открывать и читать файлы?
Здравствуйте, не пойму из-за чего начала вылетать следующая ошибка при вызове скрипта: Вызываю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru