作者: LiloHuang (十年一刻) 2015-02-14 13:21:00
假设使用 VC 编译器,编译器并不知道 .py 不会一起编译以写程式的角度来看,第一步得先把 .py 档编译成 .pyc透过 VC 的资源档把 .pyc 的档案一起编译到 .exe 档案第二步,使用 FindResource LoadResource LockResource取出 .pyc 的指标,以及 SizeofResource 取出资源大小再用 co = PyMarshal_ReadObjectFromString(p+8, s-8)PyImport_ExecCodeModule("<自定义>", co) 来取代原先你使用的 PyImport_ImportModule("<自定义>")但是以上的方式相当的繁琐,简单一点就是用 Bundler花钱买好一点的 Bundler,可以不用写程式把档案做打包如果 .py 档案有一个以上,自己实作打包会更加的复杂以上,提供参考。如果是把 .py 编译成 .pyc 会有一定程度的保护...但是不能完全防止逆向工程就是...