java-jna-内联汇编-ASM-3

public void _LEAVE() {
		_ASM_CODE.append("C9");
	}

	public void _MOV_DWORD_PTR_EAX(final int address) {
		_ASM_CODE.append("A3");
		_ASM_CODE.append(ASM.getIntToHex(address, 8));
		_REGISTER._EAX = address;
	}

	public void _MOV_EAX(final int address) {
		_ASM_CODE.append("B8");
		_ASM_CODE.append(ASM.getIntToHex(address, 8));
		_REGISTER._EAX = address;
	}

	public void _MOV_EAX_DWORD_PTR(final int address) {
		_ASM_CODE.append("A1");
		_ASM_CODE.append(ASM.getIntToHex(address, 8));
		_REGISTER._EAX = address;
	}

	public void _MOV_EAX_DWORD_PTR_EAX() {
		_ASM_CODE.append("8B00");
	}

	public void _MOV_EAX_DWORD_PTR_EAX_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B40");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B80");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EAX = address;
	}

	public void _MOV_EAX_DWORD_PTR_EBP() {
		_ASM_CODE.append("8B4500");
	}

	public void _MOV_EAX_DWORD_PTR_EBP_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B45");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B85");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EAX = address;
	}

	public void _MOV_EAX_DWORD_PTR_EBX() {
		_ASM_CODE.append("8B03");
	}

	public void _MOV_EAX_DWORD_PTR_EBX_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B43");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B83");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EAX = address;
	}

	public void _MOV_EAX_DWORD_PTR_ECX() {
		_ASM_CODE.append("8B01");
	}

	public void _MOV_EAX_DWORD_PTR_ECX_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B41");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B81");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EAX = address;
	}

	public void _MOV_EAX_DWORD_PTR_EDI() {
		_ASM_CODE.append("8B07");
	}

	public void _MOV_EAX_DWORD_PTR_EDI_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B47");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B87");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EAX = address;
	}

	public void _MOV_EAX_DWORD_PTR_EDX() {
		_ASM_CODE.append("8B02");
	}

	public void _MOV_EAX_DWORD_PTR_EDX_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B42");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B82");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EAX = address;
	}

	public void _MOV_EAX_DWORD_PTR_ESI() {
		_ASM_CODE.append("8B06");
	}

	public void _MOV_EAX_DWORD_PTR_ESI_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B46");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B86");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EAX = address;
	}

	public void _MOV_EAX_DWORD_PTR_ESP() {
		_ASM_CODE.append("8B0424");
	}

	public void _MOV_EAX_DWORD_PTR_ESP_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B4424");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B8424");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EAX = address;
	}

	public void _MOV_EAX_EBP() {
		_ASM_CODE.append("8BC5");
	}

	public void _MOV_EAX_EBX() {
		_ASM_CODE.append("8BC3");
	}

	public void _MOV_EAX_ECX() {
		_ASM_CODE.append("8BC1");
	}

	public void _MOV_EAX_EDI() {
		_ASM_CODE.append("8BC7");
	}

	public void _MOV_EAX_EDX() {
		_ASM_CODE.append("8BC2");
	}

	public void _MOV_EAX_ESI() {
		_ASM_CODE.append("8BC6");
	}

	public void _MOV_EAX_ESP() {
		_ASM_CODE.append("8BC4");
	}

	public void _MOV_EBP(final int address) {
		_ASM_CODE.append("BD");
		_ASM_CODE.append(ASM.getIntToHex(address, 8));
		_REGISTER._EBP = address;
	}

	public void _MOV_EBP_DWORD_PTR(final int address) {
		_ASM_CODE.append("8B2D");
		_ASM_CODE.append(ASM.getIntToHex(address, 8));
		_REGISTER._EBP = address;
	}

	public void _MOV_EBP_EAX() {
		_ASM_CODE.append("8BE8");
	}

	public void _MOV_EBP_EBX() {
		_ASM_CODE.append("8BEB");
	}

	public void _MOV_EBP_ECX() {
		_ASM_CODE.append("8BE9");
	}

	public void _MOV_EBP_EDI() {
		_ASM_CODE.append("8BDF");
	}

	public void _MOV_EBP_EDX() {
		_ASM_CODE.append("8BEA");
	}

	public void _MOV_EBP_ESI() {
		_ASM_CODE.append("8BEE");
	}

	public void _MOV_EBP_ESP() {
		_ASM_CODE.append("8BEC");
	}

	public void _MOV_EBX(final int address) {
		_ASM_CODE.append("BB");
		_ASM_CODE.append(ASM.getIntToHex(address, 8));
		_REGISTER._EBX = address;
	}

	public void _MOV_EBX_DWORD_PTR(final int address) {
		_ASM_CODE.append("8B1D");
		_ASM_CODE.append(ASM.getIntToHex(address, 8));
		_REGISTER._EBX = address;
	}

	public void _MOV_EBX_DWORD_PTR_EAX() {
		_ASM_CODE.append("8B18");
	}

	public void _MOV_EBX_DWORD_PTR_EAX_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B58");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B98");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EBX = address;
	}

	public void _MOV_EBX_DWORD_PTR_EBP() {
		_ASM_CODE.append("8B5D00");
	}

	public void _MOV_EBX_DWORD_PTR_EBP_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B5D");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B9D");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EBX = address;
	}

	public void _MOV_EBX_DWORD_PTR_EBX() {
		_ASM_CODE.append("8B1B");
	}

	public void _MOV_EBX_DWORD_PTR_EBX_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B5B");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B9B");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EBX = address;
	}

	public void _MOV_EBX_DWORD_PTR_ECX() {
		_ASM_CODE.append("8B19");
	}

	public void _MOV_EBX_DWORD_PTR_ECX_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B59");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B99");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EBX = address;
	}

	public void _MOV_EBX_DWORD_PTR_EDI() {
		_ASM_CODE.append("8B1F");
	}

	public void _MOV_EBX_DWORD_PTR_EDI_ADD(final int address) {
		if (address <= 0xff) {
			_ASM_CODE.append("8B5F");
			_ASM_CODE.append(ASM.getIntToHex(address, 2));
		} else {
			_ASM_CODE.append("8B9F");
			_ASM_CODE.append(ASM.getIntToHex(address, 8));
		}
		_REGISTER._EBX = address;
	}

	public void _MOV_EBX_DWORD_PTR_EDX() {
		_ASM_CODE.append("8B1A");
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值