我很高兴向大家知会一声,scioworks Camino的基于Struts的Web Application开发工具已经可以破解了。因为Struts不错,我才想这样,目的只有一个,用来测试检验Struts。
这个工具使用注册码,并使用注册码进行日期判断。让我有点恼火的是,程序会想一个地址发送UDP包,不管怎样,我不希望这样的事情发生。
我想这个工具的破解有两种方式,
1, 认真钻研其算法,然后给出一个KeyGen程序。这种方式对程序本身不会有什么影响,但是研读算法比较费时间。
2, 改写程序控制,然后给出一个替代的class文件。这种方式因为改写了程序控制流程,需要特别小心,不小心的话,原来的程序就会崩溃。
这两种方式各有千秋,取决于你的兴趣所在。因为这个工具经过了代码优化以及别的处理,所以,改写代码稍嫌麻烦。
要做改写代码方式破解的话,你需要一个反编译工具,我推荐你使用jshrink,因为jad好像已经不再做下去了。(别说你还有好多反编译工具,错,大多使用jad Engine。)其次你需要了解一点java虚拟机规范,没有也行,那么你需要熟悉java语言,或者加上一些windows汇编语言知识。
我没有更多耐心所更多的东西。给出源代码,你爱谁谁去。
// Main.java; class file size 15569 bytes
package scioworks.camino;
/*
import BindingSchemaLoader;
import CaminoApp;
import CaminoModel;
import Config;
import ContextPathUtil;
import ExpressException;
import FileReadWriteException;
import InvalidResourceException;
import Main$CMon;
import Main$SMon;
import Navigatable;
import ParseException;
import StrutsSubApp;
*/
import com.jxml.quick.QDoc;
import scioworks.camino.event.ProjectReadyEvent;
import scioworks.camino.gui.LcPanel;
import scioworks.camino.io.DirtyStatusLookup;
import java.awt.Color;
import java.awt.Frame;
import java.io.File;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.TreeMap;
import javax.swing.JOptionPane;
import scioworks.camino.prjModel.CaminoProject;
import scioworks.camino.prjModel.SubApp;
import scioworks.aspen.BaseDialog;
import scioworks.aspen.HelpManager;
import scioworks.aspen.SwingUtil;
import scioworks.aspen.progress.ProgressListener;
import scioworks.common.io.FileUtil;
import scioworks.common.io.filemonitor.FileMonitor;
import scioworks.common.logging.Logger;
import scioworks.common.logging.LoggerFactory;
import scioworks.common.message.Message;
import scioworks.common.message.MessageCategory;
import scioworks.util.crypto.TransformerRev;
import scioworks.camino.strutsModel.Action;
import scioworks.camino.strutsModel.StrutsConfig;
import scioworks.camino.webdd.Servlet;
import scioworks.camino.webdd.ServletMapping;
import scioworks.camino.webdd.WebApp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.net.InetAddress;
class Main
implements
CaminoModel
{
final static private String _$159506 = "VGhlIGxpY2Vuc2UgaW5mb3JtYXRpb24gaXMgaW52YWxpZA==";
final static private String _$115780 = "Q2FtaW5vIExpY2Vuc2UgSW5mbw==";
上一页 下一页






