Что это за странный машинный код в начале моей программы на C ++ и как его удалить - PullRequest
0 голосов
/ 19 июня 2020

Когда я открываю свою программу в шестнадцатеричном редакторе, в начале появляется какой-то странный код, похожий на какую-то отладочную информацию. Когда я его разбираю, это выглядит так:

0:  f3 0f 1e fa             repz nop edx
4:  48 83 ec 08             sub    rsp,0x8
8:  48 8b 05 e1 3f 00 00    mov    rax,QWORD PTR [rip+0x3fe1]        # 0x3ff0
f:  48 85 c0                test   rax,rax
12: 74 02                   je     0x16
14: ff d0                   call   rax
16: 48 83 c4 08             add    rsp,0x8
1a: c3                      ret
1b: 00 00                   add    BYTE PTR [rax],al
1d: 00 00                   add    BYTE PTR [rax],al
1f: 00 ff                   add    bh,bh
21: 35 e2 3f 00 00          xor    eax,0x3fe2
26: ff 25 e4 3f 00 00       jmp    QWORD PTR [rip+0x3fe4]        # 0x4010
2c: 0f 1f 40 00             nop    DWORD PTR [rax+0x0]
30: ff 25 e2 3f 00 00       jmp    QWORD PTR [rip+0x3fe2]        # 0x4018
36: 68 00 00 00 00          push   0x0
3b: e9 e0 ff ff ff          jmp    0x20
40: ff 25 da 3f 00 00       jmp    QWORD PTR [rip+0x3fda]        # 0x4020
46: 68 01 00 00 00          push   0x1
4b: e9 d0 ff ff ff          jmp    0x20
50: ff 25 d2 3f 00 00       jmp    QWORD PTR [rip+0x3fd2]        # 0x4028
56: 68 02 00 00 00          push   0x2
5b: e9 c0 ff ff ff          jmp    0x20
60: ff 25 ca 3f 00 00       jmp    QWORD PTR [rip+0x3fca]        # 0x4030
66: 68 03 00 00 00          push   0x3
6b: e9 b0 ff ff ff          jmp    0x20
70: ff 25 c2 3f 00 00       jmp    QWORD PTR [rip+0x3fc2]        # 0x4038
76: 68 04 00 00 00          push   0x4
7b: e9 a0 ff ff ff          jmp    0x20
80: ff 25 ba 3f 00 00       jmp    QWORD PTR [rip+0x3fba]        # 0x4040
86: 68 05 00 00 00          push   0x5
8b: e9 90 ff ff ff          jmp    0x20
90: ff 25 b2 3f 00 00       jmp    QWORD PTR [rip+0x3fb2]        # 0x4048
96: 68 06 00 00 00          push   0x6
9b: e9 80 ff ff ff          jmp    0x20
a0: ff 25 aa 3f 00 00       jmp    QWORD PTR [rip+0x3faa]        # 0x4050
a6: 68 07 00 00 00          push   0x7
ab: e9 70 ff ff ff          jmp    0x20
b0: ff 25 a2 3f 00 00       jmp    QWORD PTR [rip+0x3fa2]        # 0x4058
b6: 68 08 00 00 00          push   0x8
bb: e9 60 ff ff ff          jmp    0x20
c0: ff 25 9a 3f 00 00       jmp    QWORD PTR [rip+0x3f9a]        # 0x4060
c6: 68 09 00 00 00          push   0x9
cb: e9 50 ff ff ff          jmp    0x20
d0: ff 25 92 3f 00 00       jmp    QWORD PTR [rip+0x3f92]        # 0x4068
d6: 68 0a 00 00 00          push   0xa
db: e9 40 ff ff ff          jmp    0x20
e0: ff 25 8a 3f 00 00       jmp    QWORD PTR [rip+0x3f8a]        # 0x4070
e6: 68 0b 00 00 00          push   0xb
eb: e9 30 ff ff ff          jmp    0x20
f0: ff 25 82 3f 00 00       jmp    QWORD PTR [rip+0x3f82]        # 0x4078
f6: 68 0c 00 00 00          push   0xc
fb: e9 20 ff ff ff          jmp    0x20
100:    ff 25 7a 3f 00 00       jmp    QWORD PTR [rip+0x3f7a]        # 0x4080
106:    68 0d 00 00 00          push   0xd
10b:    e9 10 ff ff ff          jmp    0x20
110:    ff 25 72 3f 00 00       jmp    QWORD PTR [rip+0x3f72]        # 0x4088
116:    68 0e 00 00 00          push   0xe
11b:    e9 00 ff ff ff          jmp    0x20
120:    ff 25 6a 3f 00 00       jmp    QWORD PTR [rip+0x3f6a]        # 0x4090
126:    68 0f 00 00 00          push   0xf
12b:    e9 f0 fe ff ff          jmp    0x20
130:    ff 25 62 3f 00 00       jmp    QWORD PTR [rip+0x3f62]        # 0x4098
136:    68 10 00 00 00          push   0x10
13b:    e9 e0 fe ff ff          jmp    0x20
140:    ff 25 5a 3f 00 00       jmp    QWORD PTR [rip+0x3f5a]        # 0x40a0
146:    68 11 00 00 00          push   0x11
14b:    e9 d0 fe ff ff          jmp    0x20
150:    ff 25 52 3f 00 00       jmp    QWORD PTR [rip+0x3f52]        # 0x40a8
156:    68 12 00 00 00          push   0x12
15b:    e9 c0 fe ff ff          jmp    0x20
160:    ff 25 4a 3f 00 00       jmp    QWORD PTR [rip+0x3f4a]        # 0x40b0
166:    68 13 00 00 00          push   0x13
16b:    e9 b0 fe ff ff          jmp    0x20
170:    ff 25 42 3f 00 00       jmp    QWORD PTR [rip+0x3f42]        # 0x40b8
176:    68 14 00 00 00          push   0x14
17b:    e9 a0 fe ff ff          jmp    0x20
180:    ff 25 3a 3f 00 00       jmp    QWORD PTR [rip+0x3f3a]        # 0x40c0
186:    68 15 00 00 00          push   0x15
18b:    e9 90 fe ff ff          jmp    0x20
190:    ff 25 32 3f 00 00       jmp    QWORD PTR [rip+0x3f32]        # 0x40c8
196:    68 16 00 00 00          push   0x16
19b:    e9 80 fe ff ff          jmp    0x20
1a0:    ff 25 2a 3f 00 00       jmp    QWORD PTR [rip+0x3f2a]        # 0x40d0
1a6:    68 17 00 00 00          push   0x17
1ab:    e9 70 fe ff ff          jmp    0x20
1b0:    ff 25 22 3f 00 00       jmp    QWORD PTR [rip+0x3f22]        # 0x40d8
1b6:    68 18 00 00 00          push   0x18
1bb:    e9 60 fe ff ff          jmp    0x20
1c0:    ff 25 1a 3f 00 00       jmp    QWORD PTR [rip+0x3f1a]        # 0x40e0
1c6:    68 19 00 00 00          push   0x19
1cb:    e9 50 fe ff ff          jmp    0x20
1d0:    ff 25 12 3f 00 00       jmp    QWORD PTR [rip+0x3f12]        # 0x40e8
1d6:    68 1a 00 00 00          push   0x1a
1db:    e9 40 fe ff ff          jmp    0x20
1e0:    ff 25 0a 3f 00 00       jmp    QWORD PTR [rip+0x3f0a]        # 0x40f0
1e6:    68 1b 00 00 00          push   0x1b
1eb:    e9 30 fe ff ff          jmp    0x20
1f0:    ff 25 02 3f 00 00       jmp    QWORD PTR [rip+0x3f02]        # 0x40f8
1f6:    68 1c 00 00 00          push   0x1c
1fb:    e9 20 fe ff ff          jmp    0x20
200:    ff 25 fa 3e 00 00       jmp    QWORD PTR [rip+0x3efa]        # 0x4100
206:    68 1d 00 00 00          push   0x1d
20b:    e9 10 fe ff ff          jmp    0x20
210:    ff 25 f2 3e 00 00       jmp    QWORD PTR [rip+0x3ef2]        # 0x4108
216:    68 1e 00 00 00          push   0x1e
21b:    e9 00 fe ff ff          jmp    0x20
220:    ff 25 ea 3e 00 00       jmp    QWORD PTR [rip+0x3eea]        # 0x4110
226:    68 1f 00 00 00          push   0x1f
22b:    e9 f0 fd ff ff          jmp    0x20
230:    ff 25 e2 3e 00 00       jmp    QWORD PTR [rip+0x3ee2]        # 0x4118
236:    68 20 00 00 00          push   0x20
23b:    e9 e0 fd ff ff          jmp    0x20
240:    ff 25 da 3e 00 00       jmp    QWORD PTR [rip+0x3eda]        # 0x4120
246:    68 21 00 00 00          push   0x21
24b:    e9 d0 fd ff ff          jmp    0x20
250:    ff 25 d2 3e 00 00       jmp    QWORD PTR [rip+0x3ed2]        # 0x4128
256:    68 22 00 00 00          push   0x22
25b:    e9 c0 fd ff ff          jmp    0x20
260:    ff 25 ca 3e 00 00       jmp    QWORD PTR [rip+0x3eca]        # 0x4130
266:    68 23 00 00 00          push   0x23
26b:    e9 b0 fd ff ff          jmp    0x20

Использование параметров оптимизации для g ++ и флага -s не помогло. В других программах этого нет, и я хочу его удалить.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...