java的class如何实现不能被反编译

liqi_wj 2013-05-31 02:05:54
原来我以为什么都能反编译 ,但今天搞到一个源代码,发现不能被反编译,求各位大神告诉我他是如何实现的啊?
我用的反编译工具是:jd-gui.


我去 怎么上传不了图片
...全文
1085 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
liqi_wj 2013-06-03
  • 打赏
  • 举报
回复
终于知道他怎么弄的 他是在JDK层和tomcat层都加密,而且spring struts 都重写了 ,哎 看来我搞不定了 ,结贴!~
beowulf2005 2013-05-31
  • 打赏
  • 举报
回复
任何加密都没有用只要能本地运行的java程序就一定有办法反编译。 因为java最终总是要编程字节码的,自己实现classLoader或者直接hack JVM, 就一定能拿到字节码,然后反编译。 不过混淆过的代码反编译出来没有可读性。。
liqi_wj 2013-05-31
  • 打赏
  • 举报
回复
人工置顶!!!
liqi_wj 2013-05-31
  • 打赏
  • 举报
回复
人工置顶!!!
liqi_wj 2013-05-31
  • 打赏
  • 举报
回复
引用 10 楼 fangmingshijie 的回复:
加密的方式很多,比如 1.隔离Java程序 2.对Class文件进行加密 3.转换成本地代码 4.代码混淆 例如,你可以替换变量名和方法名,反编译的结果,你会看到好多a,b,c……
1.对于我不太实用啊 我们的程序以后有可能在局域网啊,那就取不到代码了啊 2.不知道怎么加密啊 3。什么叫转换成本地代码 4.我用的是SSI ,里面类名,方法名,属性名,都是在配置文件里面配置的 估计不能混淆啊 还有我就想问 我描述的那哥们的代码为什么不能被反编译啊 我就想做到他那个样子
  • 打赏
  • 举报
回复
加密的方式很多,比如 1.隔离Java程序 2.对Class文件进行加密 3.转换成本地代码 4.代码混淆 例如,你可以替换变量名和方法名,反编译的结果,你会看到好多a,b,c……
liqi_wj 2013-05-31
  • 打赏
  • 举报
回复
引用 8 楼 fangmingshijie 的回复:
如果源码进行了加密,反编译就没用的
高人 能大致讲下怎么对源码进行加密嘛? 用混淆?他这套系统用的是ssh,估计不能用混淆啊
  • 打赏
  • 举报
回复
如果源码进行了加密,反编译就没用的
liqi_wj 2013-05-31
  • 打赏
  • 举报
回复
引用 5 楼 feier00 的回复:
有几种方法可以防止反编译 看这个文章http://wenku.baidu.com/view/55aa02cfda38376baf1faecb.html
这个感觉更像做广告的呢~~~
liqi_wj 2013-05-31
  • 打赏
  • 举报
回复
引用 4 楼 tonyyl 的回复:
反编译?其实反编译的绝对不是真正的源码.
但是他这个都已经无法反编译啊 直接就报错 这个是怎么弄的啊
跳蚤图 2013-05-31
  • 打赏
  • 举报
回复
有几种方法可以防止反编译 看这个文章http://wenku.baidu.com/view/55aa02cfda38376baf1faecb.html
  • 打赏
  • 举报
回复
反编译?其实反编译的绝对不是真正的源码.
liqi_wj 2013-05-31
  • 打赏
  • 举报
回复
引用 2 楼 feier00 的回复:
桌面真有意思 有没有人想根据桌面分析一下LZ的性格。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
楼主都快愁死了,你还开我玩笑
跳蚤图 2013-05-31
  • 打赏
  • 举报
回复
桌面真有意思 有没有人想根据桌面分析一下LZ的性格。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
liqi_wj 2013-05-31
  • 打赏
  • 举报
回复

终于传上来了 希望大牛给小弟点思路啊~
我们在使用Eclipse的时候,经常是会使用别人的Jar包,然后,通常情况下,我们是不会得到他们的源码的,出发是个开源项目。但是有时候很多异常会从jar包里爆出来,我们没有源代码,就无法去查找具体原因,那么有没有一个工具可以让我们直接就像自己写的代码一样在Eclipse中按住Ctrl+鼠标,就直接查看源码呢? 1、把net.sf.jadclipse_3.3.0.jar拷到D:\eclipse\plugins 目录下. ( 这里是我的目录 写你自己的) 2、把JAD拷到Java安装路径下C:\Program Files\Java\jdk1.7.0_51\bin ( 这里是我的目录 写你自己的) 3、启动Eclipse ,Window->Preferences->Java->JadClipse,设置Path to decompiler 为你的JAD.exe路径;Directory for temporary files,这里设置临时文件路径,不用管. 备注:安装完成后,eclipse自动将JadClipse Class File Viewer设置成class文件的缺省打开方式。如果没有默认,可以在Eclipse的Windows——> Perference——>General->Editors->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。设置完成后,双击*.class文件,eclipse将自动反编译。 对于存在源代码的类,它不会强行反编译,也就是说它还是会用eclipse自带的Class File Viewer查看class文件,手动设置Window->Preferences->Java->JadClipse,把Ignore existing source选中,就不会管有没有源码,都会反编译 http://blog.csdn.net/sushengmiyan

67,542

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