首页
社区
课程
招聘
[分享]sdher 兄弟请看 "VB无注册提示破解问题" 解决第一步 之追踪内存注册码
发表于: 2007-4-12 21:06 5122

[分享]sdher 兄弟请看 "VB无注册提示破解问题" 解决第一步 之追踪内存注册码

2007-4-12 21:06
5122
前几日看到 sdher 兄弟发的贴子,就随便跟上去胡说几句
今日闲来无事,发现其问题没有解决,愚决定试上一把

这里我不把这个软件的功能和名字列出来了,需要的看一下 sdher 兄弟的帖子就行了.

声明:本人对于VB的东西比较头疼,前日几日调了一个N-CODE的,不管怎么样,还是自己比较熟悉的386指令,但对于P-CODE用的伪指令,苦于没有找到一篇技术文档,再加上没有找到别人写的分析文章,所以一直也没有搞明白,今天了不明白,所以大家不要指望我能将算法分析出来,
不过我仅花了一个多小时便从内存里抓出了注册码,可见这个软件的难度并不大
这里将我的结果贴出来,就当是给 sdher 兄弟引路了

另外我还无法上传截图,而WKT中又不像OD那样方便地复制格式,所以很多地方我就只是用文字描述,大家看着可能费点劲,请见谅

从兄弟提供的永硕网络硬盘上拿到样本,兄弟已经把壳脱好了,于是也就不去多费时间了,直接进入主题

用OD载入,提示有加密,看代码区,已经脱壳,应该是壳比较厉害的原因,不管它,在OD里看到入口点是典型的P-CODE
于是操起WKTDEBUGGER将其载入.

可能因为脱壳不干净的原因,exdec无法分析,所以只能够从WKT中小小的窗口来看它的代码,很痛苦啊

程序一运行,便提示没有检测到什么什么设备,点确定后退出了...

重新载入,在WKT中下API 断点 rtcMsgBox,GO
断下后点 analyze  branch
看到解4e7fac : branchF 4e7f29
于是将这里的branchF 改为 branchT,即将字节1C改为1D
点GO
好进入程序界面

打开注册界面,"注册"按键是灰色的.
先往注册码的位置输入很长的字串,看看是不是当长度达到某一个值时才激活"注册"按钮...
结果不是

那么分析判断是不是合法注册码的代码应该在文本框控件的 OnTextChange()方法中

在WKT中点 form manager ,定位到 frmRegister 上的 TextBox控件txtRegister,然后点BPX

点GO运行程序
在注册码的位置随便输入,"当",WKT弹出...

点 analyze branch 看到几个跳转

先尝试爆破...
最后确定最下面的一个 4c6f98 : branchF 4c6eb2
将它修改后,再输入符"注册"被激活,但点击没有反应,说明在"注册"按钮的 OnCommand()过程中还进行合法性验证.于是爆破先不管

来到这个跳转处,往上看,看到几条指令
004C6F93: 6C ILdRf 00202CFCh
004C6F96: 6C ILdRf 09530854h
004C6F99: 30 EqStr

在内存窗口里打开这两个地址,一个是输入的码,另一个便是注册码了...
于是利用WKT把内存DUMP到一个文本文件中,注意由于VB用 uni code 所以有一些不能显示的小点,
但你应该能看到你的注册码了吧...

好了,如果你有耐心看完了,应该就能追出自己的注册码了.

对于注册算法的事情,我已经定位了计算的位置,对VB P-CODE熟的朋友自己追就行了,
我就写这么多了...

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 205
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢书兄,真厉害啊,我刚接触破解不久,VB我以前破过N-code,但这个P-CODE对我来说,真的太难了,我尝试过很多方法,都是无功而返,感谢您给我提供了一个思路
2007-4-13 15:04
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
3
呵呵
今天上课比较多
晚上稍微又看了下,大体得到点收获,但还没有找到计算的地方
在你输入时真码似乎已经算出来了,
只是用当前的月份选择一个注册码
1-4一个,5-8一个,其他另一个,三个是不同的
而注册表中除了有注册码之外还保存注册日期就是这个作用

明天再好好看看
但不抱太大希望
毕竟对VB,特别是P-CODE不熟。。。
2007-4-13 21:38
0
雪    币: 205
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
书兄,WKT怎么下断啊?我用WKT载入程序后,只有一个RUN,一点就运行了,可WKT退出了,是不是有个热键可以呼出啊?我找了很多这方面的教程,都说载入后会显示很多对话框,但我就是没看到
2007-4-14 11:24
0
游客
登录 | 注册 方可回帖
返回
//