欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

我在SMTH以前发过一篇,请进 (2千字)

我在SMTH以前发过一篇,请进 (2千字)


标  题: Winhex的破解,大家感兴趣么?新版本也不怕哟
发信站: BBS 水木清华站 (Fri Jun  9 09:47:56 2000)
 
winhex这个编辑器功能很强大,可以改ram。当初出来新版本而老注册号不能用时,
只好自己解决。好像从9.1*版本到现在的9.41,我都是这么做的,连跟踪都不用做,
找特征串,几分钟就搞定。有了注册码,不知大家还感不感兴趣,还是贴出来,
供参考。遇到新版本也可以试试。
要求:W32dasm,任意16进制编辑器,呵呵,比如老版本的winhex:)
 
下面以V9.25版为例,关键代码如下:
  :00448611 mov dword ptr [2*edi+0044B8A6], eax
  :00448618 jmp WINHEX.00448680
  :0044861A mov eax, dword ptr [0044D180]
  :0044861F call WINHEX.0042C608
  :00448624 cmp eax, dword ptr [0044D184]
1  :0044862A jne 0044864A ->*******此处让它跳到0044864E,即不用做下面的比较
                                  16进制751E改为EB22。4E-2C=22为跳的长度
 
  :0044862C cmp byte ptr [0044E95D], 00
2  :00448633 jne 0044864E ->*******就是上面要改的地址
  :00448635 mov al, 03
  :00448637 call WINHEX.0040B5AC
  :0044863C not ax
  :0044863F movzx eax, ax
  :00448642 cmp eax, dword ptr [0044D15C]
  :00448648 je 0044864E
  :0044864A xor eax, eax
  :0044864C jmp WINHEX.00448650
3  :0044864E mov al, 01  ->********跳到这里,要赋值了
4  :00448650 mov byte ptr [0044EE8B], al ->****记下0044EE8B,它就是整个程序
                                  判断的特征地址。如为1表示注册过,因此将程
                                  序中所有mov byte ptr [0044EE8B], 00都让它
                                  赋1
 
例如:
  :00438111 call WINHEX.004049F8
  :00438116 mov dword ptr [0044FCD4], eax
  :0043811B call WINHEX.0043679C
  :00438120 cmp byte ptr [edi+0000189F], 00
  :00438127 je 00438130
  :00438129 mov byte ptr [0044EE8B], 00    ***一个需要改的地方
  :00438130 push 00000000
  :00438132 mov eax, dword ptr [0044B00C]
 
 
上面是代码,拿到一个新版本,先用w32dasm反编译,然后:
1。搜索特征串mov dword ptr [2*edi+
  只有一个,找到下面的jne处,改为强制跳转,例如改为jmp 0044864e,
  跳转长度16进制一减就可以。
2。看0044864e处将al=1赋值给什么地址,如0044ee8b,记下
3。查找所有赋0语句,例如mov byte ptr [0044EE8B], 00
  很快找到一个,记下其16进制机器码,例如c6058bee440000,就不用找了。
  全部将其替换为c6058bee440001
4。随便一个16进制编辑器,修改即可。

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功