;跳转到 函数执行后的吓一吓一跳指令继续执行END_EXIT: ;程序结束的代码不关注 mov ax, 4c00h int 21h
看到上面的代码发现了什么,是不是和我们上面的图很像...主程序 -> 子程序的add方法, 然后 -> 跳转回来,跳转到下一条指令继续指令
这个就是雏形了,但是你有没有想过,这个add只能实现1 + 1 了,根本就不通用,怎么办,而且如果调用多次怎么办,...一直加标号,一直调用吗,显然是不切实际的.
2.Call 带有参数的传递
上面发现了一个大缺陷,就是不能参数传递,这样就不行了,那么我们要想办法,可不可以在外面传入参数
看代码:
mov cx,1
mov...ax当做返回值返回
jmp d_ONE ;跳转到 函数执行后的吓一吓一跳指令继续执行
END_EXIT: ;程序结束的代码不关注
mov ax...我们发现jmp的地方下面申请了一个字节,但是在汇编的时候,这1个字节和mov的机器码在一起了
因而产生的汇编代码就出错了,花指令混淆就是这样,这段代码还是可以正常执行的
对抗手法
1.如果是动态的调试,