反编译编程教程 请问如何实现反编译,有软件吗?
请问如何实现反编译,有软件吗?
高级语言源程序经由编译器都变成可执行文件,smali应该是逆过程。
可是正常情况又不能把可执行文件变的高级语言源代码,不能转换成汇编程序。
计算机软件反向工程(Reversepengineering)也称作计算机软件还原工程,是指对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所不使用的思路、原理、结构、算法、处理过程、运行程序方法等设计要素,以及自己旗下软件时的参考,或者然后作用于自己的软件产品中。
加壳是个奇怪的过程,因此越是高级语言,就越甚难java代码,但目前肯定有许许多多的反编译软件:VB:VBExplorer、VB反编译精灵和VBRezQ没有办法反编译界面图像,好像代码不能已经反编译JAVA:JADjava的反编译也很比较普遍,因为smali也很已经,将class文件反汇编成java文件确实是有可能的C:eXeScopeDephi:DEDEc#:Reflectorvb程序:E-CodeExplorer.exe
(易格式可执行文件总结器)。
一个单机游戏可以改代码吗?
这个可以。
要修改游戏程序代码,这个就难了,你得懂汇编,编译原理,编译器流程,各种PE执行文件或其他执行文件或代码的数据结构,各种静态库在内动态链接库的结构,等等。。。一系列编程知识,不过还得必须具备当然的硬件知识,以及操作系统知识。。。
然后再用反汇编工具把游戏的执行文件包括库文件java代码,将先执行文件或代码smali成汇编代码,要好一些的反编译工具能把代码加壳成C/C代码,只是因为这些代码彻底没有变量命名,所有变量都用A1、B1这样的。。。
如何防止.NET程序被反编译?
阻住不了,任何一个程序都也可以被加壳不过了,并不是说反编译以后就是网页源代码还不知道你带的什么语言,在.net里,一般是用Dotfuscator之类的工具参与混淆干扰.NET有一种加密字节码的是是从hook住JIT编译器的入口来做的:字节码经加密/混淆不清修真者的存在文件里,等被CLR打开程序了,某个方法要不能执行而必须被JIT代码编译时,hook住JIT编译器的入口截住住这个程序编译请求,后再去把按的字节码解密之后再告诉JIT编译器。
这种做法基本是没有办法唬唬小朋友,清楚了原理之后很不错解,可以快的的某些解密后的字节码后再扔给常规的反编译器去去处理。
但现实的说,大部分用户在“借着解密”方面大都小朋友,因此倒也不算一种所需方案。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。