欢迎来到福编程网,本站提供各种互联网专业知识!

爆破的一般思路与断点的设置

发布时间:2016-08-29 作者:佚名 来源:互联网
破顾名思义就是暴力修改程序的代码来达到破解的目的当然根据共享软件的注册方式我们可以对症下药比如说没有注册的软件有功能限制、使用次数限制、使用日期限制等我们就可以分别对待了!我们只需要解除这些限制自然就达到了破解的目的了!暴力破解的一
破 顾名思义就是暴力修改程序的代码来达到破解的目的

当然根据共享软件的注册方式我们可以对症下药 比如说没有注册的软件有功能限制、使用次数限制、使用日期限制等

我们就可以分别对待了!我们只需要解除这些限制自然就达到了破解的目的了! 暴力破解的一般流程

1、有壳者自然得先脱壳

2、试注册看看有何提示,让我们抓抓小尾巴

3、若有提示,用OD动态调试器或者是W32静态调试器查找错误提示

4、来到错误提示处分析代码找关键CALL、关键跳!

5、修改代码

6、复制保存! 如果没有提示,我们可以使用很多断点来完成这些操作

现今软件的保护方式有

1、序列号保护方式(注册码=f(机器码/序列号))

2、警告(NAG)窗口

3、时间限制/次数限制。。

4、菜单功能限制

5、Key File保护

6、CD-Check

7、只运行一个实例 一些软件通过把注册码保存在.ini文件、注册表、.dat文件等等方式进行注册验证 常见断点设置(后面带"*" 的为常用的) 字符串

bp GetDlgItemTextA(W) ****

bp GetDlgItemInt

bp GetWindowTextA(W) ****

bp GetWindowWord

bmsg XXXX wm_gettext 对话框

bp MessageBeep

bp MessageBoxA(W) ****

bp MessageBoxExA(W)

bp DialogBoxParamA(W)

bp GreateWindowExA(W)

bp ShowWindow

bp UpdateWindow

bmsg XXXX wm_command 对于VB的程序用bp MessageBoxA是无法断下来的,bp rtcMsgBox 注册表相关

bp RegCreateKeyA(W)

bp RegDeleteKeyA(W)

bp RegQueryValueA(W)

bp RegCloseKey

bp RegOpenKeyA(W) **** 时间相关

bp GetLocalTime

bp GetFileTime

bp GetSystemtime CD-ROM或磁盘相关

bp GetFileAttributesA(W)

bp GetFileSize

bp GetDriveType

bp GetLastError

bp ReadFile

bpio -h (CD-ROM端口地址) R 软件狗

bpio -h 278R

bpio -h 378R INI初始化文件相关

bp GetPrivateProfileStringA ****

bp GetPrivateProfileInt

bp WritePrivateProfileString

bp WritePrivateProfileInt 文件访问相关

bp ReadFile

bp WriteFile

bp CreateFileA ****

bp SetFilePointer

bp GetSystemDirectory

VB程序专用断点:

bpx msvbvm60!rtcMsgBox

bpx msvbvm60!__vbaStrCmp

bpx msvbvm60!__vbaStrComp

bpx msvbvm60!__vbaStrCompVar

bpx msvbvm60!__vbaStrTextCmp

bpx msvbvm60!__vbaFileOpen

bpx msvbvm60!__vbaInputFile

bpx msvbvm60!__vbaFileSeek

bpx msvbvm60!__vbaWriteFile

bpx msvbvm60!__vbaFileClose

bpx msvbvm60!rtcFileAttributes

bpx msvbvm60!rtcFileDateTime

bpx msvbvm60!rtcFileLen

bpx msvbvm60!rtcFileLength

bpx msvbvm60!__vbaVarInt

bpx msvbvm60!__vbaVarCmpGe

bpx msvbvm60!__vbaVarCmpGt

bpx msvbvm60!__vbaVarCmpLe

bpx msvbvm60!__vbaVarCmpLt

bpx msvbvm60!__vbaVarCmpNe

bpx msvbvm60!__vbaVarTextCmpEq

bpx msvbvm60!__vbaVarTextCmpGe

bpx msvbvm60!__vbaVarTextCmpGt

bpx msvbvm60!__vbaVarTextCmpLe

bpx msvbvm60!__vbaVarTextCmpLt

bpx msvbvm60!__vbaVarTextCmpNe

bpx msvbvm60!__vbaVarTextTstEq

bpx msvbvm60!__vbaVarTextTstGe

bpx msvbvm60!__vbaVarTextTstGt

bpx msvbvm60!__vbaVarTextTstLe

bpx msvbvm60!__vbaVarTextTstLt

bpx msvbvm60!__vbaVarTextTstNe

bpx msvbvm60!__vbaVarTstEq

bpx msvbvm60!__vbaVarTstGe

bpx msvbvm60!__vbaVarTstGt

bpx msvbvm60!__vbaVarTstLe

bpx msvbvm60!__vbaVarTstLt

bpx msvbvm60!__vbaVarTstNe

注意:VB程序仍然可以使用普通API函数,只要函数“最终”CALL了这个函数

上面的断点对应VB6程序,如果是VB5程序则将msvbvm60改成msvbvm50即可

相关推荐