本人声明:本贴和其共享的软件只做于学习交流决无其他用意!如果有人恶意破解网吧系统所产生的后果由使用者承担!
现在的网吧,大部分都安装了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
最后,希望大家不要利用这种方法在网吧中破坏,或者“免费上网”,如果这样造成的后果自负哦!