首页
社区
课程
招聘
[旧帖] [分享][分享]一个简单的 VB 程序的破解 0.00雪花
发表于: 2010-4-16 14:48 1283

[旧帖] [分享][分享]一个简单的 VB 程序的破解 0.00雪花

2010-4-16 14:48
1283
来看雪论坛已经很久了,其中也学到了很多东东。作为菜鸟,在此谈谈本人破解经验,希望可以对刚入门的朋友有用。
  软件: 一款查询工具 ,可以快速查询手机话费余额。
  peid:Microsoft Visual Basic 5.0 / 6.0
  EP区段: .text
  调试工具: C32Asm    OD
  先打开软件,弹出注册框(您的机器码如下,请复制下面框中整行字给软件设计商)——确定——对话框(请输入你的注册码)——输入假码(0000000000)——软件自动关闭,没有任何提示。
软件目录中生成了一个.ini文件。
可以判断这款软件是一个文件自效验的。注册成功后软件会将信息保存在.ini文件中,以后开启软件时会自动识别软件是否已注册。
现在已经基本了解到了这个软件的有用信息,我们现在可以进行破解了。
首先用C32Asm载入 —— 查看—— 字符串——编辑——Unicode——导出text文件。
用记事本程序打开导出的text文件如下(截取部分)

您的机器码如下,请复制下面框中整行字给软件设计商
        ::0044B8BA->MOV EDX,416CB8
您还有
        ::0043DFF4->PUSH 411468
您输入的第 1 张一卡通当前可用余额已经为零
        ::00440C14->MOV EDX,411B08
佩?暙???怀鏓伉?暙???怀鏓?
        ::00432C9C->PUSH 410C7C
        ::00432D6F->PUSH 410C7C
        ::00432DDF->PUSH 410C7C
        ::004372B2->PUSH 410C7C
        ::00437339->PUSH 410C7C
        ::004373BF->PUSH 410C7C
        ::0043758D->PUSH 410C7C
        ::00437614->PUSH 410C7C
        ::004376B7->PUSH 410C7C
        ::0043EA68->PUSH 410C7C
        ::0043EAC1->PUSH 410C7C
        ::0043EB1E->PUSH 410C7C
        ::0043EB77->PUSH 410C7C
沁Ф;
        ::0040804D->ADD DWORD PTR [EAX],4081BD
清空成功
        ::004304FB->MOV DWORD PTR [EBP-70],410D84
请检查网页内容
        ::0041F6C6->MOV DWORD PTR [EBP-78],40DDF4
请输入
        ::0043C491->PUSH 411294
        ::0043C55E->PUSH 411294
请输入卡号和密码以及验证码
        ::00440D32->MOV EDX,411B50
请输入内容
        ::00433BF3->MOV EDX,40CBA0
请输入您的注册码
        ::0044B97B->MOV EDX,416D58
请输入验证码
        ::0042CFFA->PUSH 4107B8
请输入账号
        ::00440EDF->MOV EDX,411988
        ::004412C5->MOV EDX,411988
请输入账号和密码,格式:aaa,bbb
        ::004431FD->MOV EDX,411ED8
请输入资料
        ::004368D4->MOV EDX,4111DC
请先初始化K
        ::0044BBDD->MOV DWORD PTR [EBP-68],416D80
请先复制内容
        ::00433F6B->MOV DWORD PTR [EBP-78],411008
请选择一台最新的电脑安装
        ::0044B86A->PUSH 416CF0
如果没登成功请在网页上先登
        ::0044388E->MOV DWORD PTR [EBP-58],411F04
软件名称:
        ::0044B8D3->PUSH 414000
设计登录
        ::0043D2D7->MOV EDX,411424
是否要清空,确认请输入2个或更多字符
        ::00430416->MOV EDX,410D58
手工登陆成功
        ::0043EB0B->PUSH 4115CC
手机号
        ::0043EE98->MOV EDX,411714
输入:
        ::0043EEE5->PUSH 411720
所有文件 (*.*)
        ::0044584B->PUSH 4164F4
        ::00445942->PUSH 4164F4

        ::004238C3->MOV DWORD PTR [EBP-10C],40EE04
维护登陆
        ::0043D1D7->MOV EDX,411414
未知
        ::00442C1F->MOV EDX,411EBC
未知错误,已停止操作
        ::0043B391->MOV DWORD PTR [EBP-90],411244
无效的密码,请重试!
        ::0043E0C1->PUSH 411484
仙?暙???怀鏓\x0A
        ::004227D2->PUSH 40E2B0
        ::00422817->PUSH 40E2B0
        ::00422846->PUSH 40E2B0
        ::0042F99A->PUSH 40E2B0
        ::004317A8->PUSH 40E2B0
        ::004317DD->PUSH 40E2B0
        ::00431896->PUSH 40E2B0
        ::004318E6->PUSH 40E2B0
        ::00431942->PUSH 40E2B0
        ::00431977->PUSH 40E2B0
        ::004362DB->PUSH 40E2B0
        ::00436BE4->PUSH 40E2B0
        ::00436C6A->PUSH 40E2B0
        ::00436DFE->PUSH 40E2B0
        ::00436E85->PUSH 40E2B0
        ::00436F0C->PUSH 40E2B0
