`
Zsb007
  • 浏览: 57533 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

od使用技巧

阅读更多
OD常用断点

常用断点(OD中)

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

拦截消息框:
bp MessageBox(A) 创建消息框
bp MessageBoxExA 创建消息框
bp MessageBoxIndirect(A) 创建定制消息框
bp IsDialogMessageW

拦截警告声:
bp MessageBeep 发出系统警告声(如果没有声卡就直接驱动系统喇叭发声)

拦截对话框:
bp DialogBox 创建模态对话框
bp DialogBoxParam(A) 创建模态对话框
bp DialogBoxIndirect 创建模态对话框
bp DialogBoxIndirectParam(A) 创建模态对话框
bp CreateDialog 创建非模态对话框
bp CreateDialogParam(A) 创建非模态对话框
bp CreateDialogIndirect 创建非模态对话框
bp CreateDialogIndirectParam(A) 创建非模态对话框
bp GetDlgItemText(A) 获取对话框文本 作用是得指定输入框输入字符串
bp GetDlgItemInt 获取对话框整数值

拦截剪贴板:
bp GetClipboardData 获取剪贴板数据

拦截注册表:
bp RegOpenKey(A) 打开子健
bp RegOpenKeyEx 打开子健
bp RegQueryValue(A) 查找子健
bp RegQueryValueEx 查找子健
bp RegSetValue(A) 设置子健
bp RegSetValueEx(A) 设置子健

功能限制拦截断点:
bp EnableMenuItem 禁止或允许菜单项
bp EnableWindow 禁止或允许窗口

拦截时间:
bp GetLocalTime 获取本地时间
bp GetSystemTime 获取系统时间
bp GetFileTime 获取文件时间
bp GetTickCount 获得自系统成功启动以来所经历的毫秒数
bp GetCurrentTime 获取当前时间(16位)
bp SetTimer 创建定时器
bp TimerProc 定时器超时回调函数
GetDlgItemInt 得指定输入框整数值
GetDlgItemText 得指定输入框输入字符串
GetDlgItemTextA 得指定输入框输入字符串

拦截文件:
bp CreateFileA 创建或打开文件 (32位)
bp OpenFile 打开文件 (32位)
bp ReadFile 读文件 (32位)
bp WriteFile 写文件 (32位)
GetModuleFileNameA
GetFileSize
Setfilepointer
fileopen
FindFirstFileA
ReadFile

拦截驱动器:
bp GetDriveTypeA 获取磁盘驱动器类型
bp GetLogicalDrives 获取逻辑驱动器符号
bp GetLogicalDriveStringsA 获取当前所有逻辑驱动器的根驱动器路径

★★VB程序专用断点★★

文件长度:RtcFileLen
bp __vbaFreeStr 对付VB程序重启验证
bp __vbaStrCmp 比较字符串是否相等
bp __vbaStrComp 比较字符串是否相等
bp __vbaVarTstNe 比较变量是否不相等
bp __vbaVarTstEq 比较变量是否相等
bp __vbaStrCopy 复制字符串
bp __vbaStrMove 移动字符串
bp MultiByteToWideChar ANSI字符串转换成Unicode字符串
bp WideCharToMultiByte Unicode字符串转换成ANSI字符串

=============== ================

密码常用中断
Hmemcpy (win9x专用)
GetDlgItemTextA
GetDlgItemInt
vb:
getvolumeinformationa  

vbastrcomp (trw)
Bpx __vbaStrComp (记得是两个 ’_’)
MSVBVM60!_vbastrcomp|sofice
MSVBVM50! | 

VBAI4STR 

Ctrl+D
bpx msvbvm60!__vbastrcomp do "d *(esp+0c)"(softice)
按几次F5出册码出来了。
bpx regqueryvalueexa do "d esp->8"(trw) 

vbaVarTstEq 判断是否注册的函数
(0042932F 66898580FEFFFF mov word ptr [ebp+FFFFFE80], ax
改为0042932F 66898580FEFFFF mov word ptr [ebp+FFFFFE80], bx)

时间常用中断
GetSystemTime
GetLocalTime
GetTickCount
vb:
rtcGetPresentDate //取得当前日期 

杀窗常用中断
Lockmytask (win9x专用)
bp ExitProcess 退出进程
DestroyWindow
mouse_event (鼠标中断)
postquitmessage (Cracking足彩xp,很有用^_^)
vb:
_rtcMsgBox 

ini文件内容常用中断
GetPrivateProfileStringA
GetPrivateProfileProfileInt 

key文件:
getprivateprofileint
ReadFile
CreateFileA 

注册表常用中断
RegQueryvalueA
RegQueryvalueExA 

狗加密中断
BPIO -h 278 R
BPIO -h 378 R  

其它常用函数断点
CreateFileA (读狗驱动程序),
DeviceIOControl,
FreeEnvironmentStringsA (对付HASP非常有效).
Prestochangoselector (16-bit HASP’s), ’7242’ 查找字符串 (对付圣天诺).具体含义参考下面的范例。

光盘破解中断
16:
getvolumeinformation
getdrivetype
int 2fh (dos)
32:
GetDriveTypeA
GetFullPathNameA
GetWindowsDirectoryA 

读磁盘中断
GETLASTERROR 返回扩充出错代码  

限制中断
EnableMenuItem 允许、禁止或变灰指定的菜单条目
EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰)  

不知道软盘中断是什么了?还有其它特殊中断,不知道其他朋友可否说一下了?
如ockmytask and mouse_event,这些就不是api32函数?
win9x 与 win2k进行破解,以上中断有部分已经不能用了?
不知道在win2k上,以上常用中断函数是什么了?
也就是问密码、时间、窗口、ini、key、注册表、加密狗、光盘、软盘、限制等!
了解常用的中断,对破解分析可以做到事半功倍!
请大家说一下!还有如何破解了某个软件时,一重启就打回原形?
不知道下什么中断了?可以分为三种情况:
1.比较可能在注册表中
2.比较在特殊文件(*.key *.ini *.dat等)
3.比较在程序中,没有任何错误提示或者反译也找不到明显字符(这个就是我想问的) 

还有一个是最难的,就是去掉水印!
也可以三种情况:
A.水印是位图文件(bitblt,creatBITMAP等位图函数)
B.水印是明显字符(反译分析)
C.水印不是明显字符(如:This a demo!它只是显示在另一个制作文件上,可是*.htm *.exe等)
C.才是最难搞,也是很多人想知道的!包括我在内。不知道高手们有何提示了? 

广告条:
可以分两种情况:
A.从创建窗口进手,可以用到movewindow或者其它窗口函数!
B.从位图进手,也可以用到bitblt或者其它位图函数!
最后可以借助一些现有工具(如:api27,vwindset,freespy之类的工具) 

那要看是在哪作的标记,通常是在注册表中留下信息!
在softice中就要用bpx regqueryvalueexa do "d esp->8"来中断看看,
在trw中要用bpx regqueryvalueexa do "d*(esp+8)"来中断看看。
还有的是在本目录下留下注册信息,常见的有.dat .ini .dll等等,
我是用bpx readfile来中断的,还有的是在windows目录下留下注册信息。
你可以借助专用的工具帮助你查看,入filemon等!  

vb: 

1、__vbaVarTstNe //比较两个变量是否不相等
2、rtcR8ValFromBstr //把字符串转换成浮点数
3、rtcMsgBox 显示一信息对话框
4、rtcBeep //让扬声器叫唤
5、rtcGetPresentDate //取得当前日期  

针对字串:
__vbaStrComp
__vbaStrCmp
__vbaStrCompVar
__vbaStrLike
__vbaStrTextComp
__vbaStrTextLike
针对变量:
__vbaVarCompEq
__vbaVarCompLe
__vbaVarCompLt
__vbaVarCompGe
__vbaVarCompGt
__vbaVarCompNe

VB的指针:
THROW  

VB DLL还调用了oleauto32.dll中的部分函数。oleauto32.dll是个通用的proxy/stub DLL,其每个函数的原型在<oleauto.h>中定义,并在MSDN中有详细描述。这也有助于理解VB DLL中的函数的作用。  

举例:  

LEA EAX, [EBP-58]
PUSH EAX
CALL [MSVBVM60!__vbaI4Var]  

执行call之前敲dd eax+8,得到的值为3;
执行完call之后,eax = 3
从而可知__vbaI4Var的作用是将一个VARIANT转换为I4(即一个长整数)。 

__vbaVarTstNe似乎是用来进行自校验的,正常情况下返回值为0。
已知适用的软件有:网络三国智能机器人、音乐贺卡厂。当这两个软件被脱壳后都回出错,网络三国智能机器人会产生非法*作,而音乐贺卡厂会告诉你是非法拷贝,通过修改__vbaVarTstNe的返回值都可让它们正常运行。
所以当您遇到一个VB软件,脱壳后无法正常运行,而又找不出其它问题时,可试试拦截这个函数,说不定会有用哦。8-) 

API不太知道,也许可以通过BIOS在98平台上读写扇区,不过在2000/NT下可以通过内黑ATAPI,HAL写扇区
machoman[CCG]
bpx WRITE_PORT_BUFFER_USHORT
NT/2000下这个断点,当edx=1f0h,时,可以看见EDI地址内数据为扇区位置数据,必须先 在winice.dat 中装入hal.sys 详细内容看ATAPI手册  

补充篇:
关于对VB程序和时间限制程序的断点
CrackerABC
先给出修改能正确反编译VB程序的W32DASM的地址:
======================
offsets 0x16B6C-0x16B6D  

修改机器码为: 98 F4
======================  

VB程序的跟踪断点:  

============
MultiByteToWideChar,
rtcR8ValFromBstr,
WideCharToMultiByte,
__vbaStrCmp
__vbaStrComp
__vbaStrCopy
__vbaStrMove
__vbaVarTstNe
rtcBeep
rtcGetPresentDate (时间API)
rtcMsgBox
=========  

时间限制断点:  

================
CompareFileTime
GetLocalTime
GetSystemTime
GetTimeZoneInformation
msvcrt.diffTime()
msvcrt.Time()
================  

一般处理

bpx hmemcpy
bpx MessageBox
bpx MessageBoxExA
bpx MessageBeep
bpx SendMessage 

bpx GetDlgItemText
bpx GetDlgItemInt
bpx GetWindowText
bpx GetWindowWord
bpx GetWindowInt
bpx DialogBoxParamA
bpx CreateWindow
bpx CreateWindowEx
bpx ShowWindow
bpx UpdateWindow 

bmsg xxxx wm_move
bmsg xxxx wm_gettext
bmsg xxxx wm_command
bmsg xxxx wm_activate  

时间相关
bpint 21 if ah==2A (DOS)
bpx GetLocalTime
bpx GetFileTime
bpx GetSystemtime  

CD-ROM 或 磁盘相关
bpint 13 if ah==2 (DOS)
bpint 13 if ah==3 (DOS)
bpint 13 if ah==4 (DOS)
bpx GetFileAttributesA
bpx GetFileSize
bpx GetDriveType
bpx GetLastError
bpx ReadFile
bpio -h (Your CD-ROM Port Address) R  

软件狗相关
bpio -h 278 R
bpio -h 378 R  

键盘输入相关
bpint 16 if ah==0 (DOS)
bpint 21 if ah==0xA (DOS)  

文件访问(自校验)相关
bpint 21 if ah==3dh (DOS)
bpint 31 if ah==3fh (DOS)
bpint 21 if ah==3dh (DOS)
bpx ReadFile
bpx WriteFile
bpx CreateFile
bpx GetFileSize
bpx SetFilePointer
bpx GetSystemDirectory  

INI 初始化文件相关
bpx GetPrivateProfileString
bpx GetPrivateProfileInt
bpx WritePrivateProfileString
bpx WritePrivateProfileInt  

注册表相关
bpx RegCreateKey
bpx RegDeleteKey
bpx RegQueryvalue
bpx RegCloseKey
bpx RegOpenKey  

注册标志相关
bpx cs:eip if EAX==0  

内存标准相关
bpmb cs:eip rw if 0x30:0x45AA==0  

显示相关
bpx 0x30:0x45AA do "d 0x30:0x44BB"
bpx CS:0x66CC do "? EAX"

查找窗口
FindWindowA

BP SetFilePointer

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) ;创建定制消息框
分享到:
评论

相关推荐

    OD实用技巧

    反汇编工具OllyDbg的一些实用技巧

    OD跟踪调试与技巧(外挂编)

    OD跟踪调试与技巧(外挂编),好东西不断有,我也正在学习OD内挂

    TRANSCAD使用技巧(od表、id转换、合并分区).doc

    TRANSCAD使用技巧(od表、id转换、合并分区).doc

    OC和OD门上拉电阻阻值的计算技巧

    OC和OD门上拉电阻阻值的计算技巧 很好用的

    TRANSCAD使用技巧(od表、id转换、合并分区).pdf

    交通网络分析软件TransCAD的重要使用技巧,进行交通规划模型编制的必备能力

    od脱壳软件破解工具

    动态追踪破解技巧-破解经典句式  以下是经典的比力组合,常常是注册码的浮现处,所以被称为破解经典句式  ⑴  mov eax,[ ] //这搭可所以地址,也可所以其它寄放器或mov eax [ ]  mov edx,[ ] //同上,...

    从零开始学OD OllyDbg

    最详尽的OD学习教程,全部共35章,由浅至深介绍OD的各种技巧。

    PCR引物设计及软件使用技巧

    有关PCR引物设计及软件使用技巧

    e语言-CE-OD基础课程

    9、特征码技术10、关于人造指针11、线程注入和简单的脚本外挂12、断点调试以及秒杀的CEAA13、认识OD14、寄存器的认识15、简单的调试一款游戏16...金子秒杀原理19、解密OD找封包Call的技巧20、本地Call的查找技巧资源作者...

    网上收集的OD入门教程

    网上面收集的一些OD的入门教程,有: ARTeam站上的10篇OD入门教程 OD教程未提及的重要技巧补充 OD入门系列图文详细教程-破解做辅助起步 OllyDBG入门系统教程(OD教程)chm格式 OllyDBG中断方法浅探

    Linux 101 hacks (2nd)

    Geekstuff唯一一本在官网免费下载的101 hacks系列,可以说是为其他的101 hacks的经典之一。本书中的很多技巧对于初学者提高系统...额外技巧8:OD 命令用法示例 额外技巧9:Gpg 命令用法示例 额外的技巧10:Tee 命令示例

    ollydbg--tut

    第一卷 OllyDBG入门系列第一篇 认识OllyDBG第二篇 字串参考第三篇 函数参考第四篇 内存断点第五篇 消息断点及RUN跟踪第七篇 汇编功能第二卷 OllyDBG技巧系列第一篇 OllyDBG实用技巧六...ODbgScript的注意事项和使用技巧

    详解可以用在VS Code中的正则表达式小技巧

    在本文中,我将向你展示五个易于学习的正则技巧,你可以立即在自己喜欢的文本编辑器中使用它们。 文本编辑器设置 虽然现在几乎所有的文本编辑器都支持正则表达式,但我在本教程中用的是 Visual Studio Code,不过你...

    spring基础进阶技巧200篇.zip

    《Spring基础进阶技巧...测试和调试:介绍了如何使用Spring进行单元测试和集成测试,以及调试技巧和工具的使用。 这本资源适合已经具备一定Spring基础知识的开发人员,希望进一步深入学习和应用Spring框架的技术人员。

    教你简简单单小技巧 破解上万注册码

    教你简简单单小技巧 破解上万注册码 网上有许多令人心动的共享软件,可惜的是它们或多或少都存在各种限制...

    python小技巧.doc

    以下是一些 Python 的小技巧,帮助你更好地使用 Python 进行编程: 使用列表推导式: 列表推导式是 Python 中创建列表的一种简洁方式。 python # 创建一个 1 到 10 的平方列表 squares = [x**2 for x in range(1,...

    asp.net下PageMethods使用技巧

    以前一直都是用WEB Project方式开发网站,在不少地方使用PageMethods,可以说是轻车熟路了。这次想尝试下WEB Site方式,因为修改代码后不用编译,再次刷新页面就能看到效果,这点比较方便。 可是我在使用PageMethods...

    node.js中Socket.IO的进阶使用技巧

    在上一篇博文Socket.IO中,我简要介绍了Socket.IO的基本使用方法并创建了一个简单的聊天室DEMO。本篇在入门篇的基础上,继续探讨Socket.IO的进阶用法。本篇将从配置、房间、事件等方面入手,介绍一些Socket.IO中实用...

    针对iOS开发的一些Xcode使用技巧小结

    一、快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n 新建项目 cmd + n 新建文件   视图 option + cmd + 回车 打开助理编辑器 cmd + 回车 显示主窗口 cmd + 0 导航窗口 option + cmd + 0 工具窗口 ...

    codeigniter使用技巧批量插入数据实例方法分享

    复制代码 代码如下:$sub_form = ... //使用事物批量导入有助于提高插入效率 $callStartTime = microtime(true); $this-&gt;db-&gt;trans_start(); foreach ( $form_datas as $item ) { $loop ++; $sub_form[] = $item

Global site tag (gtag.js) - Google Analytics