今天是美好的星期一啊,把<<Windows PE权威指南>>看掉一半就去看权利的游戏去:neckbeard:

龙妈称霸世界:sunglasses:

这个破解是<<Windows PE权威指南>>里的一个小例子,首先打开这个软件.

1E8C3E59-31C1-48C1-8F69-9870318D7DE5.png

这个界面做的真是难看....还加了弹窗广告,我呸...

随便输入123

099FA62A-B2A4-4486-BB39-4F8DF6F43093.png

注册失败了

83461D70-D029-4B9E-8EFE-B6441C7FFF04.png

可以看见失败的弹框里面有注册失败几个字.

把程序丢进OD里面
B66FD8CB-023D-4B01-825A-BB5B1F23B4A8.png

OD已经定到入口点了,再用WinHex把程序打开来看字节码

994AC89F-FE85-46D6-A4B5-66BDA7E0AED4.png

98997F5E-7B59-49CE-BAD1-2E6C52DC8B87.png

WTF!激活码直接就出来了!233333

不过用改程序流程的方法会好玩一点

可以看到注册失败这个字符串offset是81A79

VA = ImageBase + RVA

VA = 400000 + 81A79

程序在装载入程序后这段字符串的虚拟地址是0x481A79

35867F9A-B024-4E22-82EC-777A1770B358.png

查看谁用到了0x481A79这个地址,在OD的指令及指令解释区搜索常量0x481A79,可以看到0x405D2D这个地方push了0x481A79

FB9A73AA-63B1-4F94-87CE-1DF214246CD3.png

往上拉一拉在0x405D11的地方是由0F8F的地方跳转过来的,用的是jg指令,只要把jg指令改成jl指令,再用nop填充就随便输入什么字符串都能注册成功了:)

2B1A9901-39D7-4D7B-85FE-B239DA78D748.png

66848E75-CFC7-4FC7-A8D3-F6C340E4B167.png