Net破解之注册码突破
本帖最后由 ajm3 于 2016-6-14 17:20 编辑本级主要讲通关分析代码来实现破解效果,而不是简单的改跳转或者改赋值
程序打开如上图图
peid查询如下
载入re搜索提示的注册码3个字
打开reflexil 2.1插件
右键右边的代码
返回源码编辑
输入源码【源码可以自己反编译出来,方法很多 不讲了】
如下
private void ServerStart()
{
if (string.IsNullOrEmpty(this.txtPath.Text))
{
this.txtPath.Focus();
throw new System.Exception(" 请输入路径!");
}
if (!System.IO.Directory.Exists(this.txtPath.Text))
{
this.txtPath.Focus();
throw new System.Exception(string.Format("路径{0}不存在!", this.txtPath.Text));
}
int port;
if (!string.IsNullOrEmpty(this.txtPath.Text))
{
this.txtPort.Focus();
throw new System.Exception(" 请输入正确的注册码!!!");
}
else
if (!int.TryParse(this.txtPort.Text, out port))
{
this.txtPort.Focus();
throw new System.Exception(" 请输入正确的注册码!");
}
try
{
this._server = new Server(port, this.txtVtCatalog.Text, this.txtPath.Text);
this._server.Config.ClearLogDays = System.Convert.ToInt32(this.udClearLogDays.Value);
this._server.Start();
}
catch
{
throw new System.Exception(string.Format("在端口: {0}监听失败!", this.txtPort.Text));
}
this.linkUrl.Text = this._server.RootUrl;
this.linkUrl.Visible = true;
this.btnStartOrStop.Text = "停止";
}
需要修改到下面的效果
然后保存就可以解决了
成功会,打开软件点击开始按钮不会提示注册码不正确,而是直接生成连接,可以打开你的网站
重点分析
if (!string.IsNullOrEmpty(this.txtPath.Text)) //不为空的string则
{
this.txtPort.Focus();
throw new System.Exception(" 请输入正确的注册码!!!");
}
else
if (!int.TryParse(this.txtPort.Text, out port))//不为空的int
{
this.txtPort.Focus();
throw new System.Exception(" 请输入正确的注册码!");
}
//删除不为空的string就只剩下不为空的int了,不难吧
送上程序,大家自己动手吧
如果有压缩密码,那么就是 kkk
前提是你得脱壳了 小呀小芋头 发表于 2016-9-25 05:05
想问一下哪里可以学习反翻译源码,真的不会大神可以指导一下吗?
新华书店,多多看书 虽然不是很懂,但也张知识了。 程序为什么还要加压缩密码 不错,学习了 {:1_918:}{:1_918:}{:1_918:}不错,学习了 还是支持楼主!希望你还有更多作品! 楼主可以。不错 胜读十年书 吾爱升级好慢诶~~~~~~~~~~~~~