到目前为止,我一直在使用Snowman进行PowerPC反编译。虽然很糟糕,但总比没有好。但是,现在它不支持浮点指令。它们被简单地写成内联汇编,这当然是无用的,因为您已经在反汇编中使用了它:
void RadiusFromBoundsSq() {
__asm__("lfs f10, 8(r3)");
__asm__("lfs f5, (r3)");
__asm__("frsp f11, f10");
__asm__("lfs f6, (r4)");
__asm__("frsp f10, f5");
__asm__("frsp f12, f6");
__asm__("lfs f13, 4(r3)");
__asm__("fabs f11, f11");
__asm__("lfs f8, 4(r4)");
__asm__("frsp f0, f13");
__asm__("frsp f8, f8");
__asm__("lfs f9, 8(r4)");
__asm__("fabs f12, f12");
__asm__("frsp f13, f9");
__asm__("fabs f8, f8");
__asm__("fabs f0, f0");
__asm__("fabs f13, f13");
__asm__("fabs f10, f10");
__asm__("fsubs f7, f8, f0");
__asm__("fsubs f9, f13, f11");
__asm__("fsubs f6, f12, f10");
__asm__("fsel f8, f7, f8, f0");
__asm__("fsel f11, f9, f13, f11");
__asm__("fsel f0, f6, f12, f10");
__asm__("fmuls f13, f8, f8");
__asm__("fmadds f7, f0, f0, f13");
__asm__("fmadds f1, f11, f11, f7");
return;
}
除了这个任务还有什么“更好的”插件HexRays吗?