反编译问题。(有挑战性呀,送200分,分2次给分)------第二贴

WHJWHY 2008-03-27 12:37:24
哪位大侠能把下面的java程序反编译出来。送200分,分2次给分
程序下载地址
http://wqywqy.googlepages.com/waveinterference.jar
...全文
152 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
胡矣 2008-03-27
  • 打赏
  • 举报
回复
用Eclipse安装插件Jode Decompiler,安装方法网上很多.
把要waveinterference.jar在java构建路径下引入.
然后就可以像打开类一样打开*.class文件了.下面是其中的一个类

/*jode*/
/* BarrierSideView - Decompiled by JODE
* Visit http://jode.sourceforge.net/
*/
package edu.colorado.phet.waveinterference;
import java.awt.Rectangle;
import java.awt.geom.Rectangle2D;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

import edu.colorado.phet.waveinterference.model.SlitPotential;
import edu.colorado.phet.waveinterference.view.LatticeScreenCoordinates;
import edu.colorado.phet.waveinterference.view.SlitPotentialGraphic;
import edu.colorado.phet.waveinterference.view.WaveSideViewFull;

public class BarrierSideView extends SlitPotentialGraphic
{
private WaveSideViewFull waveSideView;
private double fractionalBarrierSize = 3.0;

public BarrierSideView(SlitPotential slitpotential,
LatticeScreenCoordinates latticescreencoordinates,
WaveSideViewFull wavesideviewfull) {
super(slitpotential, latticescreencoordinates);
waveSideView = wavesideviewfull;
wavesideviewfull
.addPropertyChangeListener("visible", new PropertyChangeListener() {
{
super();
}

public void propertyChange
(PropertyChangeEvent propertychangeevent) {
update();
}
});
update();
}

public void update() {
if (waveSideView != null) {
setVisible(waveSideView.getVisible());
setPickable(getVisible());
setChildrenPickable(getVisible());
removeAllChildren();
Rectangle[] rectangles = getSlitPotential().getBarrierRectangles();
for (int i = 0; i < rectangles.length; i++) {
Rectangle rectangle = rectangles[i];
if (!rectangle.isEmpty()) {
Rectangle2D rectangle2d = getLatticeScreenCoordinates()
.toScreenRect(rectangle);
Rectangle2D.Double var_double
= new Rectangle2D.Double(rectangle2d.getX(),
getBarrierY(),
rectangle2d.getWidth(),
getBarrierHeight());
addChild(super.toShape(var_double));
break;
}
}
}
}

private double getBarrierHeight() {
return (getLatticeScreenCoordinates().getScreenRect().getHeight()
/ fractionalBarrierSize);
}

private double getBarrierY() {
return (getLatticeScreenCoordinates().getScreenRect().getY()
+ (getLatticeScreenCoordinates().getScreenRect().getHeight()
/ 2.0)
- getBarrierHeight() / 2.0);
}
}


/***** DECOMPILATION REPORT *****
LOCATION: F:\guoyan\eclipse\workspace\test\waveinterference.jar!edu.colorado.phet.waveinterference.BarrierSideView
TOTAL TIME: 0 ms
********************************/
eswn 2008-03-27
  • 打赏
  • 举报
回复
用jad吧,直接把jar包放到eclipse下,然后打开里里面的类,会自动反编译的.
tianyidan 2008-03-27
  • 打赏
  • 举报
回复
真是晕……不说啥了。

lz我去试试,有效果了再来回帖。
shili150 2008-03-27
  • 打赏
  • 举报
回复
我把 jar文件解压,随便找出了一个类BasicService.class 反编译


得出以下结果:
Compiled from "BasicService.java"

public interface javax.jnlp.BasicService{

public abstract java.net.URL getCodeBase();

public abstract boolean isOffline();

public abstract boolean isWebBrowserSupported();

public abstract boolean showDocument(java.net.URL);

}

hoszone 2008-03-27
  • 打赏
  • 举报
回复
工具吧,很方便,当然前提是如果代码没有限制反编译.
allenblade 2008-03-27
  • 打赏
  • 举报
回复
应该有加密的吧,如果带混淆的一般的反编译工具还不行
shili150 2008-03-27
  • 打赏
  • 举报
回复
其实吧java类反编译很简单,jdk已经有这个命令

javap xx.class
ai7090 2008-03-27
  • 打赏
  • 举报
回复
jf
约翰羊 2008-03-27
  • 打赏
  • 举报
回复
说句实话,就是反编译出来。想要看明白也是很难的事情。
nihuajie05 2008-03-27
  • 打赏
  • 举报
回复
我想反编译下WINDOWS系统
谢谢哪位同志帮下忙吧....
我另外出帖子给你加分哦~~~~
别想拿linux来忽悠我哦
little06 2008-03-27
  • 打赏
  • 举报
回复
比如小颖反编译软件

可是没有说明,根本就不知道包的结构
就好像你会去看应用程序的反汇编吗,一样的道理
karlpan01 2008-03-27
  • 打赏
  • 举报
回复
没有人能够反编译出来,即使反编译出来,如果你不是非常熟悉它的内容,你也迷糊。如果你非要看懂,那么所耗费的精力,得不偿失!
a1405 2008-03-27
  • 打赏
  • 举报
回复
去网上下个反编译软件就行
胡矣 2008-03-27
  • 打赏
  • 举报
回复
反编译的代码要和源代码一样的可能性不是很大
如果你想直接拿过来用的话 可能是不行的
hmsuccess 2008-03-27
  • 打赏
  • 举报
回复
问:一任天然★IT民兵
这个插件准确率如何
内容概要:本文档是一份关于“基于配电网韧性提升的应急移动电源(MPS)预配置”的科研复现资料,聚焦于在自然灾害或突发情况下,通过科学合理的MPS预配置策略增强配电网的韧性。研究构建了一个优化模型,采用Matlab进行代码实现,旨在确定MPS的最佳预配置位置与容量,以最大限度减少潜在故障导致的负荷损失,提升电力系统的恢复能力与供电可靠性。该研究属于电力系统优化调度领域,强调预防性措施在现代电网管理中的关键作用,并为后续动态调度奠定基础。; 适合人群:适用于电力系统、电气工程及其自动化等相关专业的高校研究生、博士生,以及从事电网规划、运行与控制工作的科研人员和技术工程师。; 使用场景及目标:①为配电网应对极端事件提供高效的应急电源预配置解决方案;②为相关领域的研究人员复现SCI一区高水平论文提供完整的模型推导与Matlab代码参考;③服务于智能电网韧性提升、电力系统优化调度等方向的学术研究与教学实践。; 阅读建议:建议读者结合电力系统析与优化理论的基础知识进行学习,重点掌握文档中优化模型的构建逻辑与Matlab代码的实现细节。由于文档建议“按目录序逐一浏览”,推荐系统性地从研究背景、数学模型、求解算法到代码实现逐部深入研读,并积极利用文中提供的网盘资源与公众号平台获取完整资料,以便更好地理解模型内涵并成功复现实验结果。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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