小时
        ::00423A7B->MOV DWORD PTR [EBP-10C],40EE0C
休?暙???怀鏓\x0C
        ::00430A30->PUSH 4106A4
        ::00430D4D->PUSH 4106A4
        ::00430DBD->PUSH 4106A4
        ::00430EAD->PUSH 4106A4
        ::00431186->PUSH 4106A4
        ::0043120D->PUSH 4106A4
        ::00433508->PUSH 4106A4
        ::004335B4->PUSH 4106A4
        ::00434EC6->PUSH 4106A4
        ::00437AA4->PUSH 4106A4
        ::0043812C->PUSH 4106A4
        ::00438364->PUSH 4106A4
        ::00438D5A->PUSH 4106A4
        ::00439D71->PUSH 4106A4
        ::0043A2C8->PUSH 4106A4
        ::0043A371->PUSH 4106A4
        ::0043A41E->PUSH 4106A4
验证码
        ::0043EF13->MOV EDX,411738
验证码不一致
        ::00441118->MOV EDX,4119C8
一般情况下,原价购买软件包一年升级
        ::0044B8A8->PUSH 416D30
已到最后一条信息!
        ::0042164B->MOV DWORD PTR [EBP-68],40E0E8
已试
        ::0043DFA4->PUSH 411454
暂停软件操作
        ::0042DD3D->MOV EDX,410BC8
粘贴成功!
        ::00421CD6->MOV DWORD PTR [EBP-78],40E1E4
粘贴失败!
        ::00421D04->MOV DWORD PTR [EBP-78],40E1F4
账号不存在
        ::00440E50->MOV EDX,411B8C
        ::004411A7->MOV EDX,411B8C
謀???倈鋿и
        ::00415D9D->IMUL ESI,GS:[BP+DI+74],437265
注册版
        ::00434A3B->MOV DWORD PTR [EBP-F8],4110E0
注册成功!
        ::0044BA87->MOV DWORD PTR [EBP-8C],416D70
注册后不可更换硬盘及电脑
        ::0044B882->PUSH 416D10
字符串为:
        ::00421843->PUSH 40E144
仡?暙???怀鏓\x06


  哈哈!! 找到突破口了 。关键字符串

注册成功!
        ::0044BA87->MOV DWORD PTR [EBP-8C],416D70


  至此破解可以说是成功了一半,下面就要看OD的功效了:

  用OD 载入 ——右键——转到——0044BA87

