Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/41: Рейтинг темы: голосов - 41, средняя оценка - 4.68
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
1

Можно ли посмотреть, что внутри программы ?

11.11.2011, 13:55. Показов 8230. Ответов 36
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Скачал я программу типа тетрис через winrar. Распаковал в папку, а там только read me и иконка программы. Кликаешь на иконку, программа запускается. Как можно залезть в саму программу, чтобы посмотреть, что у ней внутри?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2011, 13:55
Ответы с готовыми решениями:

Можно посмотреть код программы exe файла, если знаешь что он написана на языке C#?
Можно посмотреть код программы exe файла, если знаешь что он написана на языке си шарп? И есть...

Как посмотреть, что внутри DLL-ки в читабельном виде?
как посмареть что внутри дллки в читабельном виде, обьясните нубу, есть ли что нить читабельнее...

Можно ли предугадать,что выведет метод Random.Next и можно посмотреть сам этот класс?(код)
Можно ли предугадать,что выведет метод Random.Next и можно посмотреть сам этот класс?(код)

Не работает локализация, что можно посмотреть
Здравствуйте, есть две версии одной ПО. В одной работает, а в той которая пожирней, нет. Подскажите...

36
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
11.11.2011, 16:10  [ТС] 21
Author24 — интернет-сервис помощи студентам
У него наверное космическая тетрис-программа управления полетом МКС, с высокоточными расчетами и со сверхнадежными алгоритмами.

Точно.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
12.11.2011, 10:10 22
Цитата Сообщение от sergey.shuvalov
Скачал я программу типа тетрис через winrar. Распаковал в папку, а там только read me и иконка программы. Кликаешь на иконку, программа запускается. Как можно залезть в саму программу, чтобы посмотреть, что у ней внутри?
чтобы понять, что у неё внутри, нужны знания
попробуй взять материнскую плату и понять, что у неё внутри
0
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
12.11.2011, 13:00  [ТС] 23
Цитата Сообщение от accept Посмотреть сообщение
чтобы понять, что у неё внутри, нужны знания
попробуй взять материнскую плату и понять, что у неё внутри
Не понять, а посмотреть. Взял пилу, распилил мат. плату и посмотрел, что внутри. Я ищу такую "пилу", чтобы распилить программу и посмотреть, что внутри. Вот один добрый человек посоветовал в качестве "пилы" - дизассемблер.
0
Deviaphan
12.11.2011, 13:11
  #24

Не по теме:

Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Вот один добрый человек посоветовал в качестве "пилы" - дизассемблер.
"Условные Блондинки" так машины чинят.) Откроют капот и смотрят на содержимое.)))

0
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
12.11.2011, 13:34  [ТС] 25
Так у меня же цель ПОСМОТРЕТЬ, а не починить. Если починить, то да, все вы правы. Речь о разных целях. Я хочу посмотреть, чтобы сравнить. Хотя процесс мышления(как я думаю) , это и есть процесс сравнения.( между истина и ложь, с коэффициентом субъективизма от нуля до бесконечности)
0
talis
12.11.2011, 13:36
  #26

Не по теме:

sergey.shuvalov, скажите честно: вы издеваетесь?

0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
12.11.2011, 15:08 27
Цитата Сообщение от sergey.shuvalov
Не понять, а посмотреть. Взял пилу, распилил мат. плату и посмотрел, что внутри.
Цитата Сообщение от sergey.shuvalov
Вот один добрый человек посоветовал в качестве "пилы" - дизассемблер.
Цитата Сообщение от sergey.shuvalov
Ассемблер лет 25 назад изучал в институте по специальности АСУ. Надо вспомнить.
любой листинг на ассемблере посмотри
поймёшь - значит стоит, не поймёшь - лишняя трата времени (рано ещё)
0
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
12.11.2011, 15:17  [ТС] 28
Цитата Сообщение от accept Посмотреть сообщение
любой листинг на ассемблере посмотри
поймёшь - значит стоит, не поймёшь - лишняя трата времени (рано ещё)
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
include '%fasminc%/win32ax.inc'
 
.data
Caption db 'Моя первая программа.',0
Text db 'Всем привет!',0
 
.code
start:
invoke MessageBox,0,Text,Caption,MB_OK
invoke ExitProcess,0
 
