当前位置: 首页 > 文档资料 > 汇编速查手册 >

灰色按钮

优质
小牛编辑
125浏览
2023-12-01

灰色按钮

有两种情况:通过代码和控件属性

VB语言:

代码:ctrl+b查找 816C24,在JMP下断,然后F2运行程序,把 push ebp 改为 retn,或者把这些代码全NOP掉

控件属性:VBExplorer 辅Z工具改属性

Delphi/BC++语言:

代码:通过DEDE找FormCreate,记下地址,改 retn

控件属性:相关辅Z工具改属性

易语言:

代码:bp EnableWindow,断下后返回,把 push ebp 改为 retn

控件属性:用十六进制工具查找 BOB4C5A5 ,把它后面的 07 改 05

破解时常用断点:

VB MASM32 VC BCB 易语言 Delphi

VB破解

1、VBExplorer查找按钮事件

2、有提示框则bp rtcMsgBox

3、通过bp __vbaStrCmp/__vbaStrComp/__vbaVarTstEq

bp __vbaStrCmp

bp __vbaStrComp

4、万能断点法(816C24法)

注册验证程序可以用这个断点下断,一般离程序访问注册表很近:

bp __vbaStrToAnsi

5.F12堆栈调用

总结:

VB程序破解的关键跳转,一般与其它语言的不同,没有JPM XXXXXXX

一般以 JE/JNE XXXXXXXXX 跳转记录一般不会很远(虽然是短距离跳转,但是关键就在这里,可以设置大量的信息) 。如果发现False/True 可能是关键点

VB:

XXXXXXX JE/JNE XXXXX

设置信息

Delphi BC++ 易语言 VC++ 汇编: XXXXXXX JE/JNE XXXXX

设置信息 XXXXXXX JMP XXXXX

设置信息

VC++ 汇编(有的 一段,一段的):XXXXXXX JE/JNE XXXXX

设置信息

retn

push xx

设置信息

retn

push xx

设置信息

retn

易语言

易语言逆向分析思路:

1. 信息框法 bp MessageBoxA(断对话框)

2.字符串法

查看易语言文本信息:bp GetProcessHeap F9运行4次,取消断点 执行ALT+F9 用户代码F8单步走,或者在区段为”.data”/”.ecode”下断,运行

3.窗口标题法 bp SetWindowTextA

4.F12堆栈调用

0040C0CB=易语言.0040C0CB (ASCII “shaonanshaonvluntan”)

DELPHI破解:
1、DEDE、PE Explorer ResScope作为强有力的辅Z工具找按妞事件

2、Point-H法

3、bp GetDlgItem/GetDlgItemTextA(断输入框)

4、bp MessageBoxA(W)(断对话框)—Ctrl+N

5、字符串法—插件/搜索所有参考文本

6、如果程序界面标题有[未注册/注册/VIP版/标准版/钻石版] 之类字样的

可以通过查找FormCreate/FormShow—-DEDE,找到关键标志位!

来判断程序怎么样的判断是否注册或者用户类型

7. 窗口标题法 bp SetWindowTextA

8.F12堆栈调用

注册表:

bpx RegCreateKeyExA 对于Delphi程序程序来说,用这个断点比较合适

bp RegCreateKeyExA 对于加了壳的程序

注册码:Rc1-420+用户名(不能为整数,)+C00L

C+破解

C类

Point-H法

bp GetDlgItem(断按下按钮)

bp MessageBoxA(断对话框)

字符串法

F12堆栈调用

窗口标题法 bp SetWindowTextA

C+程序专用断点

bp lstrcmpA (KERNEL32.lstrcmpA) 比较用法

bp _mbscmp //比较

C类程序的经典断点:

bp GetWindowTextA(断按下按钮) //也是适用于其它语言

bp GetWindowTextLengthA(断按下按钮) //也是适用于其它语言

bp GetDlgItem(断按下按钮) //也是适用于其它语言

bp GetDlgItemTextA

ds:[004021C8]=77C01881 (msvcrt._mbscmp)

BC++破解

1、DEDE、PE Explorer作为强有力的辅Z工具找按妞事件

2、Point-H法

3、bp GetDlgItem/GetDlgItemTextA(断输入框)

4、bp MessageBoxA(W)(断对话框)—Ctrl+N

5、字符串法—插件/搜索所有参考文本

6、如果程序界面标题有[未注册/注册/VIP版/标准版/钻石版] 之类字样的

可以通过查找FormCreate/FormShow—-DEDE,找到关键标志位!

来判断程序怎么样的判断是否注册或者用户类型

7.窗口标题法 bp SetWindowTextA

8.F12堆栈调用

bpx RegCreateKeyExA 对于Delphi程序程序来说,用这个断点比较合适

bp RegCreateKeyExA 对于加了壳的程序

MASM32 / TASM32破解

入口点 :

004011C7 6A 00 push 0
004011C9 E8 5E070000 call 0040192C
004011CE A3 70614000 mov dword ptr ds:[406170],eax
004011D3 6A 00 push 0
004011D5 68 EE114000 push MASM32.004011EE
004011DA 6A 00 push 0
004011DC 68 C8000000 push 0C8

Point-H法

bp GetDlgItem(断按下按钮)

bp MessageBoxA(断对话框)

字符串法

F12堆栈调用

窗口标题法 bp SetWindowTextA