0044BA52    E8 89020000     call 河南移动.0044BCE0   关键CALL (F7跟进)
0044BA57    66:3BC7         cmp ax,di                             标志位置   
0044BA5A    8945 EC         mov dword ptr ss:[ebp-14],eax
0044BA5D    74 7A           je short 河南移动.0044BAD9                关键跳
0044BA5F    B9 04000280     mov ecx,80020004
0044BA64    B8 0A000000     mov eax,0A
0044BA69    894D 84         mov dword ptr ss:[ebp-7C],ecx
0044BA6C    894D 94         mov dword ptr ss:[ebp-6C],ecx
0044BA6F    894D A4         mov dword ptr ss:[ebp-5C],ecx
0044BA72    8D95 6CFFFFFF   lea edx,dword ptr ss:[ebp-94]
0044BA78    8D4D AC         lea ecx,dword ptr ss:[ebp-54]
0044BA7B    8985 7CFFFFFF   mov dword ptr ss:[ebp-84],eax
0044BA81    8945 8C         mov dword ptr ss:[ebp-74],eax
0044BA84    8945 9C         mov dword ptr ss:[ebp-64],eax
0044BA87    C785 74FFFFFF 7>mov dword ptr ss:[ebp-8C],河南移动.00416D70  注册成功
0044BA91    C785 6CFFFFFF 0>mov dword ptr ss:[ebp-94],8
0044BA9B    FF15 68134000   call dword ptr ds:[<&MSVBVM60.__vbaVarDu>; MSVBVM60.__vbaVarDup
0044BAA1    8D8D 7CFFFFFF   lea ecx,dword ptr ss:[ebp-84]
0044BAA7    8D55 8C         lea edx,dword ptr ss:[ebp-74]
0044BAAA    51              push ecx
0044BAAB    8D45 9C         lea eax,dword ptr ss:[ebp-64]
0044BAAE    52              push edx
0044BAAF    50              push eax
0044BAB0    8D4D AC         lea ecx,dword ptr ss:[ebp-54]
0044BAB3    57              push edi
0044BAB4    51              push ecx
0044BAB5    FF15 14114000   call dword ptr ds:[<&MSVBVM60.#595>]     ; MSVBVM60.rtcMsgBox
0044BABB    8D95 7CFFFFFF   lea edx,dword ptr ss:[ebp-84]
0044BAC1    8D45 8C         lea eax,dword ptr ss:[ebp-74]
0044BAC4    52              push edx
0044BAC5    8D4D 9C         lea ecx,dword ptr ss:[ebp-64]
0044BAC8    50              push eax
0044BAC9    8D55 AC         lea edx,dword ptr ss:[ebp-54]
0044BACC    51              push ecx
0044BACD    52              push edx
0044BACE    6A 04           push 4


  在0044BA52 处下断 ,F9 运行 —— 输入假注册码(000000) —— 确定
程序被OD断在了 0044BA52  处
F7跟进关键CALL   代码如下:
0044BCE0    55              push ebp  
0044BCE1    8BEC            mov ebp,esp
0044BCE3    83EC 08         sub esp,8
0044BCE6    68 963F4000     push <jmp.&MSVBVM60.__vbaExceptHandler>
0044BCEB    64:A1 00000000  mov eax,dword ptr fs:[0]
0044BCF1    50              push eax
0044BCF2    64:8925 0000000>mov dword ptr fs:[0],esp
0044BCF9    83EC 50         sub esp,50
0044BCFC    53              push ebx
0044BCFD    56              push esi
0044BCFE    57              push edi
0044BCFF    8965 F8         mov dword ptr ss:[ebp-8],esp
0044BD02    C745 FC 803F400>mov dword ptr ss:[ebp-4],河南移动.00403F80
0044BD09    33FF            xor edi,edi
0044BD0B    6A 02           push 2
0044BD0D    57              push edi
0044BD0E    897D E8         mov dword ptr ss:[ebp-18],edi
0044BD11    897D E4         mov dword ptr ss:[ebp-1C],edi
0044BD14    897D D4         mov dword ptr ss:[ebp-2C],edi
0044BD17    897D C4         mov dword ptr ss:[ebp-3C],edi
0044BD1A    897D B4         mov dword ptr ss:[ebp-4C],edi
0044BD1D    897D A4         mov dword ptr ss:[ebp-5C],edi
0044BD20    E8 7BF6FFFF     call 河南移动.0044B3A0
0044BD25    8945 DC         mov dword ptr ss:[ebp-24],eax
0044BD28    8D45 D4         lea eax,dword ptr ss:[ebp-2C]
0044BD2B    8D4D C4         lea ecx,dword ptr ss:[ebp-3C]
0044BD2E    BE 08000000     mov esi,8
0044BD33    50              push eax
0044BD34    51              push ecx
0044BD35    8975 D4         mov dword ptr ss:[ebp-2C],esi
0044BD38    FF15 48114000   call dword ptr ds:[<&MSVBVM60.#520>]     ; MSVBVM60.rtcTrimVar
0044BD3E    8D55 C4         lea edx,dword ptr ss:[ebp-3C]
0044BD41    8D45 A4         lea eax,dword ptr ss:[ebp-5C]
0044BD44    52              push edx
0044BD45    8D4D B4         lea ecx,dword ptr ss:[ebp-4C]
0044BD48    50              push eax
0044BD49    51              push ecx
0044BD4A    C745 AC 1CCE400>mov dword ptr ss:[ebp-54],河南移动.0040CE1C


这个CAll 跟进后 相信朋友们是很熟悉的,在
0044BCE0    55              push ebp  
0044BCE1    8BEC            mov ebp,esp
0044BCE3    83EC 08         sub esp,8
0044BCE6    68 963F4000     push <jmp.&MSVBVM60.__vbaExceptHandler>
处可以进行 标志位置 爆破
方法如下:
0044BCE0    55              push ebp                 (mov al,1)
0044BCE1    8BEC            mov ebp,esp             (retn)
修改后
0044BCE0    B0 01           mov al,1
0044BCE2    C3              retn
这样就可以了,选择修改处——右键——复制到可执行文件——保存——李丫头007(软件爆破后给它赋的名)
  爆破只有软件就没有注册框弹出了,直接就可以用了!

当然这个只是最初级的爆破了,有时间再写追真码的下篇了。
  关于破解我觉的是一个兴趣的问题,要有长久的热情。每次遇到困难都会是一个很好的机遇,让你在这条路上有新的突破,有新的发展!只有不断的探索,才会有更好的收获!

  在这里写给初入门者,祝愿大家在这条路上都能找到属于自己的那份快乐,那份收获!

感谢看雪论坛,永远支持您!
有错误的地方希望大家批评指正

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢楼主教程,很详细啊!!!
2010-4-20 15:39
0
雪    币: 223
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
方法如下:
0044BCE0    55              push ebp                 (mov al,1)
0044BCE1    8BEC            mov ebp,esp             (retn)
修改后
0044BCE0    B0 01           mov al,1
0044BCE2    C3              retn

这里这样修改的具体意思是什么?不知LZ能不能解答一下。。。我不懂,所以请教各位
2010-4-20 16:29
0
雪    币: 47
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学习中.............
2010-4-22 10:57
0
游客
登录 | 注册 方可回帖
返回
//