.end start
А что ? Код как код.
0
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
12.11.2011, 15:20 29
sergey.shuvalov, удачи. она тебе понадобится
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.11.2011, 15:27 30
Если не использовать комменты то это невозможно будет разобрать.
Пример простой программы Windows с WinApiшным интерфейсом для MASM
Assembler
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
.386P
.MODEL FLAT, STDCALL
WM_DESTROY  equ 2
WM_CREATE   equ 1
WM_LBUTTONDOWN equ 201h
WM_RBUTTONDOWN equ 204h
CS_VREDRAW  equ 1h
CS_HREDRAW  equ 2h
CS_GLOBALCLASS equ 4000h
WS_OVERLAPPEDWINDOW  equ 000CF0000H
style equ CS_HREDRAW+CS_VREDRAW+CS_GLOBALCLASS
IDI_APPLICATION     equ 32512
IDC_CROSS   equ 32515
SW_SHOWNORMAL   equ  1
 
EXTERN    MessageBoxA@16:NEAR
EXTERN    CreateWindowExA@48: NEAR
EXTERN    DefWindowProcA@16:NEAR
EXTERN    DispatchMessageA@4:NEAR
EXTERN    ExitProcess@4:NEAR
EXTERN    GetMessageA@16:NEAR
EXTERN    GetModuleHandleA@4:NEAR
EXTERN    LoadCursorA@8:NEAR
EXTERN    LoadIconA@8:NEAR
EXTERN    PostQuitMessage@4:NEAR
EXTERN    RegisterClassA@4:NEAR
EXTERN    ShowWindow@8:NEAR
EXTERN    TranslateMessage@4:NEAR
EXTERN    UpdateWindow@4:NEAR
 
includelib e:\masm32\lib\user32.lib
includelib e:\masm32\lib\kernel32.lib
 
MSGSTRUCT  STRUC    
           MSHWND     DD ? 
           MSMESSAGE  DD ? 
           MSWPARAM   DD ? 
           MSLPARAM   DD ? 
           MSTIME     DD ? 
           MSPT       DD ?
MSGSTRUCT ENDS  
 
WNDCLASS  STRUC 
           CLSSTYLE     DD ? 
           CLWNDPROC    DD ?
           CLSCEXTRA    DD ?
           CLWNDEXTRA   DD ? 
           CLSHINSTANCE DD ? 
           CLSHICON     DD ? 
           CLSHCURSOR   DD ? 
           CLBKGROUND   DD ? 
           CLMENUNAME   DD ? 
           CLNAME       DD ?
WNDCLASS  ENDS 
_DATA SEGMENT DWORD PUBLIC USE32 'DATA'
     NEWHWND    DD 0
     MSG        MSGSTRUCT <?>
     WC         WNDCLASS <?>
     HINST       DD 0
     TITLENAME   DB 'Простой пример 32-битного приложения',0
     CLASSNAME   DB 'CLASS32',0
     CAP         DB 'Сообщение',0
     MES1        DB 'Вы нажали левую кнопку мыши',0
     MES2        DB 'Выход из программы!',0
_DATA ENDS 
_TEXT SEGMENT DWORD PUBLIC USE32 'CODE' 
START:
     PUSH  0
     CALL  GetModuleHandleA@4
     MOV   [HINST], EAX
REG_CLASS:
     MOV [WC.CLSSTYLE], style 
     MOV   [WC.CLWNDPROC], OFFSET WNDPROC
     MOV   [WC.CLSCEXTRA], 0
     MOV   [WC.CLWNDEXTRA], 0
     MOV   EAX, [HINST]
     MOV   [WC.CLSHINSTANCE], EAX
    PUSH    IDI_APPLICATION
    PUSH    0
    CALL    LoadIconA@8
    MOV    [WC.CLSHICON], EAX
    PUSH   IDC_CROSS
    PUSH   0
    CALL   LoadCursorA@8
    MOV    [WC.CLSHCURSOR], EAX
    MOV    [WC.CLBKGROUND], 17
    MOV    DWORD PTR [WC.CLMENUNAME],0
    MOV    DWORD PTR [WC.CLNAME], OFFSET  CLASSNAME
    PUSH   OFFSET WC
    CALL   RegisterClassA@4
    PUSH   0
    PUSH   [HINST]
    PUSH   0
    PUSH   0
    PUSH   400 
    PUSH   400
    PUSH   100
    PUSH   100 
    PUSH   WS_OVERLAPPEDWINDOW
    PUSH      OFFSET TITLENAME 
    PUSH      OFFSET CLASSNAME  
    PUSH   0
    CALL    CreateWindowExA@48
    CMP        EAX,0
    JZ    _ERR
    MOV   [NEWHWND], EAX 
