按钮事件的找法

按钮事件的找法

调试软件,最重要的就是下断点,那么如何下断点,就是一门重要的技巧.比如:弹提示框,就下MessageBoxA,注册表的,就下RegOpenKeyA等等.当然,能直接下到按钮事件,当然更为方便,因为到了按钮事件后,很快就会到达核心代码,离你的破解也就不远了.本文就总结一下各类语言找按钮事件的方法,当然也可以借助工具,如VBexplorer等等.

HashAlgorithm 文件比较

HashAlgorithm 文件比较

在用C#对文件进行copy操作的时候,为了保险起见,我们应比较一下copy后的内容是否与原内容完全一致。如果是比较文件所有内容,那就有点out啦。现在我们就用签名方式来检查一下吧。 一、HashAlgorithm类 HashAlgorithm类提供了两种Hash算法,可以用来验证文件是否被修改过。算法包括SHA1,SHA256,SHA384,SHA512和MD5。 二、给某个文件用MD5方式签名 public static string GetSignature(string strFileName) { try { if (!File.Exists(strFileName)) return string.Empty; //声明HashAlgorithm对象,MD5可以改为SHA1,SHA512等 using(HashAlgorithm hash = HashAlgorithm.Create("MD5")) { //开启档案 using (Stream ms = new FileStream(strFileName, FileMode.Open)) { //产生加密的密码 byte[] myHash = hash.ComputeHash(ms); //返回字符串 return BitConverter.ToString(myHash); } } } catch (System.Exception ex) { //WriteSystemMessage(ex.Message); } return string.Empty; } 三、对字符串加密 HashAlgorithm ha = HashAlgorithm.Create("MD5"); byte[] byData = Encoding.Default.GetBytes(strTest); byte[] myHash = ha.ComputeHash(byData); return BitConverter.ToString(myHash);

调试

调试

被调试时,进程的运行速度大大降低,例如,单步调试大幅降低恶意代码的运行速度,所以时钟检测是恶意代码探测调试器存在的最常用方式之一。有如下两种用时钟检测来探测调试器存在的方法。 记录一段操作前后的时间戳,然后比较这两个时间戳,如果存在滞后,则可以认为存在调试器。 记录触发一个异常前后的时间戳。如果不调试进程,可以很快处理完异常,因为调试器处理异常的速度非常慢。默认情况下,调试器处理异常时需要人为干预,这导致大量延迟。虽然很多调试器允许我们忽略异常,将异常直接返回程序,但这样操作仍然存在不小的延迟。