我在一个地方做了网站他不给原代码给我。是不是我拿到了网站运行的代码用反编译软件都能搞到原来的代码?

我在一个地方做了网站他不给原代码给我。是不是我拿到了网站运行的代码用反编译软件都能搞到原来的代码?,第1张

你找公司做网站是不会给源代码你的,除非是合同上写明要连源代码一起买断,你服务器上应该是已经编译好的文件,就算是反编译也不可能拿到完整的源代码,而且你要修改源代码要知道你需要改的地方可不是那么容易就找到,建议你还是找回帮你做网站的公司帮你修改或者添加功能,这些钱是省不了的,网站后期维护费比开发费用更高

首先,人家能注入什么呢?最多用浏览器实现客户端与服务器的通信
第二,加一下密,或者
直接上ssl
第三,即使加密,人家也可以反编译你的apk获取加密方法啊
第四,如果只是要防止浏览器访问,你可以在服务器端验证一下UA标识,只有客户端使用的特有标识才被允许,不过没有太大意义,因为人家知道你的接口后,可以直接发包啊,只是不能用浏览器访问而已,或者说改一下浏览器的UA就行了。。
第五,没有绝对的安全

Java是一种跨平台的 解释型语言 Java 源代码编译中间 字节码 存储于class文件中 Class文件是一种字节码形式的中间代码 该字节码中包括了很多源代码的信息 例如变量名 方法名等 因此 Java中间代码的反编译就变得非常容易 目前市场上有许多免费的 商用的反编译软件 都能够生成高质量的反编译后的源代码 所以 对开发人员来说 如何保护Java程序就变成了一个非常重要的挑战 本文首先讨论了保护Java程序的基本方法 然后对代码混淆问题进行深入研究 最后结合一个实际的应用程序 分析如何在实践中保护Java程序 反编译成为保护Java程序的最大挑战 通常C C++等编程语言开发的程序都被编译成目标代码 这些目标代码都是本机器的二进制可执行代码 通常所有的源文件被编译 链接成一个可执行文件 在这些可执行文件中 编译器删除了程序中的变量名称 方法名称等信息 这些信息往往是由内存地址表示 例如如果需要使用一个变量 往往是通过这个变量的地址来访问的 因此 反编译这些本地的目标代码就是非常困难的 Java语言的出现 使得反编译变得非常容易而有效 原因如下 由于跨平台的需求 Java的指令集比较简单而通用 较容易得出程序的语义信息 Java编译器将每一个类编译成一个单独的文件 这也简化了反编译的工作 Java 的Class文件中 仍然保留所有的方法名称 变量名称 并且通过这些名称来访问变量和方法 这些符号往往带有许多语义信息 由于Java程序自身的特点 对于不经过处理的Java程序反编译的效果非常好 目前 市场上有许多Java的反编译工具 有免费的 也有商业使用的 还有的是开放源代码的 这些工具的反编译速度和效果都非常不错 好的反编译软件 能够反编译出非常接近源代码的程序 因此 通过反编译器 黑客能够对这些程序进行更改 或者复用其中的程序 因此 如何保护Java程序不被反编译 是非常重要的一个问题 常用的保护技术 由于Java字节码的抽象级别较高 因此它们较容易被反编译 本节介绍了几种常用的方法 用于保护Java字节码不被反编译 通常 这些方法不能够绝对防止程序被反编译 而是加大反编译的难度而已 因为这些方法都有自己的使用环境和弱点 隔离Java程序 最简单的方法就是让用户不能够访问到Java Class程序 这种方法是最根本的方法 具体实现有多种方式 例如 开发人员可以将关键的Java Class放在服务器端 客户端通过访问服务器的相关接口来获得服务 而不是直接访问Class文件 这样黑客就没有办法反编译Class文件 目前 通过接口提供服务的标准和协议也越来越多 例如 >

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12645461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存