📄 x86test1.cpp
字号:
#include "x86.h"int main(){/* printf("add eax,edx = "); x86::dp_reg_reg(XMOP_ADD, eax, edx); printf("\nadd eax,[edx] = "); x86::dp_reg_mem(XMOP_ADD, eax, edx); printf("\nadd eax,[FFFEh] = "); x86::dp_reg_mem(XMOP_ADD, eax, (u32)0x0000FFFE); printf("\nadd eax,[edx+FFFEh] = "); x86::dp_reg_mem(XMOP_ADD, eax, edx, (u32)0x0000FFFE); printf("\nadd eax,[ecx*8+edx+FFFEh] = "); x86::dp_reg_mem(XMOP_ADD, eax, edx, ecx, 8, (u32)0x0000FFFE); printf("\nadd eax,[ecx+edx+FFFEh] = "); x86::dp_reg_mem(XMOP_ADD, eax, edx, ecx, 1, (u32)0x0000FFFE); printf("\nadd [eax],0xAA55 = "); x86::dp_mem_imm(XMOP_ADD, eax, (u32)0x0000AA55); printf("\nadd [eax+0xFFFE],0xAA55 = "); x86::dp_mem_imm(XMOP_ADD, eax, (u32)0x0000FFFE, (u32)0x0000AA55); printf("\nadd [edx*8+esi+0xFFFE],0xAA55 = "); x86::dp_mem_imm(XMOP_ADD, esi, edx, 8, (u32)0xFFFE, (u32)0xAA55); printf("shl eax,1 = "); x86::shft_reg_imm(XMOP_SHL, eax, 1); printf("\nshl eax,4 = "); x86::shft_reg_imm(XMOP_SHL, eax, 4); printf("\nshl dword [ecx*8+edx+0xFFFE],1 = "); x86::shft_memd_imm(XMOP_SHL, edx, ecx, 8, (u32)0xFFFE, 1); printf("\nshl dword [ecx*8+edx+0xFFFE],4 = "); x86::shft_memd_imm(XMOP_SHL, edx, ecx, 8, (u32)0xFFFE, 4); printf("\nror esi,cl = "); x86::shft_reg_reg(XMOP_ROR, esi); printf("\nrcl dword [esi*4+eax+0xFFFE],cl = "); x86::shft_memd_reg(XMOP_RCL, eax, esi, 4, (u32)0xFFFE);*/ x86::imp(XOP_CLI); printf("\n"); x86::dp_reg_reg(XMOP_XOR, eax, eax); printf("\n"); x86::MOV_seg_reg(ss, ax); printf("\n"); x86::MOV_reg_imm(esp, (u32)0xFFF0); printf("\n"); x86::imp(XOP_STI); printf("\n"); x86::MOV_seg_reg(es, ax); printf("\n"); x86::MOV_seg_reg(ds, ax); printf("\n"); x86::MOV_reg_imm(esi, (u32)0x7C00); printf("\n"); x86::MOV_reg_imm(edi, (u32)0xE000); printf("\n"); x86::imp(XOP_CLD); printf("\n"); x86::MOV_reg_imm(ecx, (u32)0x0100); printf("\n"); x86::emit8(PREFIX_REPNE); x86::imp(XOP_MOVSD); printf("\n"); x86::JMP(0,0xE01E); printf("\n"); x86::emit8(PREFIX_OP); x86::dp_reg_reg(XMOP_XOR, eax, eax); printf("\n"); x86::emit8(PREFIX_OP); x86::MOV_mem_reg(0xE191, eax); printf("\n"); x86::MOV_mem_reg(0xE195, al); printf("\n"); x86::MOV_reg_imm(ah, 0x41); printf("\n"); x86::MOV_reg_imm(ebx, 0x55AA); printf("\n"); x86::INT(0x13); printf("\n"); x86::Jcc(CC_C, 0x0E); printf("\n"); x86::dp_reg_imm(XMOP_CMP, ebx, (u32)0xAA55); printf("\n"); x86::Jcc(CC_NZ, 0x08); printf("\n"); //test cl,1 printf("\n"); //setnz [E195h] printf("\n"); x86::MOV_reg_imm(al, 1); printf("\n"); x86::dp_reg_reg(XMOP_XOR, ebx, ebx); printf("\n"); x86::MOV_seg_reg(es, bx); printf("\n"); x86::MOV_reg_imm(ebx, (u32)0x1000); printf("\n"); x86::MOV_reg_reg(esi, ebx); printf("\n"); x86::MOV_mem_imm(esi, (u32)0x0); printf("\n"); x86::MOV_mem_imm(esi, (u8)2, (u32)0x1); printf("\n"); x86::CALL(0x00B2); printf("\n"); x86::Jcc(CC_C, 0x08); printf("\n"); x86::MOV_reg_imm(edi, 0x11BE); printf("\n"); x86::MOV_reg_imm(ah, 0); printf("\n"); x86::CALL(0x000F); printf("\n"); //inc dl printf("\n"); //test dl,4 printf("\n"); x86::Jcc(CC_Z, 0xAF); printf("\n"); x86::MOV_reg_imm(esi, 0xE17B); printf("\n"); x86::CALL(0x00F6); printf("\n"); x86::JMP((u8)0xFE); printf("\n"); x86::PUSH(ecx); printf("\n"); x86::PUSH(esi); printf("\n"); x86::dp_mem_imm(XMOP_CMP, edi, (u8)0x40, (u32)0xAA55); printf("\n"); //jnz near 0x008B printf("\n"); x86::MOV_reg_reg(esi, edi); printf("\n"); x86::MOV_reg_imm(ecx, 4); printf("\n"); x86::dp_mem_imm(XMOP_CMP, esi, (u8)4, (u8)0xAB); printf("\n"); x86::Jcc(CC_Z, 0x0F); printf("\n"); x86::dp_mem_imm(XMOP_CMP, esi, (u8)4, (u8)0xA8); printf("\n"); x86::Jcc(CC_Z, 0x09); printf("\n"); x86::dp_mem_imm(XMOP_CMP, esi, (u8)4, (u8)0xAF); printf("\n"); x86::Jcc(CC_Z, 0x03); printf("\n"); x86::JMP((u32)0x002B); printf("\n"); x86::MOV_reg_imm(al, 1); printf("\n"); x86::MOV_reg_imm(ebx, 0); printf("\n"); x86::MOV_seg_reg(es, bx); printf("\n"); x86::MOV_reg_imm(ebx, 0x7C00); printf("\n"); x86::CALL(0x0067); printf("\n"); x86::Jcc(CC_C, 0x1C); printf("\n"); x86::dp_mem_imm(XMOP_CMP, ebx, (u32)0x01FE, (u32)0xAA55); printf("\n"); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -