fastpctools两款软件图文破解教程
本帖最后由 gagmeng 于 2016-11-14 11:39 编辑教程以Fast Browser Cleaner为例(Fast Video Downloader方法一样)
软件介绍:
Fast Browser Cleaner is a utility to clean unwanted toolbar, addons, extensions. It helps you to clean cookies, history and temporary files which are stored by websites you visited and occupy a lot of disk space. You can also remove unprotected passwords and credit card information stored by the browser which you used to login to some website or make payment.
软件特点:
Fast Browser Cleaner is a simple and user-friendly application and easy to understand software. It offering you scan and delete your browser junk and easily erase adware, cookies, temporary files or websites history from your IE, Chrome, Firefox, Opera.
1、Remove Temporary Files
Clean temporary files which are stored by websites. Temporary files may occupy a large amount of disk space.
2、Remove History
Remove history which is maintained by browsers. History contains a list of websites visited by you.
3、Remove Cookies
Clean all cookies created by websites which you visited.
4、Remove Adware
You can clean adware like MyStartSearch, Wazam, HealthAlert, ReleventKnowledge, SweetIm, Babylon, Most of the toolbars of conduit, GameDesktop etc.
5、Remove Passwords
Remove unprotected login details(user name , passwords etc) stored in browser.
6、Change Search Engine
You can remove unwanted search engines from browser. You can also set / reset default search engine used by the browser.
7、Change Home Page and Tab Page
Set / reset home page and tab page of browser with Fast Browser Cleaner.
8、Manage Addons
You can remove unwanted toolbar, addons, extensions.
9、Remove Credit Card Information
Remove Credit Card details which stored by browser.
官方主页:
http://fastpctools.com
破解过程:
1、dnspy加载FastBrowserCleaner.exe,浏览下软件代码结构,注册接口位置很明显(frmRegister窗口类);
2、进入注册接口;
注册接口代码如下:
private void btnRegisterNow_Click(object sender, EventArgs e)
{
try
{
if (string.IsNullOrEmpty(this.txtKey.Text))
{
MessageBox.Show(Resources.Register_EnterKey, Program.sApplicationName, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
else
{
string empty = string.Empty;
int num = Program.RegisterVerify(this.txtKey.Text, out empty);
if (num == 0)
{
this.SaveInRegistry();
}
Program.oFrmMain.SetRegistrationState();
MessageBox.Show(empty, Program.sApplicationName, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
if (num == 0)
{
base.Close();
}
}
}
catch (Exception ex)
{
Program.oErrorLog.Write("btnRegisterNow_Click", ex.Message, "frmRegister");
}
}
2、进入注册接口,关键位置继续跟进//int num = Program.RegisterVerify(this.txtKey.Text, out empty);
public static int RegisterVerify(string sKey, out string sMessage)
{
return Program.RegisterVerify(sKey, out sMessage, false);
}
public static int RegisterVerify(string sKey, out string sMessage, bool bOnlyVerify)
{
int num = -1;
sMessage = Program.GetEnumDescription(WebExceptionStatus.Timeout);
Program.bRegistered = false;
try
{
string combinedUserId = Program.GetCombinedUserId(bOnlyVerify);
string arg = string.Format(combinedUserId, ",");
string arg2 = string.Format(combinedUserId, "|");
DateTime value = new DateTime(2013, 7, 10);
Program.sActivationDate = DateTime.Now.Date.Subtract(value).TotalDays.ToString();
string requestUriString = "http://www.fastpctools.com/fbc/Register.php";
if (bOnlyVerify)
{
requestUriString = "http://www.fastpctools.com/fbc/Verify.php";
}
string text = string.Format("val1={0}", sKey);
string text2 = string.Format("val2={0}", Program.sActivationDate);
string text3 = string.Format("val3={0}", arg);
string text4 = string.Format("val4={0}", arg2);
string text5 = string.Concat(new string[]
{
"&",
text,
"&",
text2,
"&",
text3,
"&",
text4
});
WebRequest webRequest = WebRequest.Create(requestUriString);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = (long)text5.Length;
using (StreamWriter streamWriter = new StreamWriter(webRequest.GetRequestStream()))
{
streamWriter.Write(text5);
}
WebResponse response = webRequest.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream());
string text6 = streamReader.ReadToEnd();
//text6为网络返回数据,只需按照后面的数据需求构建返回值即可,此处强行插入text6 = "0000000,00000365,0000020990101";,具体为什么(365--注册起始日期跟2013年7月10日天数差,20990101为有效日期)
response.Close();
webRequest = null;
if (!string.IsNullOrEmpty(text6))
{
string[] array = text6.Split(new string[]
{
","
}, StringSplitOptions.None);
if (array.Length > 2)
{
Program.bKeyChecked = true;
string text7 = array;
if (!string.IsNullOrEmpty(text7) && text7.Length > 5)
{
text7 = text7.Substring(5);
num = Convert.ToInt32(text7);
}
Program.bRegistered = false;
if (num == 0)
{
Program.sRegistrationKey = sKey;
text7 = array;
if (!string.IsNullOrEmpty(text7) && text7.Length > 5)
{
text7 = text7.Substring(5);
Program.sActivationDate = text7;
}
text7 = array;
if (!string.IsNullOrEmpty(text7) && text7.Length > 5)
{
text7 = text7.Substring(5);
Program.nValidDays = Convert.ToInt32(text7);
}
Program.sMyUniID = Program.sMyTempUniID;
Program.bRegistered = true;
}
switch (num)
{
case -1:
case 5:
sMessage = Resources.Main_UnKnownError;
break;
case 0:
sMessage = string.Format(Resources.Main_RegisteredSuccessfully, Application.ProductName);
break;
case 1:
sMessage = Resources.Main_InvalidKey;
break;
case 2:
sMessage = Resources.Main_KeyAlreadyUsed;
break;
case 3:
sMessage = Resources.Main_KeyBlocked;
Program.CleanRegistry();
break;
case 4:
sMessage = Resources.Main_KeyExpired;
break;
case 6:
sMessage = Resources.Main_UnauthorizedUser;
break;
case 7:
sMessage = Resources.Main_InvalidactivationDate;
break;
}
}
}
}
catch (WebException ex)
{
sMessage = Resources.Main_UnKnownError;
switch (ex.Status)
{
case WebExceptionStatus.NameResolutionFailure:
case WebExceptionStatus.ConnectFailure:
case WebExceptionStatus.ReceiveFailure:
case WebExceptionStatus.SendFailure:
sMessage = Resources.Main_CouldNotConnectServer;
break;
}
Program.oErrorLog.Write("RegisterVerify", sMessage, "Program");
}
catch (Exception)
{
sMessage = Resources.Main_UnKnownError;
Program.oErrorLog.Write("RegisterVerify", sMessage, "Program");
}
return num;
}
3、定位到修改位置点,即网络接口返回数据后,强制将返回值赋值成软件所需要的值;
4、保存修改;
破解前后展示:
破解文件就不提供了,表哥们动手解决吧。
我们都爱月姐姐 学习,谢谢楼主提供的技术文章 沙发
感谢表哥的图文教程
{:victory:} 好文言,谢谢大侠的帮教! 赞一个了,感谢大神分享,学习了 谢谢分享技术文章! 感谢大表哥分享精品文章。日后学习。 遇见大神只能让路了 谢谢表哥的分享,好好学习一下 膜拜大表哥,想跟表哥学习一下net破解,带我飞吧。大表哥有没有dnspy的使用教程,分享一下,先学会使用工具。 这个教程很不错,谢谢。
页:
[1]
2