《OD常用断点及破解总结.docx》由会员分享,可在线阅读,更多相关《OD常用断点及破解总结.docx(8页珍藏版)》请在三一办公上搜索。
1、OD常用断点及破解总结黑鹰基地破解提高班破解总结课 讲师:三人行 QQ:926697 黑鹰基地破解提高班破解总结课 一些常规断点 拦截窗口: bp CreateWindow 创建窗口 bp CreateWindowEx(A/W) 创建窗口 bp ShowWindow 显示窗口 bp UpdateWindow 更新窗口 bp GetWindowText(A/W) 获取窗口文本 拦截消息框: bp MessageBox(A/W) 创建消息框 bp MessageBoxExA 创建消息框 bp MessageBoxIndirect(A/W) 创建定制消息框 拦截警告声: bp MessageBeep
2、 发出系统警告声(如果没有声卡就直接驱动系统喇叭发声) 拦截对话框: bp DialogBox 创建模态对话框 bp DialogBoxParam(A/W) 创建模态对话框 bp DialogBoxIndirect 创建模态对话框 bp DialogBoxIndirectParam(A/W) 创建模态对话框 bp CreateDialog 创建非模态对话框 bp CreateDialogParam(A) 创建非模态对话框 黑鹰基地破解提高班破解总结课 讲师:三人行 QQ:926697 bp CreateDialogIndirect 创建非模态对话框 bp CreateDialogIndirec
3、tParam(A/W) 创建非模态对话框 bp GetDlgItemText(A) 获取对话框文本 bp GetDlgItemInt 获取对话框整数值 拦截剪贴板: bp GetClipboardData 获取剪贴板数据 拦截注册表: bp RegOpenKey(A/W) 打开子健 bp RegOpenKeyEx(A/W) 打开子健 bp RegQueryValue(A/W) 查找子健 bp RegQueryValueEx(A/W) 查找子健 bp RegSetValue(A/W) 设置子健 bp RegSetValueEx(A/W) 设置子健 功能限制拦截断点: bp EnableMenuI
4、tem 禁止或允许菜单项 bp EnableWindow 禁止或允许窗口 拦截时间: bp GetLocalTime 获取本地时间 bp GetSystemTime 获取系统时间 bp GetFileTime 获取文件时间 bp GetTickCount 获得自系统成功启动以来所经历的毫秒数 bp GetCurrentTime 获取当前时间 黑鹰基地破解提高班破解总结课 讲师:三人行 QQ:926697 bp SetTimer 创建定时器 bp TimerProc 定时器超时回调函数 拦截文件: bp CreateFileA 创建或打开文件 (32位) bp OpenFile 打开文件 (32
5、位) bp ReadFile 读文件 (32位) bp WriteFile 写文件 (32位) bp GetPrivateProfileStringA (ini文件) 拦截驱动器: VB程序专用断点 bp _vbaStrCmp 比较字符串是否相等 bp _vbaStrComp 比较字符串是否相等 bp _vbaVarTstNe 比较变量是否不相等 bp _vbaVarTstEq 比较变量是否相等 bp _vbaStrCopy 复制字符串 bp _vbaStrMove 移动字符串 bp MultiByteToWideChar ANSI字符串转换成Unicode字符串 bp GetDriveTyp
6、eA 获取磁盘驱动器类型 bp GetLogicalDrives 获取逻辑驱动器符号 bp GetLogicalDriveStringsA 获取当前所有逻辑驱动器的根驱动器路径 黑鹰基地破解提高班破解总结课 讲师:三人行 QQ:926697 bp WideCharToMultiByte Unicode字符串转换成ANSI字符串 各分类语言程序的破解思路 C类 Point-H法 bp (断输入框) bp MessageBox(A/W)(断对话框) 字符串法 B、D类 DEDE、PE Explorer作为强有力的辅助工具 关键还是找按妞事件 Point-H法 bp (断输入框) bp Messag
7、eBoxA(断对话框) 字符串法 FormCreate V类 VBExplorer、GetVBRes、SmatCheck作为强有力的辅助工具 关键还是找按妞事件 GetDlgItem/GetWindowText(A/W)/GetWindowTextLength(A/W) GetDlgItem/GetWindowText(A/W)/GetWindowTextLength(A/W) 黑鹰基地破解提高班破解总结课 讲师:三人行 QQ:926697 bp rtcMsgBox(断对话框) E类 有E-Code Explorer作为辅助工具查找按钮事件 ECode法 需要注意的: 1、 2、 时刻不要忘记
8、经典组合 对于有注册错误/正确提示、未注册一启动或者关闭就跳出个注册框或者提示框、未注册一启动或者关闭就打开网页链接、未注册就功能使用限制、未注册就日期限制、未注册标题上有未注册或者试用字样的等等程序,大家就要想到可以通过找到这一类判断,然后转存跟踪! 3、 4、 5、 6、 要警惕使用自带DLL/DLL函数来判断是否注册的程序,如38课 要警惕CrC型的比较追码 要警惕两类IceLicense保护的破解 要警惕使用壳的注册机制的软件的破解,比如:使用了Armadillo、ASProtect注册机制的软件 重启验证 时代在变,技术在发展,可以说,现在80%-90%的软件基本都是重启验证类型的
9、黑鹰基地破解提高班破解总结课 讲师:三人行 QQ:926697 1、 注册表类型 Bpx RegOpenKeyA(W) Bpx RegOpenKeyExA(W) 2、 INI文件类型(*.reg/*.ini) Bpx GetPrivateProfileStringA 3、 其他文件类型(*.dat/*.lic) Bpx CreateFileA(W) Bpx ReadFile 4、 DLL文件操作类型 没有什么有效的拦截函数。不妨,试一下Bpx CreateFileA(W).余下的就是通过你的经验去判断了,例如:35课 注意:建议使用Bpx断点,这样,比较快捷、准确。尚若Bpx失效,再尝试bp
10、方便断点设置的有以下3个断点插件,APIBreak中国版(不带Point-H),APIBreak英文版(带Point-H)、+BP-Olly,这3个文件我都拷贝给大家,大家放到OD的Plugin目录即可. 其实,大家在课程里面也有看到,在很多程序破解方法里面显示,上面介绍的重启验证的断点效果和那些分类程序语言里面介绍的方法达到的效果基本一样,殊途同归!这就是我们提到的多思路破解。 用多种思路思考某一个问题有助于提高我们的思维敏捷性和所谓的直觉(第六黑鹰基地破解提高班破解总结课 讲师:三人行 QQ:926697 感) 不脱壳破解的思路 这个也叫SMC/Iniline Patching 对于,压缩
11、壳,只需要在跳转向OEP处Patch即可,需要找到空闲处(不被重定位) 对于,加密壳、需要处理的很多,比如Crc校验,壳的完整性校验,内存校验等 每一种加密壳的Iniline Patching的手段方法各异,大家可以在有基础的时候自行深入研究,我个人开的破解班里面介绍得要多一些。 说明: 大家可能发现了,在这一期破解班里并没有提及算法分析课程,原因如下: 1、 通过对我个人开设的学员的了解(跟他们接触多),他们的代码分析能力还不是很够(他们的基础和能力整体应该高于黑鹰会员),没有代码分析能力,算法分析从何谈起呢。况且,算法分析不是一朝一夕的事情,并不可能通过几节课程来达到目的。但是,追码和爆破
12、是提高代码分析能力的最有效快速的途径,所以,大家,要注重代码分析能力。 2、 算法分析不太好使用语音动画的形式来表述,文章倒是算法分析的最好的方式。 出于以上考量,本期破解班并未开设算法分析课时,这是为大家考量,若开设了,你们看不懂=白搭,还浪费的大家的学习时间和我的教学时间。后期,可能根黑鹰基地破解提高班破解总结课 讲师:三人行 QQ:926697 据黑鹰高层决定,算法分析可能作为专门一期课程。 去nag框的方法 1、 若是Delphi&BCB程序,可以通过FormCreate法查找到FormCreate,再单步跟踪,找到窗口的调用CALL,一般它的具体形式是call dword ptr d
13、s:edx+E8 2、 OD载入程序后,单步跟踪,找到窗口的调用CALL 注意看第37课 两个经典方法需要注意的 1、 Point-H法 此法类似下断点bp GetWindowText(A/W),但是,在某些Point-H断不下来的情况下,bp GetWindowText(A/W)却可以断下来。Point-H能够断下来的,bp GetWindowTextA基本上都可以顺利断下。 2、 转存跟踪法 方法很好用,很经典,大家要好好利用 再就是到底是byte/word/Dword断点,一般情况下是byte,其他特殊情况大家临场判断。 黑鹰基地破解提高班破解总结课 讲师:三人行 QQ:926697 后记总结 破解思路方法介绍很多,大家,要灵活运用。灵活的前提是:多练。所以,大家就多找点程序来玩玩吧. 再一次强调几点 1、 我总结的破解里面的几个经典词汇:按钮事件/事件按钮、断得下来/断得正确、代码回嗍/回嗍代码 2、 不要忘记Delphi的经典组合mov eax,ebx(mov eax,ecx/mov al,1);以及会在Delphi或者其他语言程序里面出现的xor eax,eax(or eax,eax). 3、 多逛逛破解论坛,国内推荐( 4、 5、 善于使用几种辅助工具 有问题上短训班论坛破解版块提问,多看看置顶帖。