首页 > 其他 > 详细

第5章:演示版保护技术——警告窗口

时间:2020-09-28 17:38:57      阅读:48      评论:0      收藏:0      [点我收藏+]

将程序跑起来,多下断点,多看几遍代码流程。

技术分享图片

程序的主流程非常的简单,两个对话框的出现也只是在 DialogBoxParamA() 中,该函数的参数:

技术分享图片

查资料可知,第四个参数是指向对话框过程的指针,即回调函数,函数返回后会调用它。

技术分享图片

可以看到,下方有一个 EndDialog(),即关闭该窗口,再往后又会调用 DialogBoxParamA() ,可知又会开启一个窗口,即第二个窗口。因此不能在此处修改这个函数。

在该函数内部继续查看,下面这个函数会使用之前压入栈的回调函数作为参数:

技术分享图片

技术分享图片

上一个窗口出现并点击确定之后,会执行到回调函数,并调用结束窗口函数,然后调用 DialogBoxParamA() 函数再起一个窗口。

技术分享图片

技术分享图片

调用该函数之后,在内部再次调用 DialogBoxIndirectParamAorW(),该参数与第一个有不同:

技术分享图片

技术分享图片

 

因为他们的回调函数都是确定不变的,并且资源地址也是不变的,因此目前有两种方式跳过第一个窗口:

① 修改 DialogBoxIndirectParamAorW() 的参数

② 修改 DialogBoxParamA() 的参数

 

两种方法都可以绕过第一个窗口。

 

第5章:演示版保护技术——警告窗口

原文:https://www.cnblogs.com/Rev-omi/p/13745113.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!