160 - 25 CodeZero.1

环境
Windows xp sp3

工具
exeinfope
OllyDBG

查壳
无壳的VB程序

测试
运行程序后出现Nag窗口,所以这次的目标是除Nag窗口和找到serial

程序运行后弹出Nag窗口,并且等待5秒后按钮的标题改成“Continue..”,点击后才会弹出输入serial的窗口。

字符串搜索可以一下子知道serial的内容:

00405721   .  68 A4264000   push CodeZero.004026A4                   ;  UNICODE "55555"
00405726   .  E8 3BBAFFFF   call <jmp.&MSVBVM50.__vbaStrCmp>
0040572B   .  8BF0          mov esi,eax
0040572D   .  8D4D E8       lea ecx,dword ptr ss:[ebp-0x18]
00405730   .  F7DE          neg esi
00405732   .  1BF6          sbb esi,esi
00405734   .  46            inc esi
00405735   .  F7DE          neg esi
00405737   .  E8 18BAFFFF   call <jmp.&MSVBVM50.__vbaFreeStr>
0040573C   .  8D4D E4       lea ecx,dword ptr ss:[ebp-0x1C]
0040573F   .  E8 0ABAFFFF   call <jmp.&MSVBVM50.__vbaFreeObj>
00405744   .  6A 0A         push 0xA
00405746   .  66:3BF3       cmp si,bx
00405749   .  58            pop eax
0040574A   .  B9 04000280   mov ecx,0x80020004
0040574F   .  6A 08         push 0x8
00405751   .  894D AC       mov dword ptr ss:[ebp-0x54],ecx
00405754   .  5E            pop esi
00405755   .  894D BC       mov dword ptr ss:[ebp-0x44],ecx
00405758   .  8945 A4       mov dword ptr ss:[ebp-0x5C],eax
0040575B   .  8945 B4       mov dword ptr ss:[ebp-0x4C],eax
0040575E   .  C745 8C 68264>mov dword ptr ss:[ebp-0x74],CodeZero.004>;  UNICODE "VB Crack-Me 1.0 by CodeZero"
00405765   .  8975 84       mov dword ptr ss:[ebp-0x7C],esi
00405768   .  8D55 84       lea edx,dword ptr ss:[ebp-0x7C]
0040576B   .  8D4D C4       lea ecx,dword ptr ss:[ebp-0x3C]
0040576E   .  74 2A         je XCodeZero.0040579A
00405770   .  E8 CDB9FFFF   call <jmp.&MSVBVM50.__vbaVarDup>
00405775   .  8D55 94       lea edx,dword ptr ss:[ebp-0x6C]
00405778   .  8D4D D4       lea ecx,dword ptr ss:[ebp-0x2C]
0040577B   .  C745 9C B4264>mov dword ptr ss:[ebp-0x64],CodeZero.004>;  UNICODE "Congratulations! you've really made it :-)"
00405782   .  8975 94       mov dword ptr ss:[ebp-0x6C],esi
00405785   .  E8 B8B9FFFF   call <jmp.&MSVBVM50.__vbaVarDup>
0040578A   .  8D45 A4       lea eax,dword ptr ss:[ebp-0x5C]
0040578D   .  50            push eax
0040578E   .  8D45 B4       lea eax,dword ptr ss:[ebp-0x4C]
00405791   .  50            push eax
00405792   .  8D45 C4       lea eax,dword ptr ss:[ebp-0x3C]
00405795   .  50            push eax
00405796   .  6A 40         push 0x40
00405798   .  EB 28         jmp XCodeZero.004057C2
0040579A   >  E8 A3B9FFFF   call <jmp.&MSVBVM50.__vbaVarDup>
0040579F   .  C745 9C 10274>mov dword ptr ss:[ebp-0x64],CodeZero.004>;  UNICODE "Invalid unlock code, please try again."
004057A6   >  8D55 94       lea edx,dword ptr ss:[ebp-0x6C]
004057A9   .  8D4D D4       lea ecx,dword ptr ss:[ebp-0x2C]
004057AC   .  8975 94       mov dword ptr ss:[ebp-0x6C],esi
004057AF   .  E8 8EB9FFFF   call <jmp.&MSVBVM50.__vbaVarDup>

字符串明文比较

