Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Willi2001
Заблокирован
#1

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

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

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

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

"Декомпилятор JetBrains dotPeek .1.5" находится у меня в папке "Программные файлы" (объём 46 Мб). Характерная особенность — папок не имеет, сам как — иконка.
Файл-ЕХЕ во вложении (точнее: скачан с "Форума Программистов" за 2010 год)
0
Миниатюры
Как открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5"?  
Вложения
Тип файла: rar shakerSort.rar (36.6 Кб, 9 просмотров)
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2015, 13:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5"? (C++):

Через ООП: Дать для числа наименование: "рубль", "рубля", "рублей"; - C++
Помогите пожалуйста с задачей. Могу сделать ее просто, но надо через ООП и у меня не получается. Дано натуральное число N (N<20),...

Как удалять скрытые, системные и "для чтения" файлы? - C++
Удаляю файлы при помощи DeleteFile(). При этом файлы с вышеуказанными атрибутами не удаляются. Как удалить такие файлы? Спасибо всем,...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Где ошибка невозможно преобразовать указатель "this" из "const pers" в "pers &" при выводе объектов через cout - C++
Добрый день! Переписал код из книг Лафоре, создание мультимножества из собственных объектов- справочник телефонный, с именем и фамилией. ...

Описать класс "Контейнер" как объект, предназначенный для транспортировки классов "Строительных блоков" - C++
1. Опишите класс "Строительный блок", описывающий габариты и массу блока прямоугольной формы. Данные класса: Габариты, масса. Методы...

Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" - C++
кто то напишите пожалуйста, вот программа: наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные...

17
Willi2001
Заблокирован
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
Willi2001
Заблокирован
19.09.2015, 21:39  [ТС] #3
Модераторы, перенесите, пожалуйста, тему в раздел, где "Корифеи С++ "! От "начинающих" — толку не будет.
Нет желания ожидать: "когда рак на горе свистнет".

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

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

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

Как уговорить Декомпилятор немного поработать?
0
Миниатюры
Как открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5"?   Как открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5"?  
mr_mczakenberg
65 / 65 / 31
Регистрация: 10.04.2015
Сообщений: 281
19.09.2015, 22:07 #4
Ну, раз ты такой крутой, что сам-то не разобрался?
В Корифеев ему перенести, программист, а с программкой разобраться не может(даже погуглить)
0
ValeryS
Модератор
7014 / 5352 / 529
Регистрация: 14.02.2011
Сообщений: 18,064
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
Willi2001
Заблокирован
19.09.2015, 23:02  [ТС] #6
ValeryS, спасибо!
Предполагаю, все они родня: C# и С++ — много общего!

