当前位置:首页 » 编程软件 » 程序能反编译吗

程序能反编译吗

发布时间: 2023-07-13 21:53:01

① 对与现在编程语言,哪些遍出来的东西是可以反编译

任何语言编译出来的程序都可以反编译。有些是解释性语,比如:asp,php,vba,script,他们不用反编译;有些是托管应用程序,几乎可以100%反射回去,比如:java, c#;有些编译出来是二进制程序,反编译出来就是汇编语言,比如:c,c++,vc,vb,vfp,pb,delphi。

② 是不是所有的程序都可以反编译得到原代码

Android APK中的Java代码可以被反编译到什么程度主要看APK的加密程度。

第一种情况:无混淆无加密无加壳。
直接利用Dex2jar和JD-GUI可把源码从APK里抠出来,代码逻辑清晰,基本上做到可复用,只是资源文件的引用需要计算一下。

第二种情况:混淆。
通常是利用Proguard做的防护。因为是对jar做的不可逆混淆(除非有mapping),因此不能还原成原来的代码。但是代码结构,代码逻辑一致,只要花长时间对代码进行梳理一样可找准核心代码,解密方法跟第一种一致。

第三种情况:加密。
这里以DexGuard为例。对于这种代码加密的方法,在程序运行中必定会进行解密,只要抽出它解密的逻辑便可。PS:我自己做过DexGuard的解密,如果用Dex2jar反编译看的话逻辑是不对的,一定要从Smali代码看。后来发现网上已经有人做了。
解密的脚本:A look inside Dexguard

第四种情况:加壳。
这种情况跟第三种类似。无论你怎么加壳,运行的时候必定是Dalvik可识别的Odex代码,建议直接在内存里mp出来。这里推荐Xpose的ZjDroid。

③ 对于一个已经编程好的程序,是否可以对他进行反编程

当然可以, 上网搜,可以搜到大把反编译器, 这样可以把别人做好的应用程序反编译成程序代码,从而进行分析。

以java为例,java代码写好后,编译并打包成 .jar 可运行文件(相当于.exe)。这时可以上网找到比如“小颖反编译器”之类的工具进行反编,这样又可以把.jar反编成一堆原始的java代码。

由于有这个问题,所以程序员们为了防止自己的工作成果被人抄袭后来就产生了混洧器, 利用混洧器可以将jar文件中的资源进行混洧,这样虽然可以将.jar还原成源代码,但现在的源代码被随机地打乱了,很难看懂,基本不具备可读性。

当然有矛就有盾, 再历害的混淆器也有历害的反编器来破解它。

就像病毒和杀毒软件一样相生相克

④ 反编译违法吗

法律分析:不违法。反编译不违法。反编译是指计算机软件反向工程也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。

法律依据:《计算机软件保护条例》 第三条 本条例下列用语的含义:

(一)计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。

(二)文档,是指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表等,如程序设计说明书、流程图、用户手册等。

(三)软件开发者,是指实际组织开发、直接进行开发,并对开发完成的软件承担责任的法人或者其他组织;或者依靠自己具有的条件独立完成软件开发,并对软件承担责任的自然人。

(四)软件着作权人,是指依照本条例的规定,对软件享有着作权的自然人、法人或者其他组织。

⑤ 任何程序都可以反编译吗为什么有一些程序不可以反编译

javap是用作反编译的,但是javap只能给出你要反编译的class的结构,比如有什么方法,有什么static或者非static的变量什么,但不可能产生源代码编译后的文件不是原代码文件,所以不能直接拿来编译。希望楼主采纳

⑥ 反编译一个易语言程序可以做到吗

反编译的原理应该是一个语言的语法关键字和程序的汇编结构有相同部分,然后就类似查找替换这样哒。不过需要一个翻译引擎and蛮多的工程,可以倒是可以所以说
然后以前的易语言程序倒是可以,现在的话易语言换了编译方式所以emmmm,略难

⑦ 用python2.7.1写的小程序可以反编译得到它的源代码吗

可以,网上有很多在线的反编译工具,给你发几个链接:
1、http://depython.com/index.php
2、https://github.com/eble/pyc2py
3、http://tool.lu/pyc/
不过好像第一个只适用于Python2.0-2.6,第二个适用于Python2.6,第三个应该可以反编译2.7,你可以都试一下。

⑧ 现在的delphi xe7写的程序还能被反编译吗

可以的,反编译就是把exe这类的可执行程序代码变成汇编,然后再通过对汇编指令的分析,还原成delphi的源码,只是难度增加了!

⑨ 反编译什么意思,具体该怎么用

反编译:高级语言源程序经过编译变成可执行文件,反编译就是逆过程。计算机软件逆向工程,又称计算机软件恢复工程,是指对其他软件的目标程序(如可执行程序)进行“逆向分析和研究”,从而推导出设计思想、原理、结构、算法、处理过程、操作方法等要素,等被其他软件产品使用,在某些特定情况下可能会衍生出源代码。反编译可以作为开发软件时的参考,也可以直接用于软件产品中。

(9)程序能反编译吗扩展阅读:

如果编译过程中发现源程序有错误,编译程序应报告错误的性质和错误的发生的地点,并且将错误所造成的影响限制在尽可能小的范围内,使得源程序的其余部分能继续被编译下去,有些编译程序还能自动纠正错误,这些工作由错误处理程序完成。需要注意的是,一般上编译器只做语法检查和最简单的语义检查,而不检查程序的逻辑。

热点内容
数字电路存储器实验 发布:2025-02-07 04:13:29 浏览:812
在什么地方查qq密码 发布:2025-02-07 04:01:51 浏览:11
买二手笔记本电脑看哪些配置 发布:2025-02-07 04:01:48 浏览:308
我的世界里面什么服务器是建造的 发布:2025-02-07 03:51:48 浏览:189
不能连接到数据库 发布:2025-02-07 03:47:00 浏览:45
安卓手机如何设置翻屏动画 发布:2025-02-07 03:46:18 浏览:594
利基型存储器什么意思 发布:2025-02-07 03:43:58 浏览:556
安卓读写权限在哪里 发布:2025-02-07 03:29:21 浏览:36
钉邮怎么找回密码 发布:2025-02-07 03:16:40 浏览:81
比特币钱包源码 发布:2025-02-07 03:16:39 浏览:101