Перейти к содержанию

Hack

Пользователи
  • Публикаций

    47
  • Зарегистрирован

  • Посещение

Репутация

4 Lamer

Информация о Hack

Посетители профиля

539 просмотров профиля
  1. Hack

    действия с регистром xmm

    align ставится перед меткой с данными, которые нужно выровнить. 10 = 16 байт CC этим значением заполняет пустоту. Можно поставить любое значение, на работу это не повлияет. xmm 128bit 16byte = 4 младших бита адреса - должны быть в 0. ymm 256bit 32byte = 5 младших бита адреса - должны быть в 0. zmm 512bit 64byte = 6 младших бита адреса - должны быть в 0.
  2. Hack

    действия с регистром xmm

    http://konishchevdmitry.blogspot.com/2010/01/blog-post.html
  3. Hack

    действия с регистром xmm

    addps и mulps работают сразу с четырьмя float значениями. alloc(memory, 0x400) label(float_4) memory: //... mulps xmm0,[float_4] //... align 10 CC float_4: dd (float)5.0 dd (float)1.0 dd (float)1.0 dd (float)1.0
  4. b == 8 (byte) w == 16 (word) d == 32 (dword) ib == imm8 ( i == imm, b == 8 ) imm – immediately непосредственное значение const которое записано в коде. rb == регистр 1 байт rw == регистр 2 байта rd == регистр 4 байта /0 пока точно не понял.
  5. [C6 /0 ib] - [MOV r/m8, imm8] // C6 87 D0 00 00 00 01 mov byte ptr [rdi+0D0h], 1 [REX.W + 8B /r] - [MOV r64,r/m64] // 49 8B 3E  mov rdi, [r14] (стр 1170) Использование префикса REX.W продвигает работу до 64 бит.
  6. да Ну если тебе нужно перепрыгнуть на адрес который лежит в пределах 32bit, то этот короткий код прыжка подойдет.
  7. Попутал не 16 а 14 FF 25 - код. 00 00 00 00 - относительный адрес где хранится указатель, если 0 то используются следующие 8 байт. 00 00 00 00 00 00 00 00 - адрес.
  8. registersymbol - эта функция даст адресу имя. по имени можно обращаться с разных мест.
  9. Если не ставить, то там может использоваться jmp размером 16 байт. Вот проблема. Когда автоматический переводится код в автоассемблер, то туда переводятся только три инструкции с размером 6 байт. А этот jmp весит 16 байт. Дописывай все инструкции которые jmp сотрет. Вот можно укоротить jmp до 7ми байт. mov eax, newmem jmp eax
  10. Можешь не ставить третий параметр в alloc, но jmp будет длинным.
  11. RIP==getAddress('game.exe')+0x1234 Можно еще заставить exe загружаться статический.
×

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.