Asp1.23壳重启验证优雅爆破
**环境: Windows7 x 32 VMware + OD **** **这个软件我之前很就就下了,但一直不知道怎么破,昨天偶尔试了一下,duang的一下就出来了,很难受、、、、、、、**
**软件查壳看看 。(当然破解不是主要目的,主要是学习这个重启验证的思路)**
**!(data/attachment/forum/202303/23/221009ax2p172x22b2cquq.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**ASProtect 1.23左右的壳,BC++程序,程序很老了,先运行一下看看是什么情况**
!(data/attachment/forum/202303/23/221009jzadz316wwe6t8az.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**打开直接弹出要我们注册,我们点Enter key随便输入注册码,确定就要我们重启了,并没有提示我们输入的正确与否,而正**
**确与否在下次启动显现出来。即还出现这个about 框框。如果我们点OK的话会进入主程序界面去,但是中间会提示我们还拥**
**有15天使用时间,点击Help菜单about就弹出刚刚那个Nag**
!(data/attachment/forum/202303/23/221009ow5qqf6hfjjagf4h.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**即使是我们点击退出主程序时,还是会弹出这个NAG。很难受**
**把他放入神器OD来一波,看他怎么说,看看我OD环境是怎么设置的,这个我没有特意去设置过,是之前的我没改动**
!(data/attachment/forum/202303/23/221009e9xpm0pztxjc9st9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**然后是SOD的设置 这个我也是没动,还是之前的那样**
!(data/attachment/forum/202303/23/221010eab5tooo3z7oerot.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**然后我们直接运行,能打开软件,表示过了anti-debug,当然了还有针对断点的anti-debug没过,哈哈。然后肯定没反虚拟机。**
**我直接说我分析出的东西吧,不说其他错误的尝试了。Asp加密壳,运行会把真正的代码给解密出来,解密出来后,上面那个**
**图地址0x401000就是我们解密后程序的真正入口点,图如下:**
!(data/attachment/forum/202303/23/221009yyzbjkn7mzmy5yvv.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**硬件断点失效,int3断点被检测(CRC),可以自己试试思考一下、、、、、、、**
**我直接说我的过程了。载入OD运行程序、弹出NAG,F12暂停程序。查看堆栈,尽量找个返回地址个3-4个函数的地方。这**
**个看情况主要是找到这个调用这个函数后这个NAG就出来的位置,一次找不对,多找几次。**
!(data/attachment/forum/202303/23/221009xf29727oofg3asea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**程序终止了我们不管,堆栈还是存在的,然后我们找到这个地址,应该是调用了这个地址的函数才弹的NAG。**
**(你不能看到我说我一下就找到了,其实我找了好几个,我现在是复现我的思路,所以错误的或者不是重点的我就不多说了**
**)复现一下,在0x408BE7位置F2下int3断点,然后ALT+B快捷键,把断点禁止。CTRL+F2重新载入程序,ALT+B打开刚刚**
**的断点位置,双击跟进去(这里主要是用这个int3断点给我们打标签 ,不是要真的下int3断点),右键数据窗口跟随,然后随**
**便选中几个byte下内存写入断点。**
!(data/attachment/forum/202303/23/221009az2slz6yn266sldq.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**F9运行,来到第一次解密数据的地方: 看到jnz跳回上面,循环不用多说,这个时候把内存断点去掉,随便在jnz下一行汇编**
!(data/attachment/forum/202303/23/221009rmpgqlpdj9vjjdec.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**F4快捷键跳过第一次解密(为什么是第一次解密,我之前分析过了),然后在按之前的又重新还原之前的内存写入断点,同**
**一个位置,即现在看到的数据窗口第一行。刚刚叫你右键跳转跟随到数据窗口的用处就在这表现出来了。再次按F9,这次**
**停到了第二个解密的地方:走位、走位、看不见、鬼刀一开、芜湖!!!难受**
!(data/attachment/forum/202303/23/221009gddyk9vylet3tvn3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**同理,把内存写入断点去掉,在绿色那按F4,解密完成。ALT+B打开断点窗口,双击进入做的断点标签,看看是不是解密**
**出来汇编代码了,和我们刚刚看到的一样了。**
!(data/attachment/forum/202303/23/221009ws3jblmf3b6evzln.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**这个时候在0x408BE7这里下内存访问断点,F9可以看到3-4初访问这个地址的地方,3-4次F9后就程序就停到这个位置了。**
**这个时候NAG还没弹出来,我们F8后就弹出来了,那么可以判断这个函数就是弹出NAG的了,但是我们不知道这个函数**
**是不是本本身也会影响主程序的入口,我们按前面的再来一次,当运行到这个函数时,我们NOP掉,在F9看看,主窗口**
**能不能弹出来,NAG是否不弹,我们试了,发现确实是,那么我们只要过了这个函数就可以了,我们往上找找看看是谁**
**跳到了这里。(NOP后,由于这个程序之前在之前CRC,所以NOP后我们没改回来也没问题),往上不远找到了一个**
!(data/attachment/forum/202303/23/221009u7wdgkkkk13akkyk.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**在往上找找看**
!(data/attachment/forum/202303/23/221009xlylf5bs7sho7hb6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)
**在这里(0x408268)下内存访问断点(怎么到这里和刚刚那个上面的操作一样的,等解密完全代码后,到这里就行了),等运行**
**到这里时,双击右边的符号标志Z,让他跳转就可以了。**
!(file://E:/%E9%80%86%E5%90%91/%E6%95%99%E7%A8%8B%E6%96%87%E6%A1%A3/ASP1.2%E9%87%8D%E5%90%AF%E9%AA%8C%E8%AF%81%E4%BC%98%E9%9B%85%E7%88%86%E7%A0%B4/ok.png?lastModify=1679580563)
**重启程序就不行了,后续有空在写吧,、、、、、、、、、、、**
** **By:zuoshang** 之前在看雪发过 好久没上论坛了
**** **时间:2021年3月3日 23:22:53
谢谢分享! 爆破学习一下 比较乱,只有文字说明,图片上没有说明,建议录制视频 只不让它弹nag窗口就行了嘛? byh3025 发表于 2023-3-24 16:27
只不让它弹nag窗口就行了嘛?
这个很好办,写补丁强制操作某些窗体/控件。
具体可以看我的这个成品...
https://www.52hb.com/thread-58134-1-1.html boot 发表于 2023-3-24 16:36
这个很好办,写补丁强制操作某些窗体/控件。
具体可以看我的这个成品...
大佬您误会了,我是说楼主的这种方法只去掉nag窗口结果行不行? byh3025 发表于 2023-3-24 17:39
大佬您误会了,我是说楼主的这种方法只去掉nag窗口结果行不行?
我记得这个软件加了asprotect的壳,如果试用期满,就只显示nag窗口,不显示功能窗口。不注册就用不了。自己写一个补丁,获取功能窗口的句柄,获取nag窗口的句柄,然后发消息关闭nag窗口,发消息显示功能窗口。我这种思路是可行的。 大神多来点 新手学习!