【原创】网吧的管理系统破解

本人声明:本贴和其共享的软件只做于学习交流决无其他用意!如果有人恶意破解网吧系统所产生的后果由使用者承担!


现在的网吧,大部分都安装了pubwin4,用起来有很多限制,总之很不爽啊!!
  虽然,网上有很多工具来破掉Punwin,但是大多版本过时或者有诸多限制
有的甚至暗藏木马,所以在下就在这里介绍一种方法,破解网吧的限制,使得
上网更加自由,即使你是初学破解的人,或者从来没有接触过软件破解知识也可以完成,只要你一步步跟着做就可以了。当然,高手对在下的方法自然不屑一看,还望不要见笑。
  好了,现在就开始。
  首先,了解一下背景,大家有可能知道Pubwin的一些版本是采用明码比较的方式处理密码,所以在网上下载一个winhex就可以搞定,具体方法可以上网找一下,不过,现在的版本可不是简单的明码比较了。
  笔者的测试环境是(win98+Pubwin4.3.0.1),这个版本把密码进行加密并存放在内存的某个地方,所以用上面的方法就不灵了。笔者通过跟踪,发现这个版本的pubwin的处理方式只是把用户输入的密码进行加密,并且调用MSVCRT_mbscmp函数对加密后的字串和内存中的正确的密码加密字串相比较,如果相同就继续执行,否则,就跳出一个消息框,提示用户输入的密码错误。
  好了,知道了以上的知识,就可以进行破解了
  1。从网上下载TRW2000
  http://www.pediy.com/tools/Debugger....2X/trw1.23.zip

   按Browse,选择Pubwin4.exe,然后load,装载pubwin4。
   
  2。设置断点:
   输入,bpx messageboxa,回车。
  3。按Ctrl+N,返回windows,打开“管理工具”--》“系统设置”随意在输
   入密码栏内输入几个数字,并点“确定”。
  4。TRW2000拦截断点,形如下:
   0167:BFC041B7 C20400   RET 04
   USER32!MessageBoxA
   0167:BFC041BA 55   PUSH EBP
   0167:BFC041BB 8BEC   MOV   EBP,ESP
   0167:BFC041BD 6A00   PUSH   BYTE +00
   0167:BFC041BF FF7514   PUSH   DWORD [EBP+14]
   0167:BFC041C2 FF7510   PUSH   DWORD [EBP+10]
   0167:BFC041C5 FF750C   PUSH   DWORD [EBP+0C]
   0167:BFC041C8 FF7508   PUSH   DWORD [EBP+08]
   0167:BFC041CB E84CECFFFF  CALL   `USER32!MessageBoxExA`
   0167:BFC041D0 5D   POP  EBP
   此时,按F12键,发现返回Windows界面,点“确定”后,又返回TRW2000
   再按一次F12和F10键,来到如下地址:
   0167:0040F479 52   PUSH EDX
   0167:0040F47A 6850154300  PUSH   DWORD 00431550
   0167:0040F47F FF1508594200 CALL   `MSVCRT!_mbscmp`
   0167:0040F485 83C408   ADD   ESP,BYTE +08
   0167:0040F488 85C0   TEST   EAX,EAX
   0167:0040F48A 7509   JNZ   0040F495
   0167:0040F48C 8BCE   MOV   ECX,ESI
   0167:0040F48E E8730C0100  CALL   `MFC42!ord_000012F5`
   0167:0040F493 EB4E   JMP   SHORT 0040F4E3
   0167:0040F495 6A30   PUSH   BYTE +30
   0167:0040F497 6810FE4200  PUSH   DWORD 0042FE10
   0167:0040F49C 68F8FD4200  PUSH   DWORD 0042FDF8
   0167:0040F4A1 8BCE   MOV   ECX,ESI
   0167:0040F4A3 E8520C0100  CALL   `MFC42!ord_00001080`
   发现地址形如:XXXX:0040XXXX,回到程序领空,点代码窗口,并向上
   翻屏,果然发现`MSVCRT!_mbscmp`函数,于是,在此处设置内存断点,
  在命令窗口输入:
  bpm 40F485 X do "r eax 00000000"
  (40F485这个地址要视,不同情况而定,即只要在MSVCRT!_mbscmp的下一句

设置断点即可)
  分析一下,程序在CALL MSVCRT!_mbscmp这一行对加密的密码字串和用户输入的密码比较,如果相同返回0,否则返回-1(FFFFFFFF),返回值放入eax中

所以只要把放在eax中的值改为0,那不就万事OK了。
  在设置了以上断点后,按Ctrl+N ,返回windows,打开“管理工具”--》“系统设置”随意在输入密码栏内输入几个数字,并点“确定”。返回了
TRW2000界面,按F5键,看看,是不是出现了系统设置界面?
  至此,整个破解过程就完成了,如果你是高手当然不会放过上面的密码加密
过程了,仔细分析以下,不难得出真正的密码,在下的这个方法只不过是“爆破法”,目的是让初学者从实例中了解破解的过程,又不乏实用性。
  在下这是第一次写软件的破解过程,选的例子也很简单,还望不要见笑,如果你对一些东西还不了解,建议你看看“看雪学院”的教程:
  http://www.pediy.com/tutorial/Catalog.htm
  最后,希望大家不要利用这种方法在网吧中破坏,或者“免费上网”,如果这样造成的后果自负哦!
最后编辑2005-08-09 18:08:58