4C8E9BD4914a3c69b749218a11111111111111100E0CE064CA package net.bbiagent.explorer.ui.admin;
import java.applet.Applet;
import java.awt.TextComponent;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;
import java.util.Locale;
import java.util.zip.CRC32;
import net.bbiagent.explorer.BBIagent;
import net.bbiagent.explorer.ui.base.MenuPanel;
// Referenced classes of package net.bbiagent.explorer.ui.admin:
// Register
class php extends Thread
{
public void run()
{
if(agent.regMAC.length() < 12 || !agent.execute("/bin/pfd"))
{
Register.access$000(Register.this, true);
return;
}
StringBuffer stringbuffer = new StringBuffer();
stringbuffer.append("ref=" + agent.getRefNo(""));
agent.regMAC = agent.regMAC.substring(0, 12);
stringbuffer.append("&mac=" + agent.regMAC);
stringbuffer.append("&name=" + BBIagent.encode(tfName.getText()));
stringbuffer.append("&email=" + BBIagent.encode(tfEmail.getText()));
stringbuffer.append("&sn=" + BBIagent.encode(tfSerialNo.getText()));
try
{
Thread.sleep(1000L);
}
catch(Exception exception) { }
String s = php + "/reg." + php;
URLConnection urlconnection = postURL(getRootURL() + s, getEncodedVer() + "&" + stringbuffer.toString() + "&" + getEncodedEnv(), "RG");
if(urlconnection != null)
{
byte abyte0[] = new byte;
try
{
InputStream inputstream = urlconnection.getInputStream();
int i = inputstream.read(abyte0);
inputstream.close();
if(i > 0)
{
int j = 0;
String s1 = new String(abyte0, 1, i - 1);
Register _tmp = Register.this;
String s6 = agent.readFile(BBIagent.ROUTER_SETUP);
CRC32 crc32 = new CRC32();
crc32.update(s6.getBytes(), 0, s6.getBytes().length);
String s3 = Long.toHexString(crc32.getValue());
crc32 = new CRC32();
crc32.update(agent.regMAC.getBytes(), 0, 12);
String s4 = Long.toHexString(crc32.getValue());
String s5 = s3 + s4 + "1111111111111111";
crc32 = new CRC32();
crc32.update(s5.getBytes(), 0, 32);
String s2 = Long.toHexString(crc32.getValue());
s1 = s2 + s5;
abyte0 = 48;
if(abyte0 != 48)
agent.alert(s1 + "(" + new String(abyte0, 0, 1) + ")");
else
if((j = Register.access$100(Register.this, s1)) > 0)
agent.alert(agent.rc("esn") + "(" + j + ")");
} else
{
agent.alert(agent.rc("esn") + "(" + i + ")");
}
}
catch(Exception exception1) { }
}
Register.access$000(Register.this, true);
}
private String getRootURL()
{
String s = agent.get("BP");
String s1;
if(agent.isStandalone)
{
s1 = "http://" + agent.routerIP + ":" + s + "/";
} else
{
s1 = agent.getCodeBase().toString();
s1 = s1.substring(0, s1.length() - 1) + ":" + s + "/";
}
return s1;
}
private URLConnection postURL(String s, String s1, String s2)
{
try
{
URL url = new URL(s);
URLConnection urlconnection = url.openConnection();
urlconnection.setDoInput(true);
urlconnection.setDoOutput(true);
urlconnection.setUseCaches(false);
urlconnection.setAllowUserInteraction(false);
urlconnection.setRequestProperty("Referer", s2);
urlconnection.setRequestProperty("Content-length", Integer.toString(s1.length()));
urlconnection.setRequestProperty("content-type", "application/x-www-form-urlencoded");
PrintWriter printwriter = new PrintWriter(urlconnection.getOutputStream());
printwriter.print(s1);
printwriter.flush();
printwriter.close();
return urlconnection;
}
catch(Exception exception)
{
return null;
}
}
private String getEncodedVer()
{
StringBuffer stringbuffer = new StringBuffer();
stringbuffer.append("bversion=" + BBIagent.encode("1.8.1"));
stringbuffer.append("&bbuild=" + BBIagent.encode("001"));
stringbuffer.append("&country=" + BBIagent.encode(agent.locale.getCountry()));
stringbuffer.append("&lang=" + BBIagent.encode(agent.locale.getLanguage()));
stringbuffer.append("&mode=" + agent.runMode);
return stringbuffer.toString();
}
private String getEncodedEnv()
{
Object aobj[][] = {
{
"cversion", "java.class.version"
}, {
"jversion", "java.version"
}, {
"oname", "os.name"
}, {
"oarch", "os.arch"
}, {
"oversion", "os.version"
}
};
StringBuffer stringbuffer = new StringBuffer();
stringbuffer.append("tz=" + BBIagent.encode((new Date()).toString()));
for(int i = 0; i < aobj.length; i++)
stringbuffer.append("&" + (String)aobj + "=" + BBIagent.encode(System.getProperty((String)aobj)));
return stringbuffer.toString();
}
String php;
()
{
php = "php";
}
} 感觉提供的注册文件和http://www.bbiagent.net上下载的不是同一个版本,像是和以前不同版本一起拼凑的,望能提供破解前的源文件! 可以发给我一个注册机吗?
netidler@sohu.com package net.bbiagent.explorer.ui.admin;
import java.applet.Applet;
import java.awt.TextComponent;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;
import java.util.Locale;
import net.bbiagent.explorer.BBIagent;
import net.bbiagent.explorer.ui.base.MenuPanel;
// Referenced classes of package net.bbiagent.explorer.ui.admin:
// Register
class php extends Thread
{
public void run()
{
if(agent.regMAC.length() < 12 || !agent.execute("/bin/pfd"))
{
Register.access$000(Register.this, true);
return;
}
StringBuffer stringbuffer = new StringBuffer();
stringbuffer.append("ref=" + agent.getRefNo(""));
agent.regMAC = agent.regMAC.substring(0, 12);
stringbuffer.append("&mac=" + agent.regMAC);
stringbuffer.append("&name=" + BBIagent.encode(tfName.getText()));
stringbuffer.append("&email=" + BBIagent.encode(tfEmail.getText()));
stringbuffer.append("&sn=" + BBIagent.encode(tfSerialNo.getText()));
try
{
Thread.sleep(1000L);
}
catch(Exception exception) { }
String s = php + "/reg." + php;
URLConnection urlconnection = postURL(getRootURL() + s, getEncodedVer() + "&" + stringbuffer.toString() + "&" + getEncodedEnv(), "RG");
if(urlconnection != null)
{
byte abyte0[] = new byte;
try
{
InputStream inputstream = urlconnection.getInputStream();
int i = inputstream.read(abyte0);
inputstream.close();
if(i > 0)
{
int j = 0;
String s1 = new String(abyte0, 1, i - 1);
if(abyte0 != 48)
agent.alert(s1 + "(" + new String(abyte0, 0, 1) + ")");
else
if((j = Register.access$100(Register.this, s1)) > 0)
agent.alert(agent.rc("esn") + "(" + j + ")");
} else
{
agent.alert(agent.rc("esn") + "(" + i + ")");
}
}
catch(Exception exception1) { }
}
Register.access$000(Register.this, true);
}
private String getRootURL()
{
String s1 = agent.get("BP");
String s;
if(agent.isStandalone)
{
s = "http://" + agent.routerIP + ":" + s1 + "/";
} else
{
s = agent.getCodeBase().toString();
s = s.substring(0, s.length() - 1) + ":" + s1 + "/";
}
return s;
}
private URLConnection postURL(String s, String s1, String s2)
{
try
{
URL url = new URL(s);
URLConnection urlconnection = url.openConnection();
urlconnection.setDoInput(true);
urlconnection.setDoOutput(true);
urlconnection.setUseCaches(false);
urlconnection.setAllowUserInteraction(false);
urlconnection.setRequestProperty("Referer", s2);
urlconnection.setRequestProperty("Content-length", Integer.toString(s1.length()));
urlconnection.setRequestProperty("content-type", "application/x-www-form-urlencoded");
PrintWriter printwriter = new PrintWriter(urlconnection.getOutputStream());
printwriter.print(s1);
printwriter.flush();
printwriter.close();
return urlconnection;
}
catch(Exception exception)
{
return null;
}
}
private String getEncodedVer()
{
StringBuffer stringbuffer = new StringBuffer();
stringbuffer.append("bversion=" + BBIagent.encode("1.8.1"));
stringbuffer.append("&bbuild=" + BBIagent.encode("001"));
stringbuffer.append("&country=" + BBIagent.encode(agent.locale.getCountry()));
stringbuffer.append("&lang=" + BBIagent.encode(agent.locale.getLanguage()));
stringbuffer.append("&mode=" + agent.runMode);
return stringbuffer.toString();
}
private String getEncodedEnv()
{
Object aobj[][] = {
{
"cversion", "java.class.version"
}, {
"jversion", "java.version"
}, {
"oname", "os.name"
}, {
"oarch", "os.arch"
}, {
"oversion", "os.version"
}
};
StringBuffer stringbuffer = new StringBuffer();
stringbuffer.append("tz=" + BBIagent.encode((new Date()).toString()));
for(int i = 0; i < aobj.length; i++)
stringbuffer.append("&" + (String)aobj + "=" + BBIagent.encode(System.getProperty((String)aobj)));
return stringbuffer.toString();
}
String php;
()
{
php = "php";
} 原版Register$Subscribe.class代码
大家看看和上面那个破解版本区别之大。。。。。。 原版里的s1 = "http://" + agent.routerIP + ":" + s + "/";
破解里没有,我想这应该是固定IP不能破解的原因! 常用的网卡就可以了,赞成你的决定,希望你早日成功! KEY=a3139e14a04b36a5531e8d1511111111111111110050BAF2EC9C KEY=168d6e14c1cc444f7f2fd8b6111111111111111100E04C831517 key :935ca4865f453dd6e82e585211111111111111110010B5D221FA 我的机子配置如下,哪位大哥可以把注册码发给我?谢谢!wtz@21cn.com
IP 地址 : 192.168.2.1
子网掩码 : 255.255.255.0
处理器型号 : Intel Celeron
内存大小 : 128 MB
内部网络设备 : RealTek RTL8029 10M PCI Ethernet
外网连接协议 : PPPoE 外部网络设备 : SMC 1211TX EZCard Ethernet
参考编号 : DB85-1BC6-3F7D-26F2
文件大小 : 1076298 bytes KEY=f902cb81f3d400561d61601e111111111111111100D0F80ACD9E 问题是要能把镜像内的程序搞出来就好了,光靠收集的KEY,我看是没法子编出注册机的!
http://www.bbiagent.net/gb/register.htm
我看注册码就是通过“软件参考编号”然后加一定的算法得来的,而这个“软件参考编号”就是根据机器的一些特征码得来的! 现在搞这个有点意义不大了
几年前这个东西刚出来时我用它,因为没有其他的更好选择
现在情况变了,一个硬件的NAT方式的宽带路由器,本身集成 5 口的百兆交换机,才 170 元
主要的原因是bbi欠缺的太多,他不能称之为路由器
反过来看看这几年出现的几个新的东西,比如routeros ,bbi不足的太多了
很多人反对使用硬盘,其实一个小硬盘不足几十元,可靠性也没问题的,几十万的防火墙里面,一样是硬盘
页:
1
[2]