;------------------------------------
    PUSH  SW_SHOWNORMAL
    PUSH  [NEWHWND]
    CALL  ShowWindow@8  
;------------------------------------
    PUSH  [NEWHWND]
    CALL UpdateWindow@4
MSG_LOOP:
    PUSH 0
    PUSH 0
    PUSH 0
    PUSH OFFSET MSG
    CALL GetMessageA@16
    CMP  EAX, 0
    JE   END_LOOP
    PUSH  OFFSET MSG
    CALL TranslateMessage@4
    PUSH OFFSET MSG
    CALL DispatchMessageA@4
    JMP  MSG_LOOP 
END_LOOP: 
    PUSH  [MSG.MSWPARAM]
    CALL ExitProcess@4 
_ERR:
    JMP  END_LOOP
;-----------------------------------------
WNDPROC PROC
        PUSH EBP
        MOV  EBP, ESP
        PUSH  EBX
        PUSH ESI
        PUSH EDI
        CMP  DWORD PTR [EBP+0CH], WM_DESTROY
        JE   WMDESTROY
        CMP  DWORD PTR [EBP+0CH], WM_CREATE
        JE   WMCREATE
        CMP  DWORD PTR   [EBP+0CH],WM_LBUTTONDOWN  
        JE   LBUTTON
        CMP  DWORD PTR   [EBP+0CH],WM_RBUTTONDOWN 
        JE   RBUTTON
        JMP  DEFWNDPROC
RBUTTON:
        JMP  WMDESTROY 
 
LBUTTON: 
        PUSH 0 ;МВ_ОК
        PUSH OFFSET CAP
        PUSH OFFSET MES1
        PUSH DWORD PTR [EBP+08H]
        CALL MessageBoxA@16
        MOV  EAX,0
        JMP  FINISH
WMCREATE:   
        MOV  EAX,0
        JMP  FINISH
DEFWNDPROC: 
        PUSH DWORD PTR [EBP+14H]
        PUSH DWORD PTR [EBP+10H]
        PUSH DWORD PTR [EBP+0CH]
        PUSH DWORD PTR [EBP+08H]
        CALL DefWindowProcA@16
        JMP  FINISH
WMDESTROY:  
        PUSH 0  ;MB_OK
        PUSH OFFSET CAP
        PUSH OFFSET MES2
        PUSH DWORD PTR [EBP+08H] 
        CALL MessageBoxA@16
        PUSH 0
        CALL PostQuitMessage@4 
        MOV  EAX, 0
FINISH: 
        POP  EDI
        POP  ESI
        POP  EBX
        POP  EBP
        RET  16
WNDPROC ENDP
_TEXT   ENDS    
        END START