Основные C-sharp-декомпиляторы http://my-it-notes.com/2011/12/c-sharp-decompiler-disassembler/
Кликните здесь для просмотра всего текста
Reflector (http://www.reflector.net/) – один из самых мощных и активно допиливаемых декомпиляторов. Кроме Шарпа жует VB.Net. Платный. Есть триалки. (к нему для удобства реккомендуют прикручивать – http://www.denisbauer.com/NETTools/FileDisassembler.aspx).
Дотпик (dotPeek – http://www.jetbrains.com/decompiler/) от jetbrains. Бесплатен.
Для более низкоуровневого анализа и дизасемблинга sharp-программ:
Ildasm – http://msdn.microsoft.com/ru-ru/library/f7dy01k1.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
Croessmah
Ушел
13777 / 8027 / 927
Регистрация: 27.09.2012
Сообщений: 19,784
Записей в блоге: 3
Завершенные тесты: 1
19.09.2015, 23:06 #7
Цитата Сообщение от Willi2001 Посмотреть сообщение
C# и С++ — много общего!
кроме буквы в названии, пожалуй, больше ничего.
1
ValeryS
Модератор
7014 / 5352 / 529
Регистрация: 14.02.2011
Сообщений: 18,064
19.09.2015, 23:18 #8
Цитата Сообщение от Croessmah Посмотреть сообщение
кроме буквы в названии,

Цитата Сообщение от Willi2001 Посмотреть сообщение
Предполагаю, все они родня: C# и С++ — много общего!
ну разве что в синтаксисе и то не всегда
да и в букве как сказал Croessmah
шарп компилит код который должон, по великой задумке мелкомягких, исполнятся на любой машине, NET технология, понимаешь
и посему из них вполне реально выдернуть исходники
а плюсы компилят код уже в машинных кодах,можно сказать в ассемблере,хотя это не совсем верно
для ARM будет совсем другой код, нежли для Intel
да еще оптимизатор постарается
так что дизассемблер в зубы
IDA например, у неё есть модуль который переводит из ассемблера в Си
но чаще всего лучше бы он этого не делал, запутанный малопонятный код
1
Croessmah
Ушел
13777 / 8027 / 927
Регистрация: 27.09.2012
Сообщений: 19,784
Записей в блоге: 3
Завершенные тесты: 1
19.09.2015, 23:34 #9
Цитата Сообщение от ValeryS Посмотреть сообщение
но чаще всего лучше бы он этого не делал, запутанный малопонятный код
то есть получается, что (компилятор + IDA) == (классный "обфускатор")?
1
ValeryS
Модератор
7014 / 5352 / 529
Регистрация: 14.02.2011
Сообщений: 18,064
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
Croessmah
Ушел
13777 / 8027 / 927
Регистрация: 27.09.2012
Сообщений: 19,784
Записей в блоге: 3
Завершенные тесты: 1
20.09.2015, 00:05 #11
ValeryS, батюшки тот редкий случай, когда на asm'е читабельнее?
0
Willi2001
Заблокирован
20.09.2015, 00:43  [ТС] #12
Спасибо толковым людям, подсказали: декомпиляция с помощью OllyDbg! Осталось немного доработать саму идею. Потом напишу о результатах.

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

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

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

Дополнение: Насчет дизассемблирования вам уже ответили, скажу чуть подробнее по самой проблеме. В том случае, если exeшник aimbot'а никак не запакован (в таком случае необходимо руками снять соответствующий пакер), то строковые константы обычно хранятся в одной части файла и все вместе. Т.е, вполне вероятно, что даже без использования IDA для реверсинга, можно в любом hex-редакторе подправить неустраивающую вас строчку (headshot) на что-либо менее заметное.
0
ValeryS
Модератор
7014 / 5352 / 529
Регистрация: 14.02.2011
Сообщений: 18,064
20.09.2015, 01:38 #15
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Willi2001 Посмотреть сообщение
Мне нужны только мельчайшие детали, полагаюсь на интуицию или озарение.
ну полагайся, полагайся
для работы с Олькой (да и с ИДой тоже)нужно прекрасно знать ассемблер, архитектуру,знать Си на низком уровне,как выглядят строки, структуры, классы, адресная арифметика, ОСь опять же
никаких Сишных строк ты в листинге не увидишь
Цитата Сообщение от Willi2001 Посмотреть сообщение
Декомпиляция С++
декомпиляция невозможна, возможно дизассемблирование
это разные вещи
0
20.09.2015, 01:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2015, 01:38
Привет! Вот еще темы с ответами:

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Как отключить автоматическое добавление "_" "@" "number" к имени экстернального метода? - C++
Здраствуйте! Подскажите как это делается? (вопрос в названии темы) среда : VS2013 проект компилируется в dll файл в начале...

"Прекращена работа программы 3.ехе . Windows осуществляет поиск способа устранения этой ошибки" - C++
сначала не запускалось окошко - теперь выводится, но через секунд 10 выбивает окошко &quot;Прекращена работа программы 3.ехе . Windows...

чем отличается вызов объекта через "." и через "->" - C++
Здравствуйте. Вот создал топик для тех, кто желает сам познать С++, но у которых есть вопросы по базовым знаниям. Начну с вопроса:...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru