160 - 18 Brad Soblesky.1

环境:

windows xp sp3


工具:

Ollydbg,exeinfope


用exeinfope查壳:

   没有壳,vc编译的


运行后第一步,随便输入个”12345“,弹出一个错误消息框。


OD载入后直接搜索错误消息框的字符串,发现字符串也不多

文本字串参考位于 Brad_Sob:.text
地址       反汇编                                    文本字串
00401571   push Brad_Sob.0040302C                    ASCII "CrackMe"
00401576   push Brad_Sob.00403034                    ASCII "Enter Registration Number"
00401595   jnz XBrad_Sob.004015AD                    (初始 CPU 选择)
00401599   push Brad_Sob.00403050                    ASCII "CrackMe"
0040159E   push Brad_Sob.00403058                    ASCII "Correct way to go!!"
004015AF   push Brad_Sob.0040306C                    ASCII "CrackMe"
004015B4   push Brad_Sob.00403074                    ASCII "Incorrect try again!!"
00401CE5   push 0x10000                              UNICODE "=::=::\"

一眼看到错误信息所在位置,在反汇编窗口跟随。

00401512  /.  55            push ebp
00401513  |.  8BEC          mov ebp,esp
00401515  |.  83EC 20       sub esp,0x20
00401518  |.  894D E0       mov [local.8],ecx
0040151B  |.  66:A1 5C31400>mov ax,word ptr ds:[0x40315C]
00401521  |.  66:8945 F4    mov word ptr ss:[ebp-0xC],ax
00401525  |.  33C9          xor ecx,ecx
00401527  |.  894D F6       mov dword ptr ss:[ebp-0xA],ecx
0040152A  |.  894D FA       mov dword ptr ss:[ebp-0x6],ecx
0040152D  |.  8B15 20304000 mov edx,dword ptr ds:[0x403020]
00401533  |.  8955 E4       mov [local.7],edx
00401536  |.  A1 24304000   mov eax,dword ptr ds:[0x403024]
0040153B  |.  8945 E8       mov [local.6],eax
0040153E  |.  66:8B0D 28304>mov cx,word ptr ds:[0x403028]
00401545  |.  66:894D EC    mov word ptr ss:[ebp-0x14],cx
00401549  |.  6A 0A         push 0xA
0040154B  |.  8D55 F4       lea edx,[local.3]
0040154E  |.  52            push edx
0040154F  |.  68 E8030000   push 0x3E8
00401554  |.  8B4D E0       mov ecx,[local.8]
00401557  |.  E8 A8050000   call <jmp.&MFC42.#3098>                  ;  这里是读取输入的serial
0040155C  |.  8D45 F4       lea eax,[local.3]
0040155F  |.  50            push eax                                 ; /String
00401560  |.  FF15 04204000 call dword ptr ds:[<&KERNEL32.lstrlenA>] ; \lstrlenA
00401566  |.  8945 F0       mov [local.4],eax
00401569  |.  837D F0 01    cmp [local.4],0x1                        ;  比较输入的serial长度
0040156D  |.  73 16         jnb XBrad_Sob.00401585
0040156F  |.  6A 40         push 0x40
00401571  |.  68 2C304000   push Brad_Sob.0040302C                   ;  ASCII "CrackMe"
00401576  |.  68 34304000   push Brad_Sob.00403034                   ;  ASCII "Enter Registration Number"
0040157B  |.  8B4D E0       mov ecx,[local.8]
0040157E  |.  E8 7B050000   call <jmp.&MFC42.#4224>
00401583  |.  EB 3C         jmp XBrad_Sob.004015C1
00401585  |>  8D4D E4       lea ecx,[local.7]                        ;  直接就是字符串明文比较
00401588  |.  51            push ecx                                 ; /String2
00401589  |.  8D55 F4       lea edx,[local.3]                        ; |
0040158C  |.  52            push edx                                 ; |String1
0040158D  |.  FF15 00204000 call dword ptr ds:[<&KERNEL32.lstrcmpA>] ; \lstrcmpA
00401593  |.  85C0          test eax,eax
00401595  |.  75 16         jnz XBrad_Sob.004015AD
00401597  |.  6A 40         push 0x40
00401599  |.  68 50304000   push Brad_Sob.00403050                   ;  ASCII "CrackMe"
0040159E  |.  68 58304000   push Brad_Sob.00403058                   ;  ASCII "Correct way to go!!"
004015A3  |.  8B4D E0       mov ecx,[local.8]
004015A6  |.  E8 53050000   call <jmp.&MFC42.#4224>
004015AB  |.  EB 14         jmp XBrad_Sob.004015C1
004015AD  |>  6A 40         push 0x40
004015AF  |.  68 6C304000   push Brad_Sob.0040306C                   ;  ASCII "CrackMe"
004015B4  |.  68 74304000   push Brad_Sob.00403074                   ;  ASCII "Incorrect try again!!"
004015B9  |.  8B4D E0       mov ecx,[local.8]
004015BC  |.  E8 3D050000   call <jmp.&MFC42.#4224>
004015C1  |>  8BE5          mov esp,ebp
004015C3  |.  5D            pop ebp
004015C4  \.  C3            retn