剩下来就是去除Nag窗口了:
OD打开程序后让程序运行起来,等显示“continue..”后对.text段下内存访问断点,然后让程序运行,多按几次F9就可以来到这里。

00402330   .  816C24 04 570>sub dword ptr ss:[esp+0x4],0x57
00402338   .  E9 85360000   jmp CodeZero.004059C2       ; 用来显示输入serial窗口
0040233D   .  816C24 04 330>sub dword ptr ss:[esp+0x4],0x33
00402345      E9 7B370000   jmp CodeZero.00405AC5       ; 用来显示Nag窗口的“50040234A   .  816C24 04 3F0>sub dword ptr ss:[esp+0x4],0x3F
00402352      E9 77380000   jmp CodeZero.00405BCE       ; 用来显示Nag窗口的“400402357   .  816C24 04 430>sub dword ptr ss:[esp+0x4],0x43
0040235F      E9 73390000   jmp CodeZero.00405CD7       ; 用来显示Nag窗口的“300402364   .  816C24 04 470>sub dword ptr ss:[esp+0x4],0x47
0040236C      E9 6F3A0000   jmp CodeZero.00405DE0       ; 用来显示Nag窗口的“200402371   .  816C24 04 4B0>sub dword ptr ss:[esp+0x4],0x4B
00402379      E9 6B3B0000   jmp CodeZero.00405EE9       ; 用来显示Nag窗口的“10040237E   .  816C24 04 530>sub dword ptr ss:[esp+0x4],0x53
00402386      E9 673C0000   jmp CodeZero.00405FF2       ; 用来显示Nag窗口的“continue..”

会发现即使在上面的指令里下了断点也无法阻挡Nag窗口的出现,表面Nag窗口的指令比这些还要早就执行了。

观察这些jmp所跳到的地方,发现[004059C2]是最小的,如果跟到[004059C2],会发现这段指令上面还有很多指令。

0040595C  |.  57            push edi
0040595D  |.  50            push eax
0040595E  |.  E8 F7B7FFFF   call <jmp.&MSVBVM50.__vbaHresultCheckObj>
00405963  |>  833D 38704000>cmp dword ptr ds:[0x407038],0x0
0040596A  |.  75 0F         jnz XCodeZero.0040597B
0040596C  |.  68 38704000   push CodeZero.00407038
00405971  |.  68 B01D4000   push CodeZero.00401DB0
00405976  |.  E8 B5B7FFFF   call <jmp.&MSVBVM50.__vbaNew2>
0040597B  |>  8B35 38704000 mov esi,dword ptr ds:[0x407038]
00405981      6A FF         push -0x1
00405983      56            push esi
00405984      8B06          mov eax,dword ptr ds:[esi]
00405986      FF90 BC010000 call dword ptr ds:[eax+0x1BC]          ; 这里是生成Nag窗口的地方
0040598C  |.  85C0          test eax,eax
0040598E  |.  7D 11         jge XCodeZero.004059A1
00405990  |.  68 BC010000   push 0x1BC
00405995  |.  68 C8274000   push CodeZero.004027C8
0040599A  |.  56            push esi
0040599B  |.  50            push eax
0040599C  |.  E8 B9B7FFFF   call <jmp.&MSVBVM50.__vbaHresultCheckObj>
004059A1  |>  8365 FC 00    and [local.1],0x0
004059A5  |.  8B45 08       mov eax,[arg.1]
004059A8  |.  50            push eax
004059A9  |.  8B08          mov ecx,dword ptr ds:[eax]
004059AB  |.  FF51 08       call dword ptr ds:[ecx+0x8]
004059AE  |.  8B4D EC       mov ecx,[local.5]
004059B1  |.  8B45 FC       mov eax,[local.1]
004059B4  |.  5F            pop edi
004059B5  |.  5E            pop esi
004059B6  |.  64:890D 00000>mov dword ptr fs:[0],ecx
004059BD  |.  5B            pop ebx
004059BE  |.  C9            leave
004059BF  \.  C2 0400       retn 0x4
004059C2   >  55            push ebp                   ; 这里往下是生成输入serial窗口的地方
004059C3   .  8BEC          mov ebp,esp

[004059C2]上面的指令具体又是什么时候实现的呢?
可以找到大多数每段指令开始的地方看一看

push ebp

于是找到了这个:

