2

So I far I have been using Snowman for PowerPC decompilation. It is bad though but better than nothing. However, right now it doesn't support floating point instructions. They are simply written down as inline assembly which is of course kinda useless since you already had that in the disassembly:

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;
}

Is there any "better" plugin for this task besides HexRays?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.