吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3813|回复: 12
收起左侧

[分享] The047. 反汇编练习,适合破解新手的160个CrackMe [003] 之 [注册机+去NAG窗口]

[复制链接]
chuiyan121 发表于 2022-3-11 00:14

The047. 反汇编练习,适合破解新手的160个CrackMe [003] 之 [注册机+去NAG窗口]
反汇编实战练手,下面是我的学习记录,如有疑问欢迎交流指正。^_^

被试程序合集下载:帖子https://www.52pojie.cn/thread-1598336-1-1.html

0x0、查壳,无壳程序,VB语言编写。


0x2、OD载入,F9运行,首先弹出NAG窗口,几秒钟后切换到主窗口,输入假码,OK按钮,提示错误窗口。


0x3、不要关闭错误窗口,F12暂停程序,Alt+K打开调用堆栈窗口,在地址00408722处右键显示调用,切换至反汇编窗口rtcMsgBox弹窗调用处。


0x4、来到反汇编窗口向上翻,程序很长,一直到004080F0函数头处,F2下断,F9一次激活主程序,再次点击OK按钮,程序运行到004080F0函数头如下图。


0x5、一顿漫长的F8,老规矩,仅记录关键点如下:
关键1 取输入的Name【112233】

关键2 真码?【533377】

关键3 真码变了??【533379】

关键4 真码又变了???【1600135】

关键5 真码还变????【1600150】

之后没有看到值有大的变化了,将上面记录的几个数值带入程序测试,发现最后一个【1600150】是真码。


0x6、既然知道真码了,开始编写注册机(方法上集有介绍)。


0x7、运行生成的注册机123.exe,首先NAG窗口,然后主程序,输入假码,提示错误的同时注册机里真码已经提示。


0x8、接下来把那个烦人的NAG弹窗给去掉。去NAG有两种方法:一种是变相去除,一种是真正去除。如果NAG窗口没有影响程序的功能,则采用第一种方式,比较好理解;如果NAG窗口影响程序使用功能了,则采用第二种方式完全去除。下面来演示第一种曲线实现目标的方法:使用VBExplorer工具载入程序,选择CMSplash窗体,属性栏选择Timer1时间控件,Interval时间间隔为7000毫秒,在计算器中得出7000【十进制】=1B58【十六进制】。


0x9、使用Hex WorkShop工具载入程序,搜索十六进制581B(在反汇编中高低位要颠倒,因此不是搜索1B58),找到Timer1控件附近的一处,这里的就是7000毫秒了。


0xA、手动修改581B为0100(同样高低位颠倒,实际为十六进制0001),即将7000毫秒改为1毫秒。将文件另存为2.exe,运行程序,发现NAG窗口瞬间闪过,变相实现了去NAG窗口了。


0xB、接下来介绍第二种方法,变换窗口调用顺序实现去NAG窗口。这种方法还有个名称叫4C法,据说VB程序开始的PUSH地址加上4C,就是窗口加载的地方。我们来试一下,OD载入程序,看到第一行push地址为004067D4,在数据窗口Ctrl+G转到004067D4+4C处。


0xC、在数据窗口右键继续跟随DWORD。


0xD、此时数据窗口中出现两块类似代码,其中有两个标识,00代表先加载的窗体,01代表后加载的窗体。具体为什么是这样我也没弄明白,应该是VB的固定机制吧。


0xE、互换窗体加载顺序,00换成01,01换成00,让主窗体先启动,则实现了屏蔽NAG窗体的目的。


0xF、运行3.exe,成功去掉了NAG窗口。


在此感谢@pk8900大牛提供的解题思路。



免费评分

参与人数 9吾爱币 +14 热心值 +8 收起 理由
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Mageternal + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
DawnDream + 1 谢谢@Thanks!
ContacNt + 1 我很赞同!
yuxinmo + 1 + 1 用心讨论,共获提升!
elevo + 1 + 1 热心回复!
ballack_13 + 1 + 1 谢谢@Thanks!
woyucheng + 1 + 1 谢谢@Thanks!
xcz123m + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
1354272760 发表于 2022-3-11 01:31
提示: 作者被禁止或删除 内容自动屏蔽
CCQc 发表于 2022-3-11 07:40
yyb414 发表于 2022-3-11 07:54
hkjmiao 发表于 2022-3-11 09:10
还是基础太差,感谢分享,学习了。
ricky2196 发表于 2022-3-11 09:57
学习了!多谢分享
elevo 发表于 2022-3-11 11:05
有点东西的,先看看
ongp1347 发表于 2022-3-11 19:32
大佬 VB不是被编译成伪码吗 请指教
 楼主| chuiyan121 发表于 2022-3-11 20:31
ongp1347 发表于 2022-3-11 19:32
大佬 VB不是被编译成伪码吗 请指教

没明白你的意思
ongp1347 发表于 2022-3-11 23:09

VB像Java的字节码 不是机器码
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 16:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表