高分寻求帮助java反编译2

etoaoo 2009-07-01 02:42:56
昨天晚上发布了一个求助帖,今天早上就被云上飞翔给干脆的解决掉了,CSDN给了我不小的惊喜。

今天尝试反编译另外一个类时,又进行不下去,请求大家的帮助.

只要反编译出run()方法即可(已标红), 非常感谢.

package com.wowza.wms.plugin.loadbalancer;

public class LoadBalancerSender
implements Runnable
{
class LBTarget
{

String host;
int port;
String key;
boolean visited;
String targetId;
int msgSeq;
boolean errorReported;
int msgsSent;
final LoadBalancerSender this$0;

public LBTarget(String s, String s1, int i, String s2)
{
this$0 = LoadBalancerSender.this;
super();
host = null;
port = 8083;
key = null;
visited = false;
targetId = null;
msgSeq = 0;
errorReported = false;
msgsSent = 0;
targetId = s;
host = s1;
port = i;
key = s2;
}
}


public static final int MESSAGE_HEADERSIZE = 34;
private File targetFile;
private long targetFileLastModified;
private long targetFileLength;
private boolean targetReadTwice;
private Map targets;
private Object lock;
private int status;
private DatagramSocket udpSocket;
private int maxPacketSize;
private WMSProperties properties;
private Random rnd;
private UUID guid;
private ILoadBalancerMonitor loadBalancerMonitor;
private String redirectAddress;
private boolean reportedMissingTargetFile;

public LoadBalancerSender()
{
targetFile = null;
targetFileLastModified = -1L;
targetFileLength = -1L;
targetReadTwice = false;
targets = new HashMap();
lock = new Object();
status = 0;
udpSocket = null;
maxPacketSize = 4096;
properties = new WMSProperties();
rnd = null;
guid = null;
loadBalancerMonitor = null;
redirectAddress = null;
reportedMissingTargetFile = false;
}

public void init()
{
maxPacketSize = properties.getPropertyInt("maxPacketSize", maxPacketSize);
rnd = new Random(System.currentTimeMillis());
guid = UUID.fromString(Server.getInstance().getGUID());
}

public WMSProperties getProperties()
{
return properties;
}

private DatagramSocket getSocket()
{
Object obj = lock;
JVM INSTR monitorenter ;
if(udpSocket == null)
{
try
{
udpSocket = new DatagramSocket(null);
udpSocket.setTrafficClass(0);
udpSocket.setReceiveBufferSize(16384);
udpSocket.setReuseAddress(true);
udpSocket.setSoTimeout(0);
}
catch(Exception exception)
{

}
}
return udpSocket;
Exception exception1;
exception1;
throw exception1;
}

public void shutdown()
{
synchronized(lock)
{
if(udpSocket != null)
{
try
{
udpSocket.close();
}
catch(Exception exception)
{

}
}
udpSocket = null;
}
}

private void unvisit()
{
synchronized(lock)
{
for(Iterator iterator = targets.values().iterator(); iterator.hasNext();)
{
LBTarget lbtarget = (LBTarget)iterator.next();
lbtarget.visited = false;
}

}
}

private void clearUnvisited()
{
synchronized(lock)
{
ArrayList arraylist = new ArrayList();
for(Iterator iterator = targets.keySet().iterator(); iterator.hasNext();)
{
String s = (String)iterator.next();
LBTarget lbtarget = (LBTarget)targets.get(s);
if(!lbtarget.visited)
{
arraylist.add(s);
}
lbtarget.visited = false;
}

String s1;
for(Iterator iterator1 = arraylist.iterator(); iterator1.hasNext(); targets.remove(s1))
{
s1 = (String)iterator1.next();
}

}
}

public File getTargetFile()
{
Object obj = lock;
JVM INSTR monitorenter ;
return targetFile;
Exception exception;
exception;
throw exception;
}

public void setTargetFile(File file)
{
synchronized(lock)
{
targetFile = file;
}
}

public void parseEdgeList()
{

}

public int getStatus()
{
return status;
}

public void setStatus(int i)
{
status = i;
}

public int getMaxPacketSize()
{
return maxPacketSize;
}

public void setMaxPacketSize(int i)
{
maxPacketSize = i;
}

public void run()
{
boolean flag;
try
{
label0:
{
synchronized(lock)
{
if(targetFile != null)
{
break label0;
}
}
break MISSING_BLOCK_LABEL_295;
}
}
catch(Exception exception)
{

}
break MISSING_BLOCK_LABEL_295;
flag = targetFileLastModified == -1L || targetReadTwice;
targetReadTwice = false;
if(!flag)
{
if(targetFile.exists())
{
reportedMissingTargetFile = false;
if(targetFileLastModified != targetFile.lastModified() || targetFileLength != targetFile.length())
{
flag = true;
targetReadTwice = true;
}
} else
if(!reportedMissingTargetFile)
{
reportedMissingTargetFile = true;
}
}
if(!flag)
{
break MISSING_BLOCK_LABEL_246;
}
if(targetFile.exists())
{
break MISSING_BLOCK_LABEL_212;
}
if(!reportedMissingTargetFile)
{
reportedMissingTargetFile = true;
}
obj;
JVM INSTR monitorexit ;
break MISSING_BLOCK_LABEL_295;
unvisit();
parseEdgeList();
clearUnvisited();
targetFileLastModified = targetFile.lastModified();
targetFileLength = targetFile.length();
sendMessage();
obj;
JVM INSTR monitorexit ;
break MISSING_BLOCK_LABEL_295;
exception1;
throw exception1;
}

public void sendMessage()
{

}

public void pause()
{
synchronized(lock)
{
status = 2;
run();
}
}

public void unpause()
{
synchronized(lock)
{
status = 1;
run();
}
}

public ILoadBalancerMonitor getLoadBalancerMonitor()
{
return loadBalancerMonitor;
}

public void setLoadBalancerMonitor(ILoadBalancerMonitor iloadbalancermonitor)
{
loadBalancerMonitor = iloadbalancermonitor;
}

public String getRedirectAddress()
{
return redirectAddress;
}

public void setRedirectAddress(String s)
{
redirectAddress = s;
}
}
...全文
59 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lstc 2009-07-15
  • 打赏
  • 举报
回复
对于某些.class .jar,采用加密狗加密之后是无法反编译出来的
QQ:476833461
云上飞翔 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 etoaoo 的回复:]
能告诉我邮箱吗? 我把class文件发给你
[/Quote]
答:njjiangns@163.com
etoaoo 2009-07-01
  • 打赏
  • 举报
回复
多谢大虾
etoaoo 2009-07-01
  • 打赏
  • 举报
回复
能告诉我邮箱吗? 我把class文件发给你
zhufenghappy 2009-07-01
  • 打赏
  • 举报
回复
呵呵有时候确实反编译出错
云上飞翔 2009-07-01
  • 打赏
  • 举报
回复
请将LoadBalancerSender.class这个类文件发给我就行了。不要给出这个信息不完整的反代码。

62,614

社区成员

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

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