0040583D  /> \55            push ebp

然后就跟到了这里来:

00401D88   .  816C24 04 330>sub dword ptr ss:[esp+0x4],0x33
00401D90   .  E9 5F380000   jmp CodeZero.004055F4    ; 这个是响应点击“Check”
00401D95   .  816C24 04 370>sub dword ptr ss:[esp+0x4],0x37
00401D9D   .  E9 9B3A0000   jmp CodeZero.0040583D    ; 这个是响应点击“About”
00401DA2   .  816C24 04 3F0>sub dword ptr ss:[esp+0x4],0x3F
00401DAA   .  E9 563B0000   jmp CodeZero.00405905    ; 这个是跳到生成Nag窗口的

现在就可以去除Nag窗口了,只需要把:

0040583D  /> \55            push ebp

改为:

00405905      C2 0400       retn 0x4

然后再将:

00402345      E9 7B370000   jmp CodeZero.00405AC5    ; 显示“5”

改为:

00402345     /E9 78360000   jmp CodeZero.004059C2    ; 显示输入serial的窗口

patch后就可以去除Nag窗口了。
而serial则是“55555”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WP8开发学习笔记动态修改启动时导航的第一个页面(如登录前启动页为LoginPage,登录后变为MainPage)...

很多时候我们需要在启动程序的时候根据状态改变初始导航页面&#xff0c;比如程序在启动的时候判断用户是否登录&#xff0c; 如果未登录则跳转到LoginPage.xaml否则跳转到MainPage界面。 这时候就要分析程序的启动和导航的过程。 程序的启动是App.xamlcs负责的。 App类的构造器…

6.数组和Hash表

当显示多条结果时&#xff0c;存储在变量中非常智能&#xff0c;变量类型会自动转换为一个数组。 在下面的例子中&#xff0c;使用GetType()可以看到$a变量已经不是我们常见的string或int类型&#xff0c;而是Object类型&#xff0c;使用-is操作符来判断是否是个数组&#xff0…

160 - 26 Colormaster

环境 Windows xp sp3 查壳 无壳的VB程序 测试&#xff1a; 输入 Name:123456 Serial:12345 字符串搜索&#xff0c;找到判断位置。 判断Name的长度要大于等于5&#xff1a; 00402CBC . 33C9 xor ecx,ecx 00402CBE . 83F8 04 cmp eax,0x4 00…

Android 菜单(OptionMenu)大全 建立你自己的菜单

菜单是用户界面中最常见的元素之一&#xff0c;使用非常频繁&#xff0c;在Android中&#xff0c;菜单被分为如下三种&#xff0c;选项菜单&#xff08;OptionsMenu&#xff09;、上下文菜单&#xff08;ContextMenu&#xff09;和子菜单&#xff08;SubMenu&#xff09;&#…

160 - 27 Cosh.1

环境 Windows XP sp3 工具 exeinfope ollydbg 查壳 无壳的MFC程序 测试 弹出这个&#xff1a; 是一个CD-CHECK保护的程序。 字符串搜索&#xff0c;一下子就能来到这里&#xff1a; 0040121A . 68 9C304000 push Cosh_1.0040309C …

160 - 28 CoSH.2

环境 Windows xp sp3 工具 exeinfope ollydbg 查壳 无壳的MFC程序 测试 输入 Nmae:123456 Serial:12345 点击“CHECK”后弹出错误提示的消息框&#xff0c;然后程序自己结束掉 依然是字符串搜索&#xff1a; 004014DB . 8B1D FC214000 mov ebx,dword ptr ds…

ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework

文章来源&#xff1a; Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html 上一节&#xff1a;ASP.NET MVC 5 入门教程 (4) View和ViewBag 下一节&#xff1a;ASP.NET MVC5 EF6 入门教程 (6) View中的Razor使用 源码下载&#xff1a;点我下…

160 - 29 cosh.3

环境 Windows xp sp3 工具 exeinfope ollydbg 查壳 无壳的MFC程序 测试 字符串搜索&#xff1a; 004014F5 |. E8 AA030000 call <jmp.&MFC42.#CWnd::GetWindowTextLengthA_> 004014FA |. 8945 EC mov [local.5],eax 004014FD |. 837D EC 0…

hdu--4902--线段树

