wtmrymwa 发表于 2010-8-21 17:16

破解常用断点设置

bpx hmemcpy                                  ;破解万能断点,拦截内存拷贝动作(注意:Win9x专用断点)
bpx Lockmytask                               ;当你用其它断点都无效时可以试一下,这个断点拦截按键的动作(Win9x专用)

实在找不到断点可以试下面的方法:
bmsg handle wm_gettext               ;拦截注册码(handle为对应窗口的句柄)
bmsg handle wm_command            ;拦截OK按钮(handle为对应窗口的句柄)

拦截窗口:
bpx CreateWindow                            ;创建窗口
bpx CreateWindowEx(A/W)            ;创建窗口
bpx ShowWindow                              ;显示窗口
bpx UpdateWindow                           ;更新窗口
bpx GetWindowText(A/W)                ;获取窗口文本

拦截消息框:
bpx MessageBox(A/W)                     ;创建消息框
bpx MessageBoxExA(W)                  ;创建消息框
bpx MessageBoxIndirect(A/W)          ;创建定制消息框
拦截警告声:
bpx MessageBeep                               ;发出系统警告声(如果没有声卡就直接驱动系统喇叭发声)
拦截对话框:
bpx DialogBox                                        ;创建模态对话框                                    
bpx DialogBoxParam(A/W)                     ;创建模态对话框
bpx DialogBoxIndirect                            ;创建模态对话框
bpx DialogBoxIndirectParam(A/W)      ;创建模态对话框
bpx CreateDialog                                 ;创建非模态对话框
bpx CreateDialogParam(A/W)                ;创建非模态对话框
bpx CreateDialogIndirect                     ;创建非模态对话框
bpx CreateDialogIndirectParam(A/W)    ;创建非模态对话框
bpx GetDlgItemText(A/W)                      ;获取对话框文本
bpx GetDlgItemInt                                 ;获取对话框整数值
拦截剪贴板:
bpx GetClipboardData                           ;获取剪贴板数据
拦截注册表:
bpx RegOpenKey(A/W)                        ;打开子健 ( 例:bpx RegOpenKey(A) if *(esp->8)=='****' )
bpx RegOpenKeyExA(W)                     ;打开子健 ( 例:bpx RegOpenKeyEx if *(esp->8)=='****' )
bpx RegQueryValue(A/W)                      ;查找子健 ( 例:bpx RegQueryValue(A) if *(esp->8)=='****' )
bpx RegQueryValueEx(A/W)                  ;查找子健 ( 例:bpx RegQueryValueEx if *(esp->8)=='****' )
bpx RegSetValue(A/W)                           ;设置子健 ( 例:bpx RegSetValue(A) if *(esp->8)=='****' )
bpx RegSetValueEx(A/W)                     ;设置子健 ( 例:bpx RegSetValueEx(A) if *(esp->8)=='****' )
注意:'****'为指定子键名的前4个字符,如子键为'Regcode',则'****'= 'Regc'

功能限制拦截断点:
bpx EnableMenuItem                              ;禁止或允许菜单项
bpx EnableWindow                                 ;禁止或允许窗口
bmsg hMenu wm_command                      ;拦截菜单按键事件,其中hMenu为菜单句柄
bpx K32Thk1632Prolog                           ;配合bmsg hMenu wm_command使用,可以通过这个断点进入菜单处理程序
                                                                  应用示例:
                                                                  CALL
                                                                  CALL [......]                  <-- 由此跟踪进入菜单处理程序
                                                                  CALL

拦截时间:
bpx GetLocalTime                                    ;获取本地时间
bpx GetSystemTime                                  ;获取系统时间
bpx GetFileTime                                       ;获取文件时间
bpx GetTickCount                                    ;获得自系统成功启动以来所经历的毫秒数
bpx GetCurrentTime                                  ;获取当前时间(16位)
bpx SetTimer                                             ;创建定时器
bpx TimerProc                                          ;定时器超时回调函数
拦截文件:
bpx CreateFileA(W)                                 ;创建或打开文件 (32位)
bpx OpenFile                                              ;打开文件       (32位)
bpx ReadFile                                             ;读文件         (32位)
bpx WriteFile                                             ;写文件         (32位)
bpx _lcreat                                                 ;创建或打开文件 (16位)
bpx _lopen                                                ;打开文件       (16位)
bpx _lread                                                    ;读文件         (16位)
bpx _lwrite                                                ;写文件         (16位)
bpx _hread                                                ;读文件         (16位)
bpx _hwrite                                                 ;写文件         (16位)
拦截驱动器:
bpx GetDrivetype(A/W)                               ;获取磁盘驱动器类型
bpx GetLogicalDrives                                    ;获取逻辑驱动器符号
bpx GetLogicalDriveStringsA(W)                  ;获取当前所有逻辑驱动器的根驱动器路径
拦截狗:
bpio -h 378(或278、3BC) R                        ;378、278、3BC是并行打印端口
bpio -h 3F8(或2F8、3E8、2E8) R               ;3F8、2F8、3E8、2E8是串行端口
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即可

找万能断点方法:
1.用OD载入目标程序Crackme(见上面附件)
2.Ctrl+N打开当前模块中的名称,或鼠标右键-->搜索-->当前模块中的名称;
选中USER32.DLL中的函数TranslateMessage。
3.在此函数上按鼠标右键-->"在导入中条件记录断点",在"条件"下面的框中
添入MSG==201(不工作就设为202),"表达"添MSG,选中"条件满足时暂停
程序",点"确定"。
4.F9运行程序,填入用户名,按Tab键跳到注册码框(别用鼠标点,记住用Tab键),填入假注册 麻,点"OK",OD将停在所下条件断点上
5.Alt+M打开内存镜像,鼠标右键-->搜索(或Ctrl+B),在弹出窗口中ASCII栏中
输入上面所填"假注册码",点"确定"搜索。
6.在找到的假注册码位置下"内存访问断点"。
7.F9,断在那儿的地址就是你机器的万能断点

abe520 发表于 2010-8-21 19:16

顶完再看~~~~~~~~~~

sgjf2010 发表于 2010-8-21 17:22

沙发 好像是重复发帖
页: [1]
查看完整版本: 破解常用断点设置