winhex 的三个用途(图文)

[复制链接]

该用户从未签到

2

主题

26

回帖

58

积分

[INTOHARD]班长

Rank: 2

积分
58
发表于 2008-12-4 09:02:25 | 显示全部楼层 |阅读模式
我爱用winhex
  WinHex是什么?
  我们来拆字:WinWindowsHex十六进制。
  现在清楚了吧,WinHex是一款Windows系统下的十六进制编辑软件。


  十六进制编辑软件有什么用?

使用一
  将文本复制为C语言代码。
  下面这些是C语言的代码
  unsigned char data[25] = {
         0x48, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6E, 0x66, 0x6F,
         0x72, 0x6D, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2E, 0x00
  };
  原文是什么?
  Here is the information.
  当然,原文也可以是中文。


                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
1.jpg (60.02 KB)
2008-3-11 15:08




  再配合系统自带的计算器,你就可以知道每个字符的二进制值了:



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
2.jpg (56.12 KB)
2008-3-11 15:08




  在复制菜单里,还有复制为PASCAL代码的操作。
  这个功能似乎没什么用,因为这样一来,代码就变得缺乏可读性。
  但有时候,就是需要来点玄乎,不是么?
  第一个应用就这样讲完。玄乎。


使用二
  破解软件。
  如果你会汇编,那么读懂反汇编的代码就应该没有什么问题的吧?
  有些软件会判断预先输入的数值是否符合它的要求来进行用户身份校验。
  用C代码形如:
  int check=0;
  int register=0;
  …
  if (check==”registered”)
  {
  register=1;
  }
  if(register==1)
  {
     //程序的所有操作无限制
  }
  else
  {
     //程序的部分操作有限制
  }
  这样的话,你只要将register的值在判断是否为1前,直接改成1,就等于注册成功了。或者在此之前修改check的值。
这只是针对简单的程序的破解。(以前瞎猫碰着死耗子,解决了一个通过调用日期来进行验证是否有效的软件:Omni Httpd Professional。那个软件是免费的,不过每过30天就会过期,强制你去主页下载新的版本。后来它开始不支持WIN98了,所以我就自己试了一下,解决了问题。)
  题外话了。
  那么,反汇编破解跟这个WinHex有什么关系呢?



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
3.jpg (25.88 KB)
2008-3-11 15:08




  在上面的图片里,我们可以看到4D,5A,90,0003,0000,000400,在下面的图片里也有。



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
4.jpg (33.66 KB)
2008-3-11 15:08




  如果你知道怎么修改汇编指令,那就直接在WinHex里改吧!(限于能力,而不是篇幅,我就不讲汇编了。)


  但是改了有效么?在记事本里不可以改么?
  在记事本里不可以!

  记事本保存文件的时候,是以文本文件方式保存的,而程序则需要用二进制方式保存,WinHex就是这样。
  我们来试试!
  我有一个小程序(为了测试,再复制一个),
  用记事本打开,添加文本,然后保存,



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
6.jpg (9.88 KB)
2008-3-11 15:08




  再运行,就这样了:



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
7.jpg (9.25 KB)
2008-3-11 15:08




  下面我们试试WinHex



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
8.jpg (30.02 KB)
2008-3-11 15:08




  保存后,再运行:



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
5.jpg (15.05 KB)
2008-3-11 15:08




  没问题!
  用记事本打开,还是可以看到程序末尾添加的信息:



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
9.jpg (9.95 KB)
2008-3-11 15:08


  接下来,我们可以看一个实例:http://hi.baidu.com/singlestudio/blog/item/ac22bafc99a86b80b901a0a3.html

  另外,WinHex可以:



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
10.jpg (19.99 KB)
2008-3-11 15:08




  这是可以直接编辑运行中的程序的数据的,也要用到反汇编的知识。
  用这个方法,我找到了自己的软件的FTP地址和登陆密码(至于怎么找,就靠运气了):



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
11.jpg (6.99 KB)
2008-3-11 15:08




使用三
  文件恢复(谨慎使用!)
  文件恢复软件有很多,网上搜一下能搜一大堆。
  WinHex有一个磁盘编辑功能:



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
12.jpg (17.79 KB)
2008-3-11 15:08


  在WIN98的时候,你可以用这个软件直接执行反删除操作,很简单,利用delete的原理,直接修改磁盘数据就可以达到undelete的效果了,不过XP下,对硬件的直接访问是被禁止的,所以不能直接反删除了。
但可以进行恢复操作。
  不过,我现在用的10.65 SR-7不支持NTFS文件系统的恢复操作,另外,恢复的效果也不是很好,常常看得见目录(其它专业恢复软件看不到的),恢复不了文件,空欢喜。



                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
recovered.gif (351.25 KB)
2008-3-11 15:08


  Recover4All的效果:

                               
登录/注册后可看大图

                               
登录/注册后可看大图

该用户从未签到

0

主题

9

回帖

21

积分

[INTOHARD]工兵

Rank: 1

积分
21
发表于 2008-12-4 09:46:59 | 显示全部楼层
不错,长见识了,俺不懂汇编(38:
  • TA的每日心情
    开心
    2015-2-12 09:10
  • 签到天数: 1 天

    [LV.1]布衣百姓

    26

    主题

    646

    回帖

    1491

    积分

    [INTOHARD]营长

    QQ 82997644

    Rank: 6Rank: 6

    积分
    1491
    QQ
    发表于 2008-12-4 09:53:47 | 显示全部楼层
    呵呵        (38: (38:
  • TA的每日心情
    开心
    2012-12-11 08:13
  • 签到天数: 1 天

    [LV.1]布衣百姓

    14

    主题

    1421

    回帖

    947

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    947
    发表于 2008-12-4 11:16:33 | 显示全部楼层
    好文章!以后多多写出来点。

    该用户从未签到

    6

    主题

    576

    回帖

    443

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    443
    发表于 2008-12-4 12:19:37 | 显示全部楼层
    版主研究的很多呀,讲的很是深刻,支持一下

    该用户从未签到

    18

    主题

    559

    回帖

    685

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    685
    发表于 2008-12-4 13:58:05 | 显示全部楼层
    谢拉!不过我没有那低版本的

    该用户从未签到

    0

    主题

    180

    回帖

    119

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    119
    发表于 2008-12-4 16:35:11 | 显示全部楼层
    不错的介绍WINHEX的资料,很不错

    该用户从未签到

    1

    主题

    14

    回帖

    35

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    35
    发表于 2008-12-4 16:46:16 | 显示全部楼层
    不错,winhex的用途还真不少,可惜我只懂点皮毛.希望版主多发点这样的文章,好让我们这菜鸟知道什么叫博大精深和天高地厚[s:38]
  • TA的每日心情
    开心
    2013-2-15 10:49
  • 签到天数: 1 天

    [LV.1]布衣百姓

    0

    主题

    274

    回帖

    190

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    190
    QQ
    发表于 2008-12-5 17:51:20 | 显示全部楼层
    好资料,不错,谢楼主.[s:190]
  • TA的每日心情
    开心
    2013-2-15 10:49
  • 签到天数: 1 天

    [LV.1]布衣百姓

    0

    主题

    274

    回帖

    190

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    190
    QQ
    发表于 2008-12-5 17:51:55 | 显示全部楼层
    好资料,不错,谢楼主.[s:190]
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表