標籤:style blog http io color ar os 使用 sp
在.net 破解中我們經常會提到 Reflector\SimpleAssemblyExplorer和CFF Explore這幾個工具. 我們以一個簡單的確Windows Form程式為例來說說他們怎麼使用,代碼如下:
public partial class Conversion : Form { public Conversion() { InitializeComponent(); } bool isTrialExpired = true; private void button1_Click(object sender, EventArgs e) { double c = Convert.ToDouble(textBox1.Text); double f = (c * 9 / 5) + 32; label3.Text = f.ToString(); } private void TrialExpiredCheck() { if (isTrialExpired) { MessageBox.Show(@"Trial Duration has expired! Installed Freh copy", "!!!!Alert Message!!!!"); Application.Exit(); } } private void Conversion_Load(object sender, EventArgs e) { TrialExpiredCheck(); } }
正常運行彈出訊息框然後程式退出.
要破解此程式有幾個方法:1.讓isTrialExpired為false;2.清空Conversion_Load方法 3.清空TrialExpiredCheck方法. 我們現在以上面3個工具依此來實現一下:
Reflector:
Reflector必須有Reflexil外掛程式.用Reflector開啟程式找到Conversion_Load方法,選擇tool中的Reflexil:
現在我們需要在Conversion_Load方法中添加一句 isTrialExpired = false;的代碼, 操作如下:
修改Conversion_Load如下:
點"OK"按鈕,再Save As:
運行結果:
SimpleAssemblyExplorer:
開啟程式選擇class Editor:
bool isTrialExpired = true;這句代碼其實是兩句 bool isTrialExpired = false; isTrialExpired = true;第二句在構造方法執行,也對應這裡標出的前3個命令,我們只需刪除這3個指令就可以了.
運行結果:
CFF Explore:
用ILDASM開啟程式
找到TrialExpiredCheck方法,這裡我們做2個破解,1刪除 Application.Exit();2.刪除方法中的所有內容:
用CFF Explore開啟程式
在RAV處輸入20cc:
注意
IL_0018: /* 28 | (0A)00001A */ call void [System.Windows.Forms]System.Windows.Forms.Application::Exit()這句的地址是 28 1A 00 00 0A
把28 1A 00 00 0A全部改為00, 然後點修改按鈕
Save As:
運行結果:
如果要刪除TrialExpiredCheck方法的全部內容,既刪除如下指令:
需要把標記的部分全部改為00:
儲存後運行結果:
工具下載 有不妥的地方歡迎大家拍磚!
.net 破解的幾個常用工具