[转载]FLEXlm9.2的破解教学二
信息来源:看雪学院技术论坛翻译者:newsearch
---------------------
On Software Reverse Engineering - 2 选择自 zxg32 的 Blog
Reverse Engineering, FLEXlm, IMSL
翻译第二篇 FLEXlm 结构
在配备有VS+FLEXLM源代码、W32Dasm+cmath.exe以及IDA+cmath.exe(具签名)后,现在我们将能够揭示FLEXLM的核心了。下面是我们的一些发现,在这里lm_ckout.c!lc_checkout()表示”在lm_ckout.c模块/文件中的函数lc_checkout()“,箭头符号指示函数调用。注意,由于程序分支的原因,仅部分代码被追踪和展示,但通常情况下,我们感兴趣的仅是这些分支。
0047D0C6: push 00000018 ;程序入口点
0047D22D: call 00401000 ;调用cmath.exe!main()
0047D240: call 0047F20D ;调用链接到ntdll.dll!NtTerminateProcess()
sub_401000: cmath.exe!main()
0040101D: call 004033B0 ;调用vc++\flexlm.obj!imsl_f_lin_sol_gen()
00401039: call 00401050 ;调用vc++\fwrimat.obj!imsl_f_write_matrix()
sub_004033B0: vc++\flexlm.obj!imsl_f_lin_sol_gen()
004033C8: call 00408F24 ;调用vc++\error.obj!imsl_e1psh()
0040342C: call 004034A0 ;调用vc++\flinslg.obj!l_lin_sol_gen()以进行真正的工作
sub_00408F24: vc++\error.obj!imsl_e1psh()
00408F3A: call 0040A850 ;调用链接vc++\single.obj!imsl_once()
页:
[1]