软件保护技术----烦人的Nag窗口

大家一定会遇到过一些情况,你下了个软件,因为你没花钱买正版,有时候商家会不断弹出窗口来骚扰你,你觉得So Nag(很烦)

那我们可不可以把这个弹窗给消掉,让它别再干扰我呢?坏笑.jpg

我们来举个简单的让弹窗消失的例子

例子的链接在这里(例子来自己加密解密第三版,看雪大大天下第一):

链接:https://pan.baidu.com/s/1pTHw9tlZBWobDCZlF3nXkg 密码:cvia

我们可以看到每次打开都会看到一个窗口

因为一个程序可能有多个弹窗,你总不能消错了吧,那么找出窗口自身的标识号就是必要的了

我自己采用的是Resource Hacker来找窗口的标识号,感觉还不错,比较清爽

用Resource Hacker打开例子:

扫描二维码关注公众号,回复: 3092115 查看本文章

还是可以比较清晰地看到你要消除的窗口的ID号(之前说的标识)是121

在OD中打开例子,Ctrl+N打开函数导入表

可以看到DialogBoxParamA与EndDialog这一对函数可以用来打开对话框以及关闭对话框

我们跟进到DialogBoxParamA函数,可以看到有很多次对DialogBoxParamA的调用,那是当然啦,有好多对话框呢,如何区分呢,看每个DialogBoxParamA的参数

为什么判断是上图的这个DialogBoxParamA调用了那个Nag对话框呢,因为DialogBoxParamA需要压入自身标识号作为参数,79正是121的16进制表达

同时DialogBoxParamA还会压入要执行的程序首地址作为参数,那么我们跳转到004010C4,发现又是一个对话框函数,正是越过Nag之后的住对话框

那么消除Nag的方法就显而易见了,将Nag的DialogBoxParamA函数中的参数替换成主对话框的即可,嘤嘤嘤

当然啦,这种消除方式有个前提,软件中的对话框是以资源形式存在的,否则就要用其他的办法了,还在探索,大家加油

猜你喜欢

转载自blog.csdn.net/qq_42192672/article/details/81489068
今日推荐