Количество байт разное, потому что CISC. 0c да, просто смещение, относительно адреса следующей инструкции. Есть отдельный опкод для случая, когда оно небольшое и влезает в байт. Леа такой длинный, потому что там rex-префикс (чтобы использовать с 64-битные регистры, первый байт), байт опкода, байт, указывающий, как закодирован адрес и, наконец, 32-битное смещение, которое требуется для вычисления адреса (тоже относительно адреса следующей инструкции в данном случае).
А откуда здесь появилось client.dll+138D3A3? Ведь слева в байтах нет адреса, есть только 7F 0C. И да это тоже дизасемблер
У тебя на скриншоте нет важной детали: адреса самого джампа. Вот читенжин (это ведь он?) его знает и посчитал адрес цели.
то есть это проблема дизама? в другом дизаме нормально все будет отображаться? Просто я думал что там байты должны быть, а то jg прыжок делает, а на какой адрес не понятно по байтам...
Так оно и отображается нормально. Давай ещё раз. Берём адрес инструкции, прибавляем её размер, прибавляем 0x0c, получаем адрес, куда оно прыгнет.
не знал что так можно) я думал что всегда надо адрес прыжка указыать
Обсуждают сегодня