切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
VB
OD常用断点,里面有VB绝对万能断点,杀VB程序专用
OD常用断点,里面有VB绝对万能断点,杀VB程序专用
2019-12-22
VB
前端之家
前端之家
收集整理的这篇文章主要介绍了
OD常用断点,里面有VB绝对万能断点,杀VB程序专用
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
常用断点(OD中)
拦截
窗口: bp CreateWindow 创建窗口 bp CreateWindowEx(A) 创建窗口 bp ShowWindow
显示
窗口 bp UpdateWindow 更新窗口 bp GetWindowText(A)
获取
窗口文本
拦截
消息框: bp Message
Box
(A) 创建消息框 bp Message
Box
ExA 创建消息框 bp Message
Box
Indirect(A) 创建定制消息框 bp IsDialogMessageW
拦截
警告声: bp MessageBeep 发出警告声(如果没有声卡就直接驱动系统喇叭发声)
拦截
对话框: bp Dialog
Box
创建模态对话框 bp Dialog
Box
Param(A) 创建模态对话框 bp Dialog
Box
Indirect 创建模态对话框 bp Dialog
Box
IndirectParam(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: _rtcMsg
Box
ini
文件
内容
常用中断 GetPrivateProfileStringA GetPrivateProfileProfileInt key
文件
: getprivateprofileint ReadFile CreateFileA
注册
表常用中断 RegQueryvalueA RegQueryvalueExA 狗中断 BPIO -h 278 R BPIO -h 378 R 其它常用
函数
断点 CreateFileA (读狗驱动程序),DeviceIOControl,FreeEnvironmentStringsA (对付HASP非常有效). Pres
toch
angoselector (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之类的工具) 葡萄虽无树,藤生棚中秧。 人处凡尘中,岂不惹尘埃? 小球[CCG] 那要看是在哪作的
标记
,通常是在
注册
表中留下信息! 在softice中就要用bpx regqueryvalueexa do "d esp->8"来中断看看, 在trw中要用bpx regqueryvalueexa do "d*(esp+8)"来中断看看。 还有的是在本目录下留下
注册
信息,常见的有.dat .ini .dll等等, 我是用bpx readfile来中断的,还有的是在目录下留下
注册
信息。 你可以借助专用的工具帮助你查看,入filemon等! vb: 1、__vbaVarTstNe //比较两个变量是否不相等 2、rtcR8ValFromBstr //把字符串转换成浮点数 3、rtcMsg
Box
显示
一信息对话框 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) rtcMsg
Box
========= 时间限制断点: ================ CompareFileTime GetLocalTime GetSystemTime GetTimeZoneInformation msvcrt.diffTime() msvcrt.Time() ================ 一般处理 bpx hmemcpy bpx Message
Box
bpx Message
Box
ExA bpx MessageBeep bpx SendMessage bpx GetDlgItemText bpx GetDlgItemInt bpx GetWindowText bpx GetWindowWord bpx GetWindowInt bpx Dialog
Box
ParamA 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 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 Message
Box
(A/W) ;创建消息框 bpx Message
Box
ExA(W) ;创建消息框 bpx Message
Box
Indirect(A/W) ;创建定制消息框
拦截
警告声: bpx MessageBeep ;发出系统警告声(如果没有声卡就直接驱动系统喇叭发声)
拦截
对话框: bpx Dialog
Box
;创建模态对话框 bpx Dialog
Box
Param(A/W) ;创建模态对话框 bpx Dialog
Box
Indirect ;创建模态对话框 bpx Dialog
Box
IndirectParam(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!rtcMsg
Box
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即可
上一篇:VB.NET – IIF(,,) – 两个“边”进
下一篇:在VB程序寻找下断点地址的有效方法
猜你在找的VB相关文章
VB Format函数
Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 --------------...
作者:前端之家 时间:2020-08-07
vb6/ASP FORMAT MM/DD/YYYY
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTi...
作者:前端之家 时间:2020-08-07
VB.net 捕获项目全局异常
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的...
作者:前端之家 时间:2020-08-07
实现用VB.Net/(C#)开发K/3 BOS 插件的真正可行方法
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,...
作者:前端之家 时间:2020-08-07
vb,wps,excel 分裂
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m...
作者:前端之家 时间:2020-08-07
VB.NET MYSQL DataGridView 增删改查(INSERT,SELECT,UPDATE,DELETE)
Imports MySql.Data.MySqlClient Public Class Form1 ‘ GLOBAL DECLARATIONS ...
作者:前端之家 时间:2020-08-07
VB.NET 使用ADODB連接資料庫滙出到EXCEL
‘導入命名空間 Imports ADODB Imports Microsoft.Office.Interop Private Sub A1() Di...
作者:前端之家 时间:2020-08-07
vb.net 多线程運用 ping
Imports System.IO Imports System.Threading Imports System.Diagnostics Public Class F...
作者:前端之家 时间:2020-08-07
VB等待进程结束
VB运行EXE程序,并等待其运行结束 参考:https://blog.csdn.net/useway/article/details/5...
作者:前端之家 时间:2020-08-07
vb中去掉string数组的一部分
今天碰到一个问题,登陆的时候,如果不需要验证手机号为空,则不去验证手机号 因为登陆的时...
作者:前端之家 时间:2020-08-07
编程分类
PHP
Java
Java SE
Python
C#
C&C++
Ruby
VB
asp.Net
Go
Perl
netty
Django
Delphi
Jsp
.NET Core
Spring
Flask
Springboot
SpringMVC
Lua
Laravel
Mybatis
Asp
Groovy
ThinkPHP
Yii
swoole
最新文章
• VB Format函数
• vb6/ASP FORMAT MM/DD/YYY
• VB.net 捕获项目全局异常
• 实现用VB.Net/(C#)开发K/3
• vb,wps,excel 分裂
• VB文件 hash 查看器
• VB.NET MYSQL DataGridVie
• VB.NET 使用ADODB連接資料
• vb.net 多线程運用 ping
• VB等待进程结束
热门标签
更多 ►
文件时间
pythonm
相等性
PHP Warning
时间问题
问题解决
pcntl_signal
采样点
wav模块
动态文本
调用频率限制
对外暴露
多个访问请求
更新数据表
模型结构
type()方法
比较速度
手写体
sobel算子
保存模型
Image类
nn.Conv2d
pytorch1.0
kaggle
DCGAN
交并比
range()用法
打印模型
反卷积
卷积