支持浮点指令的 IDA Pro PowerPC 反编译器插件

逆向工程 艾达 反编译 六线谱 电源
2021-07-03 06:08:14

到目前为止,我一直在使用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吗?

0个回答
没有发现任何回复~