单步跟一下就可以发现真正的serial了。

serial:<BrD-SoB>

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

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

相关文章

汉字转拼音缩写

汉字转拼音缩写 /// 〈summary〉 /// 汉字转拼音缩写 /// Code By MuseStudiohotmail.com /// 2014-12-02 /// 〈/summary〉 /// 〈param name"str"〉要转换的汉字字符串〈/param〉 /// 〈returns〉拼音缩写〈/returns〉 public string GetPYString(string str) { s…

160 - 19 Brad Soblesky.2

环境&#xff1a; windows xp sp3 工具&#xff1a; OD&#xff0c;exeinfope 查壳&#xff1a; 用exeinfope查壳&#xff0c;发现没有壳而且是vc编译的 随便输入一个name和serial&#xff0c;name "12345" serial "678910" 弹出错误窗口&#xff0c…

微信公众平台开发(59)相册

微信公众平台开发 微信公众平台开发模式 企业微信公众平台 万能相册 3G相册作者&#xff1a;方倍工作室 地址&#xff1a;http://www.cnblogs.com/txw1958/p/weixin-59-albums.html 相册(Photo album)又称影集或照片集&#xff0c;是用来装放相片的物品。相册主要用来收藏和保…

BugFix系列---开篇介绍

这个系列的文章&#xff0c;主要目的在于积累总结实际开发中遇到的错误&#xff0c;记录下来自己的解决思路&#xff0c;用来提升自己。 不出意外&#xff0c;应该会持续不断的记录更新&#xff0c;在整个开发openstack的过程中&#xff0c;抓住机会吸取开源界大牛的有点经验&a…

160 - 20 BuLLeT.8

环境&#xff1a; Windows xp sp3 工具&#xff1a; exeinfope, ollydbg 查壳&#xff1a; 用exeinfope查壳&#xff0c;发现加了壳 -- WWPack32 ver 1.xx &#xff0c;用f8单步调试法&#xff0c;脱壳。 脱掉之后发现是delphi写的 运行之后发现界面整洁&#xff0c;目标明…

hadoop学习笔记:zookeeper学习(上)

在前面的文章里我多次提到zookeeper对于分布式系统开发的重要性&#xff0c;因此对zookeeper的学习是非常必要的。本篇博文主要是讲解zookeeper的安装和zookeeper的一些基本的应用&#xff0c;同时我还会教大家如何安装伪分布式&#xff0c;伪分布式不能在windows下实现&#x…

恋爱Linux(Fedora20)2——安装Java运行环境(JDK)

因为Fedora20自带OpenJDK&#xff0c;所以我们先删除掉自带的&#xff1a; 1)查看当前的jdk情况 # rpm -qa|grep jdk 2)卸载openjdk # yum -y remove java java-1.7.0-openjdk* 3)下载JDK(我用的是这个&#xff0c;大家用什么版本可以自行选择)。 http://download.csdn.net/det…

160 - 21 Cabeca

环境&#xff1a; Windows xp sp3 工具&#xff1a; exeinfope ollydbg 查壳&#xff1a; 拿到程序后查壳&#xff0c;发现程序无壳&#xff0c;为Delphi写的。 程序长成这个样 输入&#xff1a; Name:GNUBD Serial&#xff1a;1234567 Serial&#xff1a;76543…

JS函数重载解决方案

JS的函数定义可以指定形式参数名称&#xff0c;多多少少我们会以为js至少可以支持参数个数不同的方法重载&#xff0c;然而遗憾的是这仅仅是一个假象&#xff0c;js所有的参数都是以arguments传递过去的&#xff0c;这个参数类似于数组&#xff0c;在函数调用的时候&#xff0c…

