好久没写破解文章了,最近打算做一些外贸产品站,而SNS的营销推广是必须的,需要一些老外的SNS营销软件来辅助,自己写也行,但是我的原则是能高效弄,就高效弄,总之,什么方法做起来有效率,就用什么方法。 做个过程,正好最近忙,也没时间去想其他的东西。 后期也会做外贸SNS营销的文章推送。
http://twittermoneybot.com/
Twitter Money Bot 顾名思义,就是Twitter的营销软件。
功能还是不错的,先贴个官网的下载地址。
http://twittermoneybot.com/tmbdwnpagepr/tmb_just_exe.zip
下载后,解压,运行,看有什么提示。恩,运行后,软件会校验下是否授权,没有授权,弹出提示。
--------------------------- --------------------------- Invalid License! if you didn't activate yet, click "Help" > "Activate" and Enter your details --------------------------- 确定 ---------------------------
这个可以做为我们的破解关键词。
大部分SEO软件,都是.NET 框架的,.net类的软件,有个神器去混淆,就是知名的de4dot
我们去混淆很简单,直接把EXE的.net程序直接拖拉到de4dot.exe 即可。如图,Twitter Money Bot v3-cleaned.exe 就是我们去了混淆后的文件,然后我们直接用相关的.net反编译软件进行代码的查看。
一样,打开NET Reflector,然后拖入刚才去了混淆后的net软件即可。然后我们搜索我们的关键词 Invalid License
这样,我们就找到了关键的方法了,在
Twitter_Money_Bot_v3.MainForm.method_0()
这个位置。
老样子,打开dnSpy,然后把去混淆后的软件直接拖入即可。然后我们在程序资源管理器中找到
Twitter_Money_Bot_v3.MainForm.method_0()
这个方法即可。
如图我们贴下代码
// Twitter_Money_Bot_v3.MainForm // Token: 0x060001FC RID: 508 RVA: 0x00038C3C File Offset: 0x00036E3C private void method_0() { this.label31.Text = "Validating Your License.."; try { if (this.string_3 == "" || this.string_3 == null) { this.string_3 = "C"; } ManagementObject managementObject = new ManagementObject("win32_logicaldisk.deviceid=\"" + this.string_3 + ":\""); managementObject.Get(); this.string_0 = managementObject["VolumeSerialNumber"].ToString(); } catch { } try { ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("Select * From Win32_processor"); ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get(); foreach (ManagementBaseObject managementBaseObject in managementObjectCollection) { ManagementObject managementObject2 = (ManagementObject)managementBaseObject; this.string_1 = managementObject2["ProcessorID"].ToString(); } } catch { } try { StreamReader streamReader = new StreamReader("LicenseKey.txt"); string text = streamReader.ReadToEnd(); this.string_2 = string.Concat(new string[] { this.string_1, "=", this.string_0, "=", text }); } catch { this.string_2 = "imkansizayakin567"; } try { CookieContainer cookieContainer = new CookieContainer(); HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.superproductsreview.com/127pro"); httpWebRequest.CookieContainer = cookieContainer; httpWebRequest.Method = "GET"; HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); StreamReader streamReader2 = new StreamReader(httpWebResponse.GetResponseStream()); string text2 = streamReader2.ReadToEnd(); httpWebResponse.Close(); streamReader2.Close(); if (text2.Contains(this.string_2)) { this.activateToolStripMenuItem1.Enabled = false; this.groupBox1.Enabled = true; this.groupBox2.Enabled = true; this.toolStripMenuItem2.Enabled = true; this.userTweetScraperScrapeTweetsOfATwitterUserToolStripMenuItem.Enabled = true; this.searchAndLikeRetweetToolStripMenuItem.Enabled = true; this.simpleCustomScraperToolStripMenuItem.Enabled = true; this.whyAddonsAreNotActiveOnMyComputerToolStripMenuItem.Visible = false; this.toolStripSeparator2.Visible = false; this.label31.Text = " Activated"; } else { httpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.superproductsreview.com/97"); httpWebRequest.CookieContainer = cookieContainer; httpWebRequest.Method = "GET"; httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); streamReader2 = new StreamReader(httpWebResponse.GetResponseStream()); text2 = streamReader2.ReadToEnd(); httpWebResponse.Close(); streamReader2.Close(); if (text2.Contains(this.string_2)) { this.activateToolStripMenuItem1.Enabled = false; this.groupBox1.Enabled = true; this.groupBox2.Enabled = false; this.button16.Enabled = false; this.label31.Text = " Activated"; } else { httpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.superproductsreview.com/67"); httpWebRequest.CookieContainer = cookieContainer; httpWebRequest.Method = "GET"; httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); streamReader2 = new StreamReader(httpWebResponse.GetResponseStream()); text2 = streamReader2.ReadToEnd(); httpWebResponse.Close(); streamReader2.Close(); if (text2.Contains(this.string_2)) { this.activateToolStripMenuItem1.Enabled = false; this.groupBox1.Enabled = true; this.groupBox2.Enabled = false; this.button16.Enabled = false; this.button3.Enabled = false; this.button4.Enabled = false; this.button5.Enabled = false; this.button6.Enabled = false; this.button8.Enabled = false; this.button9.Enabled = false; this.button13.Enabled = false; this.button14.Enabled = false; this.button15.Enabled = false; this.button7.Enabled = false; this.button21.Enabled = false; this.label31.Text = " Activated"; } else { httpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.superproductsreview.com/just_seo"); httpWebRequest.CookieContainer = cookieContainer; httpWebRequest.Method = "GET"; httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); streamReader2 = new StreamReader(httpWebResponse.GetResponseStream()); text2 = streamReader2.ReadToEnd(); httpWebResponse.Close(); streamReader2.Close(); if (text2.Contains(this.string_2)) { this.activateToolStripMenuItem1.Enabled = false; this.groupBox1.Enabled = false; this.groupBox2.Enabled = true; this.label31.Text = " Activated"; } else { MessageBox.Show("Invalid License! if you didn't activate yet, click \"Help\" > \"Activate\" and Enter your details"); this.label31.Text = "Invalid License"; this.groupBox1.Enabled = false; this.groupBox2.Enabled = false; } } } } } catch (Exception ex) { MessageBox.Show(ex.Message); this.groupBox1.Enabled = false; this.groupBox2.Enabled = false; } }
我们看到比较简单判断后,设置对应的按钮按键等属性为true即可。
所以我们直接代码改成下面
我们右键,然后编辑方法即可
直接删去复杂的判断,然后设置一堆按钮的enable的属性为true即可。
最后代码如下,我没有去掉重复的字段
using System; using System.ComponentModel; using System.IO; using System.Management; using System.Net; using System.Windows.Forms; namespace Twitter_Money_Bot_v3 { // Token: 0x02000028 RID: 40 public partial class MainForm : Form { // Token: 0x060001FC RID: 508 RVA: 0x00038C3C File Offset: 0x00036E3C public void method_0() { this.label31.Text = "Validating Your License.."; try { if (this.string_3 == "" || this.string_3 == null) { this.string_3 = "C"; } ManagementObject managementObject = new ManagementObject("win32_logicaldisk.deviceid=\"" + this.string_3 + ":\""); managementObject.Get(); this.string_0 = managementObject["VolumeSerialNumber"].ToString(); } catch { } try { ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("Select * From Win32_processor"); ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get(); foreach (ManagementBaseObject managementBaseObject in managementObjectCollection) { ManagementObject managementObject2 = (ManagementObject)managementBaseObject; this.string_1 = managementObject2["ProcessorID"].ToString(); } } catch { } try { StreamReader streamReader = new StreamReader("LicenseKey.txt"); string text = streamReader.ReadToEnd(); this.string_2 = string.Concat(new string[] { this.string_1, "=", this.string_0, "=", text }); } catch { this.string_2 = "imkansizayakin567"; } try { this.activateToolStripMenuItem1.Enabled = true; this.groupBox1.Enabled = true; this.groupBox2.Enabled = true; this.toolStripMenuItem2.Enabled = true; this.userTweetScraperScrapeTweetsOfATwitterUserToolStripMenuItem.Enabled = true; this.searchAndLikeRetweetToolStripMenuItem.Enabled = true; this.simpleCustomScraperToolStripMenuItem.Enabled = true; this.whyAddonsAreNotActiveOnMyComputerToolStripMenuItem.Visible = true; this.toolStripSeparator2.Visible = true; this.label31.Text = " Activated by affadsense.com"; this.activateToolStripMenuItem1.Enabled = true; this.groupBox1.Enabled = true; this.groupBox2.Enabled = true; this.button16.Enabled = true; this.label31.Text = " Activated by affadsense.com"; this.activateToolStripMenuItem1.Enabled = true; this.groupBox1.Enabled = true; this.groupBox2.Enabled = true; this.button16.Enabled = true; this.button3.Enabled = true; this.button4.Enabled = true; this.button5.Enabled = true; this.button6.Enabled = true; this.button8.Enabled = true; this.button9.Enabled = true; this.button13.Enabled = true; this.button14.Enabled = true; this.button15.Enabled = true; this.button7.Enabled = true; this.button21.Enabled = true; this.label31.Text = " Activated"; } catch (Exception ex) { MessageBox.Show(ex.Message); this.groupBox1.Enabled = false; this.groupBox2.Enabled = false; } } } }
然后点击编译即可没有什么错误提示就是编译成功了,然后我们会到dnSpy上,进行exe的保存
我们运行我们破解后的程序恩。运行没什么问题了。每个按钮都可以点击。
同理,insta money bot的破解方法相同。
老样子,软件会分享到论坛的内部板块。
当然,你们有能力的话,可以参考本篇文章进行破解,相关破解需要的软件,都可以百度谷歌到。
一步一步做下来,基本是没问题的。
码字不易,您的转发和赞赏是我的一大动力之一。
欢迎关注我的公众号,请爱护我,不要抄袭我。
欢迎加入我的论坛,与我们一起交流。
下面是加入小密圈/获取论坛邀请码购买渠道:
小密圈(入圈后私信圈主,看到会私信邀请码):
其他获取方式:
支付宝:
微信支付: