最近比较蛋伤,所以就很少学破解和逆向了,今天在某群看到有人在研究这个的破解,几次都没成功,我看下文件不大,就下来研究下
官方地址:http://www.wsgsoft.com/emp/
【破解声明】:只是感兴趣,没有其它目的,如果你喜欢该软件,请支持正版。
首先,查壳,是无壳的,Microsoft Visual C++ 8.0 *
运行试试,结果有这样一个提示
根据提示下MessageBoxW断点
然后运行程序,然对话框弹出
返回到用户代码
00413795 |. 6A 30 push 30 ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL 00413797 |. 68 00404400 push 00444000 ; |Title = "EnMp3Player 2.7.2 试用",B0,"??,A8,"mp3逐句",B8,"",B4,"",B6,"粒? 0041379C |. 68 003C4400 push 00443C00 ; |Text = "试用",B0,"嬷",BB,"能",B8,"",B4,"",B6,"燎",B0,"20行:",BD,"獬拗魄牍郝蛘",BD,"",B0,"? 004137A1 |. 50 push eax ; |hOwner 004137A2 |. FF15 F0024300 call dword ptr [<&USER32.MessageBoxW>>; \MessageBoxW 004137A8 |. 6A 01 push 1 ; /IsShown = 1 004137AA |. 6A 00 push 0 ; |DefDir = NULL 004137AC |. 6A 00 push 0 ; |Parameters = NULL 004137AE |. 68 500B4300 push 00430B50 ; |FileName = "http://www.wsgsoft.com/emp/buy.htm" 004137B3 |. 68 BC094300 push 004309BC ; |Operation = "open" 004137B8 |. 6A 00 push 0 ; |hWnd = NULL 004137BA |. FF15 38024300 call dword ptr [<&SHELL32.ShellExecut>; \ShellExecuteW
这就是错误提示的地方了。
我们往上找看有哪个跳转可以跳过这个提示
0041377E /0F85 03030000 jnz 00413A87
发现这个跳转很大,就修改试试,结果就成功了,可以播放20句之后的情况,如果你想继续研究 ,可以自己试试。
关于切割的部分,我已经不再研究了,所以不好意思了各位,其实这些从理论上来说都不是很难,重要的是耐心和时间。
我有耐心,但没时间了。