JS中replace替换全部元素的解决办法

JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 然而我们大多数需要替换的是全部匹配的元素&#xff0c;而JavaScript又没有java中的replaceAll的方法&#xff0c;这个时候就需要特殊处理了。 String repace(new R…

160 - 22 CarLitoZ.1

环境 Windows xp sp3 工具 exeinfope Ollydbg 查壳 无壳的VB程序 测试 输入“1234567” 显示这个&#xff1a; 直接OD载入字符串搜索。 00402D20 > \55 push ebp 00402D21 . 8BEC mov ebp,esp 00402D23 . 83EC 0C sub e…

实战MEF(4):搜索范围

在前面的文章中&#xff0c;几乎每个示例我们都会接触到扩展类的搜索位置&#xff0c;我们也不妨想一下&#xff0c;既然是自动扩展&#xff0c;它肯定会有一个或者多人可供查找的位置&#xff0c;不然MEF框架怎么知道哪里有扩展组件呢&#xff1f; 就像我们用导航系统去查找某…

Android应用程序请求SurfaceFlinger服务创建Surface的过程分析

文章转载至CSDN社区罗升阳的安卓之旅&#xff0c;原文地址&#xff1a;http://blog.csdn.net/luoshengyang/article/details/7884628 前面我们已经学习过Android应用程序与SurfaceFlinger服务的连接过程了。连接上SurfaceFlinger服务之后&#xff0c;Android应用程序就可以请求…

Oracle面试题(基础篇)

1. Oracle跟SQL Server 2005的区别&#xff1f; 宏观上&#xff1a; 1). 最大的区别在于平台&#xff0c;oracle可以运行在不同的平台上&#xff0c;sql server只能运行在windows平台上&#xff0c;由于windows平台的稳定性和安全性影响了sql server的稳定性和安全性 2). oracl…

160 - 23 Chafe.1

环境 Windows xp sp3 工具 exeinfope ollydbg 查壳 用exeinfoe查壳 测试 可以从左下角状态栏看出serial是无效的 直接OD载入字符串搜索 00401274 |. /75 17 jnz XChafe_1.0040128D 00401276 |. |6A 00 push 0x0 ; /Ti…

fis 详细介绍(mac版) - 12-26没有弄完 - 暂停

fis可以让fe进入角色&#xff0c;而不必担心底层的架构&#xff0c;性能得到优化。仅需三条命令&#xff0c;即可解决所有前端开发要求fis是nodejs写的&#xff0c;发布在vpn(&#xff1f;)上下载 www.nodejs.org&#xff0c;并安装nodejs&#xff0c;其中包括npm安装fis: sudo…

用文件模拟CMOS保存数据

Hi3520D 芯片的内置CMOS最多只有5个字节可以用&#xff0c;但是我需要保存的数据有很多。 其中一个解决办法是&#xff1a;可以把其他需要保存的数据放到一个配置文件中。每次写的时候写到配置文件&#xff0c;用的时候再从配置文件读出数据即可。 用文件写&#xff1a; 1 stat…

160 - 24 Chafe.2

环境&#xff1a; Windows xp sp3 工具 exeinfope OllyDBG 查壳 用exeinfope查壳&#xff0c;发现是没有壳的。 测试 可以看出是从红色框框里面的内容判断serial是否有效 OD载入&#xff0c;字符串搜索可以得到&#xff1a; 004011EC . 55 pus…

十个利用矩阵乘法解决的经典题目

转载自 Matrix67: The Aha Moments 好像目前还没有这方面题目的总结。这几天连续看到四个问这类题目的人&#xff0c;今天在这里简单写一下。这里我们不介绍其它有关矩阵的知识&#xff0c;只介绍矩阵乘法和相关性质。 不要以为数学中的矩阵也是黑色屏幕上不断变化的绿色…

[C++]搞清楚类中构造与析构的顺序

定义一个类对象时&#xff0c;首先根据初始化列表初始化类的成员&#xff08;就算没有显式定义初始化列表&#xff0c;编译器也会默认地初始化一次&#xff09;&#xff0c;然后运行构造函数。因此&#xff0c;类成员的构造函数必定先于类的构造函数运行。 class A { public:A(…