首页
社区
课程
招聘
[原创]一个捉图软件的破解方法
发表于: 2006-4-24 18:47 3806

[原创]一个捉图软件的破解方法

2006-4-24 18:47
3806
Michael4u电脑工作室 出品 Michael4u 屏幕捉图终结者 V2.0
软件类型: 共享软件

注册费用:人民币20元

功能限制:不注册无法保存图像(这也太狠了点吧)

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
破解过程

运行程序测试了一下,发现这个软件又是一个重新启动注册的程序,先不管它,
我们先拦截程序的注册对话框,看看有什么!

用W32dasm反汇编程序后(注意脱壳),

W32dasm 的字符串参考中双击: "请重新运行程序,以便确认注册."

来到如下代码处:

:0047C679 6858C74700              push 0047C758

我们往上看看:

|:0047C608(C)

代码略............

* Possible StringData Ref from Code Obj ->"\smhcreen.dll"
                                  |
代码略............

* Possible StringData Ref from Code Obj ->"regkey"
                                  |
:0047C663 BA3CC74700              mov edx, 0047C73C

* Possible StringData Ref from Code Obj ->"smhcreen"
                                  |
代码略............

* Possible StringData Ref from Code Obj ->"请重新运行程序,以便确认注册."

你们看到了什么,看来注册码与regkey这个项有关系,可是这个项是注册表项,还是其它?

如果现在这们直接运行程序,在这里下断点,我想这时断下的也就是我们输入的错误注册码,
因为这个程序是重新启动时比较注册码的,所以真正的注册码会在开头进行比较:

打开Ollydbg 退出 W32dasm 后,打开你脱了壳的程序后,点击右键搜索,打字符参考:
找到了如下信息:

0047E174                   ASCII "\smhcreen.dll"

双击这行来到反汇编如下代码处:

0047E174  |. B9 C0E44700    MOV ECX,dump_.0047E4C0  第一次,我在这行下断点

程序还没有完全运行,程序就被断在了 0047E174 按了几下F8 来到如下代码处:

真正的注册码在寄存器EDX中出现,就这样找到了注册码,

0047E1BB  |. E8 84A7F8FF    CALL dump_.00408944                  ;\生成注册码
0047E1C0  |. 8B55 F4        MOV EDX,DWORD PTR SS:[EBP-C]
0047E1C3  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]         ;\在寄存器中出现注册码
0047E1C6  |. E8 196AF8FF    CALL dump_.00404BE4                  ;\比较注册码

我要说的是,最早我在破解这个程序是在下在这行的上面打比较注册码的地方,所以每次都失败了.
我们要用心想想,程序启动时,先要读取这个文件,然后才是生成注册码,再比较注册码,如果你在
前面下断点,那也只能是了解程序是如何读取这个文件的,而无法打到真正的注册码,这就是这要说的.
所以,以后在破解这种程序时,要注意这一点!

0047E174  |. B9 C0E44700    MOV ECX,dump_.0047E4C0

我们再做个内存注册机:
*******************************
中断地址:47E1C3
中断次数:1
第一字节:8B
指令长度:3
保存下列信息为注册码选择内存方式 EDX
最后在结尾处插入字符#
程序运行后#号前面就是注册码
*******************************

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

2006-1-17

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 169
活跃值: (245)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
最初由 ufco 发布
我要说的是,最早我在破解这个程序是在下在这行的上面打比较注册码的地方,所以每次都失败了.
我们要用心想想,程序启动时,先要读取这个文件,然后才是生成注册码,再比较注册码,如果你在
前面下断点,那也只能是了解程序是如何读取这个文件的,而无法打到真正的注册码,这就是这要说的.
所以,以后在破解这种程序时,要注意这一点!


有些不明白这段话呀!
2006-4-24 18:54
0
雪    币: 247
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
没有输入好的问题
2006-4-24 19:01
0
雪    币: 234
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
支持一下~
2006-4-24 19:54
0
游客
登录 | 注册 方可回帖
返回
//