Сообщение от
nonelike
объясни про эти байты еще раз пж, я еще в прошлом топике не все понял, это пи дец какой-то, а то я не вдупляю че как и в дальнейшем сто по сто снова ниче не сделаю и откуда вообще взял 1 байт
IDA тебе показывает адрес: 0x0E40D, и показывает что по этому адресу (вплоть до следующего за ним) располагается такая инструкция:
C++:
Код:
.
text
:
1000E40
D
3
D
63
02
00
00
cmp eax
,
263
h
Числа представлены в порядке little-endian (от большего байта к меньшему), поэтому мы видим что после инструкции cmp (hex: 3D) следует 63 02 (263), если бы число занимало один байт инструкция была бы более понятна:
C++:
Код:
.
text
:
1000E40
D
3
D
02
00
00
00
cmp eax
,
2
ну или в случае с нулём:
C++:
Код:
.
text
:
1000E40
D
3
D
00
00
00
00
cmp eax
,
0
как видишь, 3D всегда остаётся - это инструкция cmp, беря в качестве адреса тот, что показывает тебе IDA (0E40D) - ты берешь адрес, ссылающийся на эту инструкцию, а не на число, которое ты хочешь поменять, поэтому мы и делаем отступ на 1 байт:
для совсем уж наглядности сделаю так:
C++:
Код:
.
text
:
1000E40
D
3
D cmp eax
.
text
:
1000E40
E
63
02
00
00
263
h