破解常用断点设置

  • 格式:doc
  • 大小:25.50 KB
  • 文档页数:4

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 [KERNEL32!K32Thk1632Prolog]CALL [......]<-- 由此跟踪进入菜单处理程序CALL [KERNEL32!K32Thk1632Epilog]拦截时间: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!rtcMsgBoxbpx msvbvm60!__vbaStrCmpbpx msvbvm60!__vbaStrCompbpx msvbvm60!__vbaStrCompVarbpx msvbvm60!__vbaStrTextCmpbpx msvbvm60!__vbaFileOpenbpx msvbvm60!__vbaInputFilebpx msvbvm60!__vbaFileSeekbpx msvbvm60!__vbaWriteFilebpx msvbvm60!__vbaFileClosebpx msvbvm60!rtcFileAttributesbpx msvbvm60!rtcFileDateTimebpx msvbvm60!rtcFileLenbpx msvbvm60!rtcFileLengthbpx msvbvm60!__vbaVarIntbpx msvbvm60!__vbaVarCmpGebpx msvbvm60!__vbaVarCmpGtbpx msvbvm60!__vbaVarCmpLebpx msvbvm60!__vbaVarCmpLtbpx msvbvm60!__vbaVarCmpNebpx msvbvm60!__vbaVarTextCmpEqbpx msvbvm60!__vbaVarTextCmpGebpx msvbvm60!__vbaVarTextCmpGtbpx msvbvm60!__vbaVarTextCmpLebpx msvbvm60!__vbaVarTextCmpLtbpx msvbvm60!__vbaVarTextCmpNebpx msvbvm60!__vbaVarTextTstEqbpx msvbvm60!__vbaVarTextTstGebpx msvbvm60!__vbaVarTextTstGtbpx msvbvm60!__vbaVarTextTstLebpx msvbvm60!__vbaVarTextTstLtbpx msvbvm60!__vbaVarTextTstNebpx msvbvm60!__vbaVarTstEqbpx msvbvm60!__vbaVarTstGebpx msvbvm60!__vbaVarTstGtbpx msvbvm60!__vbaVarTstLebpx msvbvm60!__vbaVarTstLtbpx 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,断在那儿的地址就是你机器的万能断点。