计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。
相关软件
反编译是一个复杂的过程,反编译软件有:
VB相关的反编译程序 VBExplorer、VB反编译精灵和VBRezQ.
JAVA相关的反编译程序 JAD(Joint Application Development):(jad和jadEclipse已较长时间没有维护); JD(Java Decompiler)
C++相关的反编译程序 eXeScope Delphi相关的反编译程序 DEDE
c#:相关的反编译程序 Reflector 易语言相关的反编译程序 E-Code Explorer.exe(易格式可执行文件分析器)
SWF相关的反编译程序 Action Script Viewer 第一个也是最强大的商业SWF反编译工具,同类产品中,它的AS代码反编译效果最好,SWF转Fla工程重建成功率最高。
Android相关的反编译程序 SMALI/BAKSMALI SMALI/BAKSMALI是一个强大的apk文件编辑工具,用于Dalvik虚拟机(Google公司自己设计用于Android平台的虚拟机)来反编译和回编译classes.dex。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)。
Python相关的反编译程序 uncompyle2可以直接转化为十分完美的python源码,并可以将反编译后的源码再次生成字节码文件! 闪客精灵 (解析SWF,还原SWF文件为FLA文件)
使用python语言如何保密源代码以防止逆向工程?
我以前做过这类事情,而且当时更严格,需要打包部署到客户的服务只在有效期内有效,超过有效期必须更新证书才行。
Python代码用任何方法都没法保证保密性,这个时候你可以考虑用一个工具「nuitka」,这个工具会把你的python源代码映射为c++然后编译为二进制,因此对方是无论如何得不到你的源代码的。
代价就是nuitka这个工具并不完美,有一些限制并不能100%完美的转换所有python代码。
类似51cto的技术网站有那些?有没有推荐一下,最好是可以学到逆向的?
你可以上这个网站看看
ITPUB技术论坛_中国最专业的IT技术社区 http://www.itpub.net/
你还可以去网易云课堂看看,可以先看几个免费的,建议你付费学习,这样你才能有学习的动力。