首页
社区
课程
招聘
一个vb程序的破解过程。新手
发表于: 2004-8-19 14:14 9231

一个vb程序的破解过程。新手

2004-8-19 14:14
9231

我也不知道这是什么游戏的外挂,也不知道效果怎么样

先脱壳我用的是trw2000手工脱壳
跟到入口点00401490处
0177:00401490 6840304000       PUSH     DWORD 00403040             //通常这就是入口了
0177:00401495 E8F0FFFFFF       CALL     `MSVBVM60!ThunRTMain`
0177:0040149A 0000             ADD      [EAX],AL
makepe抓出文件。
重新载入newpe.exe(既刚才抓出的pe文件)
g执行进入界面,调整大小在文本框里输入77587758
Ctrl+N下断点bpx __vbastrcmp
g执行,不断的有中断产生,没办法了
只有bd *之后回到程序界面看看,(我怀疑:是不是有定时器在运行然后不断在调用某一函数)
点了一下停止,在下断点ok没有多余的垃圾中断产生。
点击注册,来到这里,
0177:0040BFCB 6AFF             PUSH     BYTE -01
0177:0040BFCD 6A01             PUSH     BYTE +01
0177:0040BFCF FF1500114000     CALL     `MSVBVM60!__vbaFileOpen`
0177:0040BFD5 8D7E3C           LEA      EDI,[ESI+3C]
0177:0040BFD8 6A01             PUSH     BYTE +01
0177:0040BFDA 57               PUSH     EDI
0177:0040BFDB FF1520104000     CALL     `MSVBVM60!__vbaLineInputStr`
0177:0040BFE1 6A01             PUSH     BYTE +01
0177:0040BFE3 FFD3             CALL     EBX
0177:0040BFE5 8B0F             MOV      ECX,[EDI]
0177:0040BFE7 8B5634           MOV      EDX,[ESI+34]
0177:0040BFEA 51               PUSH     ECX
0177:0040BFEB 52               PUSH     EDX
0177:0040BFEC FF1594104000     CALL     `MSVBVM60!__vbaStrCmp`
0177:0040BFF2 85C0             TEST     EAX,EAX/////pmodule后来到这里
0177:0040BFF4 0F8581000000     JNZ      NEAR 0040C07B////多么经典的判断啊,改了他
0177:0040BFFA 8B06             MOV      EAX,[ESI]    ////就注册成功了,
0177:0040BFFC 56               PUSH     ESI
0177:0040BFFD FF               DB       FF
0177:0040BFFE 90               NOP     
0177:0040BFFF B8               DB       B8
更改标志位ZF为1,结果成功注册,到着已经查不多了,看到0040BFEA上的ECX了吗?里面装的就是正确序列号的地址啊,
d ecx就能看到了,但是我发现0177:0040BFCF有点不对劲,分析了一下发现他是把注册码写到文件里在从文件中读出来比较,
而且每次启动都会判断,不过我们已经把注册码读出来了,不是吗?所以再启动程序时它发现不是正确的又会让你注册这时输入
正确的注册码,到这里大家可能以为会到此结束了吧。没有,还没有结束,现在这道程序还没有完整的破解好,要改成无论输入什么
序列号都正确,这样才是暴破嘛,刚开始打算改装程序,让他显示正确的注册码可是这样也还是要输入一边,能不能只输入一边任意字
符就达到把正确的注册码写入文件的的功能呢? 答:能
我决定从这里下手:

0177:0040BF80 7D12             JNL      0040BF94//////////////跳到BF94处(向文件里写如你输入的注册码)
0177:0040BF82 68A0000000       PUSH     DWORD A0
0177:0040BF87 687C3F4000       PUSH     DWORD 00403F7C
0177:0040BF8C 57               PUSH     EDI
0177:0040BF8D 50               PUSH     EAX
0177:0040BF8E FF154C104000     CALL     `MSVBVM60!__vbaHresultCheckObj`
0177:0040BF94 8B45E8           MOV      EAX,[EBP-18]////到这里把我们输入的注册码的地址传到eax在压栈,
0177:0040BF97 50               PUSH     EAX         ////而此时正确的注册码地址在004264D8处,
0177:0040BF98 6A01             PUSH     BYTE +01
0177:0040BF9A 68B83E4000       PUSH     DWORD 00403EB8
0177:0040BF9F FF15D4104000     CALL     `MSVBVM60!__vbaPrintFile`
我们这样做,在程序其他空白处写如下代码
:push 004264D8   //为什么要替换挪走两条语句呢。因为
: push 001
: jmp 0040BF9A
让程序执行到0040BF94时跳到这里在,我们处理好堆栈后在跳到他的下一句(既:0040BF9A)
我们为什么要替换掉两条语句呢。因为我们写在0040BF94处的jmp语句要占5个字节,所以如此

这样头一步0040BFF4处的jnz我们就不用改了,因为它注册整体思路是这样的:
取我们的注册码写入"c:\wuying.dll"中
再打开"c:\wuying.dll"取出注册码
和正确的比较给出结果
并且每次启动程序时都会检查
因为我们在第一个环节就把正确的注册码写入到文件里了,所以后面的就不用管了,
重新加壳压缩(当然如果你的硬盘超大也可以不压,我的硬盘可不行,才10G(路人做不屑状))
到这才是真正的结束了,
挺简单的一个教程,大家不要笑话
                                                        小破孩附件:WYJ-XP.rar


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (10)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看过了
现在在学习啊
谢谢
2004-8-26 11:02
0
雪    币: 241
活跃值: (145)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
有没有遇到keyfile放几个地方的东东。
2004-8-26 17:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
楼主你好 我是一菜鸟  
看了你的 破解过程  自己也试了几次  都没成功
能把你破解之后的 这个程序发上来吗  
或者 发到我邮箱里也成  [email]cn918@163.com[/email]
谢谢 了 ~     
   
                 一个超级超级菜的大菜鸟   2004.9.1
2004-9-1 08:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
有高手没啊   加我 QQ 好吗  我的QQ : 65670170
我现在 怎么也破解不了  楼主的这个程序
555555555555555555555555555
2004-9-1 10:06
0
雪    币: 217
活跃值: (86)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
我是XP系统用不了,用虚拟机不知怎么搞的,一用热键唤出就出错了,这个东西至今不会用,ICE也用不好,只会用OLLYDBG
2004-9-1 13:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
其实 我也用0D 弄了
不过想 彻底破解它  
唉...................
2004-9-1 15:45
0
雪    币: 186
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
再不要帖明码比较的破解文章了吧。
还设成精华,就鼓励作者来说是应该的,但这不是误导读者嘛。
加重读者的学习负担。
用winhex一看就找到注册码了。
2004-9-1 16:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
楼上的能加我 QQ 吗?
有事请教............
65670170   
拜托  谢谢............
2004-9-1 16:43
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
哪位 高手 能看懂楼主说的的 破解方法   帮帮我好吗
我为了弄它  2个晚上没睡觉了  就要挂了 .........
我QQ 是   65670170    等待 破解高手来救命~
我在北京上学   来北京 我可以请大家吃烤鸭的
2004-9-2 18:00
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
这是苹果派的一个外挂,aspack2.12-damn 的壳
2004-9-4 21:02
0
游客
登录 | 注册 方可回帖
返回
//