Commit 2217a3b3 authored by swift_gan's avatar swift_gan Committed by swift_gan

[NativeHook]fix mov for/to SP

parent 3b441fc3
......@@ -243,8 +243,12 @@ void AssemblerA64::Msr(SystemRegister &sysReg, RegisterA64 &rt) {
Emit(reinterpret_cast<Unit<Base> *>(new INST_A64(MSR_MRS)(INST_A64(MSR_MRS)::MSR, sysReg, rt)));
}
void AssemblerA64::Mov(RegisterA64 &rd, RegisterA64 rt) {
Emit(reinterpret_cast<Unit<Base> *>(new INST_A64(MOV_REG)(rd, rt)));
void AssemblerA64::Mov(RegisterA64 &rd, RegisterA64& rt) {
if (rd == SP || rt == SP) {
Add(rd, Operand(&rt, 0));
} else {
Emit(reinterpret_cast<Unit<Base> *>(new INST_A64(MOV_REG)(rd, rt)));
}
}
......
......@@ -87,7 +87,7 @@ namespace SandHook {
void Msr(SystemRegister &sysReg, RegisterA64& rt);
void Mrs(SystemRegister &sysReg, RegisterA64& rt);
void Mov(RegisterA64& rd, RegisterA64 rt);
void Mov(RegisterA64& rd, RegisterA64& rt);
public:
......
......@@ -93,8 +93,8 @@ void do1() {
do2();
}
void breakCallback(REG regs[]) {
LOGE("breakCallback");
void breakCallback(REG* regs) {
LOGE("breakCallback = %d", regs[1]);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment