There is a .so library in which there are two functions. These functions perform the calculation of some mathematical formulas that you need to learn. Perhaps this is something to do? Is it possible to get its assembly code and restore the formulas?

https://mega.nz/#!Est2CShD!lKVHiXkClhK6sSTvKTi4UOrhQowq_Syo0zhpgn_Bi8s

    1 answer 1

    objdump -d libSwimEnergy.so > libSwimEnergy.S 

    You get something like (fragment, but there are a few, about 300 lines of total):

     00000000000005f0 <ComputeEnergyLap>: 5f0: 44 0f b6 54 24 10 movzbl 0x10(%rsp),%r10d 5f6: 41 bb 64 00 00 00 mov $0x64,%r11d 5fc: 0f b7 c9 movzwl %cx,%ecx 5ff: 40 0f b6 f6 movzbl %sil,%esi 603: 40 0f b6 ff movzbl %dil,%edi 607: 45 0f b6 c9 movzbl %r9b,%r9d 60b: 45 0f b6 c0 movzbl %r8b,%r8d 60f: 44 89 d0 mov %r10d,%eax 612: 44 89 54 24 10 mov %r10d,0x10(%rsp) 617: 41 0f af c3 imul %r11d,%eax 61b: 44 0f b7 da movzwl %dx,%r11d 61f: 89 c2 mov %eax,%edx 621: c1 fa 1f sar $0x1f,%edx 624: 41 f7 fb idiv %r11d 627: 0f b7 d0 movzwl %ax,%edx 62a: e9 d1 fe ff ff jmpq 500 <ComputeEnergyCurrentLength@plt> 62f: 90 nop 

    It is quite suitable for study.

    • one
      I would suggest IDA PRO. Paid truth, but free features should be enough. - pavel
    • What will help here is the HexRays plugin, which the assembler turns into some C-like pseudo-code. - gecube