题意 前面一段废话 这题 最有意思的应该是出题人 是clj 这题的时限放的太宽了 给了15s 我也是醉了 区间更新。 1 #include <iostream>2 #include <algorithm>3 using namespace std;4 5 const int size 200010;6 int a[size];7 struct data8 {9 int L , R ,…

(五) 面向对象类设计原则

1. 开闭原则&#xff08;the Open Closed Principle OCP&#xff09; 一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。因此在进行面向对象设计时要尽量考虑接口封装机制、抽象机制和多态技术。该原则同样适合于非面向对象设计的方法&#xff0c;是软件工程 设计…

160 - 30 cracking4all.1

环境 Windows XP sp3 工具 exeinfope ollydbg 查壳 无壳的VB程序 测试 这个serial藏得比较里面&#xff0c;多点几下才能看到 字符串搜索&#xff1a; 00403338 . 50 push eax ; /var18 00403339 . 51 …

MVC5 + EF6 入门完整教程

MVC5 EF6 入门完整教程 原文:MVC5 EF6 入门完整教程第0课 从0开始 ASP.NET MVC开发模式和传统的WebForm开发模式相比&#xff0c;增加了很多"约定"。 直接讲这些 "约定" 会让人困惑&#xff0c;而且东西太多容易忘记。 和微软官方教程不同&#xff0c…

160 - 31 cracking4all.2

环境 Windows xp sp3 工具 exeinfope ollydbg 查壳 无壳VB程序 测试 输入1234567 OD载入字符串搜素&#xff0c;往上翻就看到这里&#xff0c;我截取部分片段&#xff1a; 00402C26 . 8D55 98 lea edx,dword ptr ss:[ebp-0x68] ; 取serial长度…

160 - 32 genocide1

环境 Windows xp sp3 工具 upx exeinfope ollydbg 查壳 发现是upx壳&#xff0c;手脱的话会不干净&#xff0c;影响OD分析。 所以就直接用 upx -d 脱了 手脱&#xff1a; upx -d: 用upx -d 脱的版本进行分析。 第一次运行时显示这个&#xff1a; 缺少Reg.dat…

160 - 33 Cruehead.1

环境 windows xp sp3 工具 exeinfo pe ollydbg 查壳 无壳的汇编程序&#xff08;OD载入的出来的&#xff09; 测试 当name输入为数字时&#xff0c;会弹出两次错误框。 OD载入搜字符串&#xff0c;发现有两个地方&#xff1a; 0040134D /$ 6A 30 push 0x…

英文系统上网页内容乱码的解决

今天随便写了一段html 代码示例&#xff0c;代码如下&#xff1a; <html lang"zh-cn"> <head> </head> <body> <h1>HTML 教程目录</h1> <ul> <li><a href"#C1">第一章</a></li> <li…

160 - 34 Cruehead.3

环境 windows xp sp3 工具 1.exeinfo pe 2.ollydbg 3.WinHex 查壳 和上一个一样&#xff0c;OD载入判断出 测试 运行后发现是没有任何提示&#xff0c;而且没有输入serial的窗口&#xff0c;通过任务管理器可以看出程序的名称写有“Uncracked”&#xff0c;可以猜测…

160 - 35 cupofcoffe.1

环境 Windows xp sp3 工具 1.exeinfo PE 2.ollydbg 查壳 OD载入后可以看出是VB程序 测试 输入&#xff1a;12345678 显示的内容发生了改变&#xff0c;也不影响查找字符串。 004FEC14 > \8B4D E8 mov ecx,dword ptr ss:[ebp-0x18] 004FEC17 . 51 …

ecshop后台增加模板页的方法

CShop的动态模板机制是一个非常灵活的系统,管理员可以在后台根据自己的要求调整模板模块的显示位置。本文详细讲解了如何修改ECSHOP内部结构使得用户可以添加自己的模板页从而方便灵活的使用系统自带的模板系统和广告位系统。 如下图所示 可以看到ECShop支持设置的模板一共如上…

160 - 36 cupofcoffe.2

环境 Winows xp sp3 工具 1.exeinfo PE 2.ollydbg 查壳 OD载入后看出是VB程序 测试 输入&#xff1a;12345678 继续OD搜字符串&#xff1a; 00521688 . 68 60054500 push cupofcof.00450560 ; UNICODE ".........." 0052168D …