社区
Web 开发
帖子详情
为什么将class源文件反编译回来会报错,包存在。
wangmohan44
2011-10-17 10:42:23
在将class源文件反编译回来变成java文件后,与原来的java文件不一致,修改了一些变量名,而且有一些for循环中的“{”、“}”也没有了,如果想反编译后的java文件和原java文件一致该怎么办,现在反编译用的工具是jd-gui,xjad都有这个问题。如果是工具问题希望提供下载地址,或发到我邮箱529109762@qq.com。谢谢
...全文
539
9
打赏
收藏
为什么将class源文件反编译回来会报错,包存在。
在将class源文件反编译回来变成java文件后,与原来的java文件不一致,修改了一些变量名,而且有一些for循环中的“{”、“}”也没有了,如果想反编译后的java文件和原java文件一致该怎么办,现在反编译用的工具是jd-gui,xjad都有这个问题。如果是工具问题希望提供下载地址,或发到我邮箱529109762@qq.com。谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangmohan44
2011-10-18
打赏
举报
回复
啥小动作哦,有些工作需要而已
xiaozhuangfeng
2011-10-18
打赏
举报
回复
一般不会需要反编译的吧,莫非lz想干点啥小动作
wangjiangbo2
2011-10-18
打赏
举报
回复
[Quote=引用 4 楼 wangmohan44 的回复:]
2楼难道有办法,求教
[/Quote]
没搞过,以前的单位碰到这类问题,都是由总工把翻译完的程序补齐,难易程度不了解。
有时间可以自己试试
wangmohan44
2011-10-18
打赏
举报
回复
2楼难道有办法,求教
wangmohan44
2011-10-18
打赏
举报
回复
难道没一点办法吗?我想既然能够编译成class文件,那肯定有class与java编译的一定规则的,能编过来应该也可以能编译回去,我是这样觉得的啊,求解决
wangjiangbo2
2011-10-18
打赏
举报
回复
想要还原成java原文件,好像不简单呐。
wangmohan44
2011-10-18
打赏
举报
回复
那如果按照你所说,变量名会被该掉,那应该是所有的都存在这个问题吧,但是在反编译后,只有个别类中的变量存在这个问题,而有些类却是没有报错的,而且编译后还会添加一些莫名其妙的"单词",这又是怎么回事呢?求完整点的解释或解决方案
疯癫行者
2011-10-18
打赏
举报
回复
[Quote=引用 3 楼 wangmohan44 的回复:]
难道没一点办法吗?我想既然能够编译成class文件,那肯定有class与java编译的一定规则的,能编过来应该也可以能编译回去,我是这样觉得的啊,求解决
[/Quote]
看来你还是不死心,说说原因给你:
源文件是给人看的,所以源文件里面变量有名字,而且易读,类文件是给计算机看的,他没有必要保留变量名,所以编译的时候丢掉了。所以反编译的时候,到哪儿去找变量名呢?
至于括号,右括号和没有括号只是两种不同的代码风格,这不是编译器本身的问题,如果你非要改成你自己的样子,那你可以找编辑器工具帮你完成。
疯癫行者
2011-10-17
打赏
举报
回复
好像不行,反编译器怎么能知道原来是什么格式呢?怎么能知道原来代码定义的变量名是什么呢?我觉得楼主不要想这个问题了,几乎是不可能的,因为类文件并不保持java文件的全部格式的。
eclipse中
class
文件
反编译
.docx
eclipse中Ctrl和左键查看源代码提示attach
报错
Source not found找不到源码的解决方法。
Class
文件
反编译
工具
支持大部分
class
文件的
反编译
,开发过程中遇到
class
文件
报错
,打不了断点调试,只需要
反编译
对应
class
,建立同路径java文件后即可调试
OCJP - 语言基础
1. 1.java
源文件
1 一个
源文件
不
包
含任何代码定义,编译时不
会
有错误但是 运行就
会
有错误
Java基础试题及其答案.docx
...
java
class
文件
反编译
java
class
文件
反编译
Web 开发
81,117
社区成员
341,740
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章