Closed yubazi closed 5 years ago
返回类型为boolean和两个浮点类型的方法无法成功hook!!!!
麻烦贴一下 log 另外如果使用 Xposed API 的话请注意 XposedCompat 初始化
那个问题我已经解决了,是你代码没处理完全,但是有了个新的问题,方法体短的话无法hook,native层log提示方法can not inline due to origin code is too small
@ganyao114 那个第一个问题修复在ParamWrapper.java里 if (objectType.isPrimitive()) { if (objectType == int.class) { return (int)object; } else if (objectType == long.class) { return (long) object; } else if (objectType == short.class) { return (short)object; } else if (objectType == byte.class) { return (byte)object; } else if (objectType == char.class) { return (char)object; } else if (objectType == boolean.class) { return (boolean)object ? 1 : 0; } else if (objectType == double.class) { return Double.doubleToLongBits(object); } else if (objectType == float.class) { return Float.floatToIntBits(object); } else { throw new RuntimeException("unknown type: " + objectType.toString()); } } else { return SandHook.getObjectAddress(object); } 但是第二个问题我不会弄,没学过c/ c++
public int getGold()
{
return gold;
}
这样的就无法hook
@ganyao114 那个第一个问题修复在ParamWrapper.java里 if (objectType.isPrimitive()) { if (objectType == int.class) { return (int)object; } else if (objectType == long.class) { return (long) object; } else if (objectType == short.class) { return (short)object; } else if (objectType == byte.class) { return (byte)object; } else if (objectType == char.class) { return (char)object; } else if (objectType == boolean.class) { return (boolean)object ? 1 : 0; } else if (objectType == double.class) { return Double.doubleToLongBits(object); } else if (objectType == float.class) { return Float.floatToIntBits(object); } else { throw new RuntimeException("unknown type: " + objectType.toString()); } } else { return SandHook.getObjectAddress(object); } 但是第二个问题我不会弄,没学过c/ c++
public int getGold() { return gold; }
这样的就无法hook
返回类型为boolean和两个浮点类型的方法无法成功hook!!!!