Это ж каждую функцию расписывать на пуши попы мувы коллы джампы
1
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
12.11.2011, 15:32  [ТС] 31
"Василий Иванович ты полком командовать можешь"? "Могу Петька". "А дивизией?" "Могу Петька." "А армией?" "Могу Петька, вот только подучиться надо." )
0
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
12.11.2011, 15:39 32
sergey.shuvalov, имейте ввиду, что в дизассемблированном коде все эти удобные имена меток вроде MSG_LOOP, END_LOOP и FINISH, превратятся в нечто вроде seg001_1032 и seg001_1128, всяких "CS_VREDRAW equ 1h" не будет, и везде, где тут вы видете CS_VREDRAW, реально будет 1h. А если вспомнить про оптимизирующие копмиляторы, то это вообще мрак, кошмар и тихий ужас. Так что, как сказал OstapBender, удачи.
0
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
12.11.2011, 16:18  [ТС] 33
Спасибо. Я сейчас доделал всё, что мне надо было по алгоритму, дописал в программу, откомпилировал, запустил. Всё летает. МКС будет жить. Распиловка EXE , пока отменяется. Всем спасибо за соучастие
0
6 / 6 / 1
Регистрация: 06.08.2011
Сообщений: 45
12.11.2011, 22:23 34
Как было написано в книге Фелемонова "Компьютер глазами хакера." что бы залезть в программу типа .exe, нужна программа "Restorator". А книгу прочитать советую
1
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
13.11.2011, 07:28 35
Цитата Сообщение от ~enGiNe.O` Посмотреть сообщение
нужна программа "Restorator"
Restorator позволяет увидеть/заменить ресурсы. Не боле того. К Хакерству вообще никакого отношения она не имеет (Конечно, если подмену нескольких строк не считать хакерством).
1
6 / 6 / 1
Регистрация: 06.08.2011
Сообщений: 45
13.11.2011, 11:39 36
Цитата Сообщение от Deviaphan Посмотреть сообщение
К Хакерству вообще никакого отношения она не имеет (Конечно, если подмену нескольких строк не считать хакерством).
Это книга так называется ("Компьютер глазами хакера.") Ты книгу прочитай и вообще узнай кто такие хакеры, а то я думаю, что меня не правильно поняли.

Добавлено через 4 минуты
Ха́кер (от англ. hack — разрубать) — чрезвычайно квалифицированный ИТ-специалист, человек, который понимает самые основы работы компьютерных систем. Изначально хакерами называли программистов, которые исправляли ошибки в программном обеспечении каким-либо быстрым и далеко не всегда элегантным (в контексте используемых в программе стиля программирования и ее общей структуры, дизайна интерфейсов) или профессиональным способом; такие правки ассоциировались с «топорной работой» из-за их грубости, отсюда и произошло название «хакер»[источник не указан 364 дня]. Сейчас хакеров очень часто путают с компьютерными взломщиками — крэкерами (от англ. crack — ломающий); такое употребление слова «хакер» неверно.
Взято с http://ru.wikipedia.org/
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
13.11.2011, 12:04 37

Не по теме:

Цитата Сообщение от ~enGiNe.O` Посмотреть сообщение
а то я думаю, что меня не правильно поняли
Вот и я о том же. Ресторатор никаким боком не может отнесён к хакерству. Достаточно знаний на уровне неопытного пользователя.)
А вообще подобные книги меня разочаровали. Либо банальная тупизна, а для других я тупой. А вот Мышъ'а поинтереснее было почитать.



Добавлено через 4 минуты

Не по теме:

Цитата Сообщение от ~enGiNe.O` Посмотреть сообщение
Ты книгу прочитай
Я как-то читал книгу моего любимого писателя Станислава Горнакова по программированию и отладке шейдеров в OpenGL и DirectX. Так вот он написал там аж о двух программах про программированию. И как установить написал. И, даже, как новый файл создать написал. Про программирование забыл, но кому это нужно... О чём это я... Многие книги о "хакерстве" остаются на уровне описания программ типа ресторатора, артмани и подобных. В некоторых даже о дизассемблерах упоминают. Зато вот манифест хакеров и много красивых и громких слов в начале книги всегда пихают.
Но и хорошие книги тоже есть, разумеется, не спорю.

1
13.11.2011, 12:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2011, 12:04
Помогаю со студенческими работами здесь

Можно ли посмотреть что в exe файле???
У меня есть только exe файл с программой на с++, можно как то просмотреть саму программу(текст)??

Можно ли как-то посмотреть, что делал пользователь на компьютере?
Допустим есть комп который находиться в доменной сетке. 1) На нем логично есть локальный админ,...

Прокрутить форму, что бы можно было посмотреть все изображения
Помогите добавить прокрутку ! Когда открыто много окон то нужно прокручить форму что бы можно было...

Что можно посмотреть или почитать про OC и архитектуру ЭВМ
Вот такую лекцию на ютубе посмотрел http://www.youtube.com/watch?v=foG2it4Rc6Q. Не особо много...

Что еще можно посмотреть или изменять для доступа к папке?
Предыстория: Есть сеть из 5 машин, раньше все могли входить во все расшаренные папки и...

Компиляция кода внутри программы. как реализовать и что изучать?
Допустим, у меня есть программа с некоторым алгоритмом, однако есть одна функция, реализацию...


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

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