bp MessageBeep 发出系统警告声
(
如果没有声卡就直接驱动系统喇叭发声
)
bp GetTickCount 获得自系统成功启动以来所经历的毫秒数
★★VB程序专用断点★★
如果是重启验证就使用最开始的那些断点
4
、字符串法—插件
/
搜索所有参考文本
5
、字符串法—插件
/
搜索所有参考文本
6
、如果程序界面标题有[未注册
/
注册
/
VIP版
/
标准版
/
钻石版]
5
、字符串法—插件
/
搜索所有参考文本
2
、下消息断点,查看堆栈再返回
3
、eCode法–断按钮事件
4
、字符串法—插件
/
搜索所有参考文本
0
0
1
、有注册错误
/
正确提示
如果事先找不到按钮事件,可以通过下消息断点,返回后回溯即可找到按钮事件起始位置
3
、未注册一启动或者关闭就跳出个注册框或者提示框
至于保存到什么文件,可以使用以下方法
1
、查找字符串,看是否有可疑文件名或者注册表键名
2
、猜。。。下断点观察
4
、未注册一启动或者关闭就打开网页链接
软件启动—
>
判断是否注册—
>
是否Open
断下后回溯代码即可找到关键点,常用的方法,转存跟踪法
5
、未注册就功能使用限制
判断是否注册—
>
某种功能是否让你使用
,
如果不能够用,一定会有提示的,或是错误提示或是弹出注册框等,那么从提示入手即可找到解除限制的关键
不完美破解:解除功能限制
一般下这几个断点比较难分析关键
捷径
:
查找字符串–找可疑文件–一般以DLL多见
只要不让它读取到这个DLL即可解除限制
7
、Demo
(
演示试用版
)
–功能残缺
这个和上面的功能限制不一样
功能限制是软件本身就有这个功能,对程序而言,相对应的功能代码也存在
Demo即是没这个功能,空架子一个而已
无法登陆有错误提示者:下消息断点回溯代码,找按钮事件,从头来过,从按钮事件开始跟踪,找网络验证CALL
(
所需要登陆的地址在这个CALL里面
)
,接下来就是分析返回值或者改登陆地址为本地
(
127.0
.
0.1
)
,再后面就需要改某些跳转了
无法登陆自动退出者:下bp
ExitProcess断下
(
一般可以断下
)
回溯代码,找按钮事件,从来来过,从按钮事件开始跟踪,找网络验证CALL
(
所需要登陆的地址在这个CALL里面
)
,接下来就是分析返回值或者改登陆地址为本地
(
127.0
.
0.1
)
,再后面就需要改某些跳转了
一般狗加密软件,一启动就会检测所需要的狗文件,若没有狗文件,提示错误
1
、“一启动就会检测所需要的狗文件”,下bp CreateFileA等断点,断下后,回溯
2
、“若没有狗文件,提示错误”,下bp MessageBoxA,断下后,回溯
从上面的介绍说明可以看出,有这么一个共同点—按钮事件,可以这么说,按钮事件是我们的思路之门
按钮事件可以这样得来:
1
、通过下相应断点,回溯代码
80
%
-90
%的软件基本都是重启验证类型
4
、DLL文件操作类型
如果没有什么有效的拦截函数,不妨试一下Bpx CreateFileA
(
W
)
.余下的就是通过你的经验去判断了
(
例如:
35
课
)
注意:建议使用Bpx断点,这样,比较快捷、准确。尚若Bpx失效,再尝试bp
2
、OD载入程序后,单步跟踪,找到窗口的调用CALL
到底是byte
/
word
/
Dword断点,一般情况下是byte,其他特殊情况大家临场判断
bp MessageBeep 发出系统警告声
(
如果没有声卡就直接驱动系统喇叭发声
)
bp GetTickCount 获得自系统成功启动以来所经历的毫秒数
★★VB程序专用断点★★
有两种情况:通过代码和控件属性
控件属性:VBExplorer 辅助工具改属性
控件属性:相关辅助工具改属性
控件属性:用十六进制工具查找 BOB
4
C
5
A
5
,把它后面的
07
改
05
注册验证程序可以用这个断点下断,一般离程序访问注册表很近:
VB程序破解的关键跳转,一般与其它语言的不同
,
没有JPM XXXXXXX
一般以 JE
/
JNE XXXXXXXXX 跳转记录一般不会很远
(
虽然是短距离跳转,但是关键就在这里,可以设置大量的信息) 。如果发现False
/
True 可能是关键点
VC
+
+
汇编
(
有的 一段,一段的
)
:
或者在区段为”.
data
”
/
”.ecode”下断,运行
5
、字符串法—插件
/
搜索所有参考文本
6
、如果程序界面标题有[未注册
/
注册
/
VIP版
/
标准版
/
钻石版] 之类字样的
来判断程序怎么样的判断是否注册或者用户类型
★★C
+
程序专用断点★★
1
、DEDE、PE Explorer作为强有力的辅助工具找按妞事件
5
、字符串法—插件
/
搜索所有参考文本
6
、如果程序界面标题有[未注册
/
注册
/
VIP版
/
标准版
/
钻石版] 之类字样的
来判断程序怎么样的判断是否注册或者用户类型
EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰)
CreateDialog 从资源模板建立一非模态对话窗
DialogBox 从资源模板建立一模态对话窗
Hmemcpy 内存复制 (非应用程序直接调用)
GetDiskFreeSpaceA 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量
GetDiskFreeSpaceExA 获取与一个磁盘的组织以及剩余空间容量有关的信息
CreateFileA 打开和创建文件、管道、邮槽、通信服务、设备以及控制台
OpenFile 这个函数能执行大量不同的文件操作
ReadFileEx 与ReadFile相似,只是它只能用于异步读操作,并包含了一个完整的回调
WriteFileEx 与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调
SetEndOfFile 针对一个打开的文件,将当前文件位置设为文件末尾
CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等
_lopen 以二进制模式打开指定的文件
_lread 将文件中的数据读入内存缓冲区
_lwrite 将数据从内存缓冲区写入一个文件
_llseek 设置文件中进行读写的当前位置
_hread 将文件中的数据读入内存缓冲区
_hwrite 将数据从内存缓冲区写入一个文件
MapViewOfFile 将一个文件映射对象映射到当前应用程序的地址空间
SetFileTime 设置文件的创建、访问及上次修改时间
GetFileType 在给出文件句柄的前提下,判断文件类型
RegCloseKey 关闭系统注册表中的一个项(或键)
GetFileTime 得文件建立,最后访问,修改时间
FindExecutableA 查找与一个指定文件关联在一起的程序的文件名
GetModuleHandleA 获取一个应用程序或动态链接库的模块句柄
LoadLibraryA 载入指定的动态链接库,并将它映射到当前进程使用的地址空间
LoadLibraryExA 装载指定的动态链接库,并为当前进程把它映射到地址空间
LoadModule 载入一个windows应用程序,并在指定的环境中运行