这样的代码是用什么工具混淆的,应该如何反混淆呢,谢谢。
函数名都是类似 O00OOO1lOOll 这样子的,如何才能反混淆呢。namespace NovelSpider--------------------编程问答-------------------- 反混淆?
{
using NovelSpider.Common;
using NovelSpider.Config;
using NovelSpider.Entity;
using NovelSpider.Local;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
public class HelpBatchCreate : DockContent
{
public bool ChapterHtml;
public string CmdText;
public bool CreateCHM;
public bool CreateJAR;
public bool CreateOPF;
public bool CreateTXT;
public bool CreateUMD;
public bool CreateZIP;
public bool FullHtml;
public bool IndexHtml;
public bool Log;
public int m_Interval = 1;
private Label O00111OOl1OO;
private CheckBox O00OOO1lOOll;
private ProgressBar O011000O011;
private CheckBox O0l0l00010l1;
private CheckBox O0lll0O0l1l;
private Label O0llOllOlO1;
private Button O0llOO0O0;
private NumericUpDown O0O01O1lOl;
private Label O0O1O11;
private Label O0OlOl;
private NumericUpDown O10l11OO;
private CheckBox O10O0OOl0;
private IContainer O10O1000ll;
private GroupBox O111ll0llOl;
private Label O11lOOl;
private NumericUpDown O11Ol0l1;
private Label O1l00l0;
private CheckBox O1l00O1O0000;
private Label O1l11l;
private NumericUpDown O1lll0OOl0;
private CheckBox O1llllOlO0O1;
private CheckBox O1O00ll011ll;
private Label O1O101;
private Label O1O111;
private Button Ol00OO1O;
private Button Ol1000OOO;
private DateTime Ol1101ll = DateTime.Now;
private Button Ol11lOOl;
private Label OllllO1;
private GroupBox OlllO00O0;
private ProgressBar OlllO100O;
private Label OlO001;
private Timer OlO011lll10;
private BackgroundWorker OlO0OO010010;
private Label OlOl11001O;
private Button OO000O01O;
private TextBox OO00l0O;
private CheckBox OO10111O01llO1;
private Label OOl0Oll;
private CheckBox OOlO01OOO01l;
private Label OOO110;
private CheckBox OOO1l0;
public bool Timing;
public HelpBatchCreate()
{
this.Ol01101OlOO1ll0OOl0();
}
protected override void Dispose(bool OlO00ll1l)
{
if (OlO00ll1l && (this.O10O1000ll != null))
{
this.O10O1000ll.Dispose();
}
base.Dispose(OlO00ll1l);
}
private void O01O1l000lOOO01000OO0OlO1O01OlO(object OlO0Ol, RunWorkerCompletedEventArgs O)
{
if (O.Error != null)
{
this.O0llOllOlO1.Text = "错误提示:" + O.Error.Message;
this.O0llOO0O0.Enabled = true;
this.O111ll0llOl.Enabled = true;
this.OO000O01O.Enabled = false;
}
else if (O.Cancelled)
{
this.O0llOllOlO1.Text = "操作取消";
this.O0llOO0O0.Enabled = true;
this.O111ll0llOl.Enabled = true;
this.OO000O01O.Enabled = false;
}
else
{
this.O0llOllOlO1.Text = "操作完成";
if (this.Timing)
{
this.OlO011lll10.Start();
this.Ol1101ll = DateTime.Now.AddMinutes((double) this.m_Interval);
}
else
{
this.O0llOllOlO1.Text = "操作完成";
this.O111ll0llOl.Enabled = true;
this.O0llOO0O0.Enabled = true;
this.OO000O01O.Enabled = false;
}
}
}
private void O11O01OO0O01l0l(object OO00O1, EventArgs O)
{
if (this.OO00l0O.Text == "")
{
MessageBox.Show("请输入自定义SQL,选择单本或批量方式的请先生成自定义SQL。");
}
else if (!this.OlO0OO010010.IsBusy)
{
this.O0llOO0O0.Enabled = false;
this.O111ll0llOl.Enabled = false;
this.OO000O01O.Enabled = true;
this.IndexHtml = this.O00OOO1lOOll.Checked;
this.ChapterHtml = this.OO10111O01llO1.Checked;
this.FullHtml = this.O0lll0O0l1l.Checked;
this.CreateOPF = true;
this.CreateZIP = this.O1llllOlO0O1.Checked;
this.CreateTXT = this.O1O00ll011ll.Checked;
this.CreateUMD = this.O1l00O1O0000.Checked;
this.CreateJAR = this.O0l0l00010l1.Checked;
this.CreateCHM = this.OOlO01OOO01l.Checked;
this.CmdText = this.OO00l0O.Text;
this.Ol1101ll = DateTime.Now.AddMinutes((double) this.m_Interval);
this.OlO0OO010010.RunWorkerAsync();
}
}
private void O1l1lOl111l110(object OOOll1, EventArgs O)
{
if (Configs.CmsName == "qiwen")
{
this.OO00l0O.Text = "SELECT * FROM [Ws_BookList] WHERE bookupdatetime BETWEEN '" + DateTime.Today.ToShortDateString() + "' AND '" + DateTime.Today.AddDays(1.0).ToShortDateString() + "' ORDER BY bookupdatetime ASC";
}
else if (Configs.CmsName == "jieqi")
{
int time = Text.GetTime(DateTime.Today);
int num2 = Text.GetTime(DateTime.Today.AddDays(1.0));
this.OO00l0O.Text = "SELECT * FROM `jieqi_article_article` WHERE `lastupdate` BETWEEN '" + time.ToString() + "' AND '" + num2.ToString() + "' ORDER BY `lastupdate` ASC";
}
else if (Configs.CmsName == "cnend")
{
this.OO00l0O.Text = "SELECT * FROM [list_book] WHERE list_gxdate BETWEEN " + this.O1lll0OOl0.Value.ToString() + " AND " + this.O0O01O1lOl.Value.ToString() + " ORDER BY list_gxdate ASC";
}
else
{
this.OO00l0O.Text = "请输入SQL语句";
}
}
你放在vs代码编辑器里,然后使用菜单上的“重构->重命名”来给变量或者方法重新命名就行了。vs会自动将所有相关使用它的部分也重新命名。 --------------------编程问答-------------------- 其实对于比较低级的代码,你仔细看看其操作流程和用户体验、监视一下数据库接收到的指令,也就够了。
读它的代码,纯粹是浪费时间。 --------------------编程问答-------------------- 这个工具蛮好用的,想加一些功能,如果这么来看代码,太累了。。 --------------------编程问答-------------------- 没办法“反混淆”,因为除非机器可以识别代码的意图并且重新命名。
这就好比一个很烂的培训班码农用不规范的命名写代码的变量和函数,没有办法能自动规整成更可读的代码。
补充:.NET技术 , C#