接触CrackMe 第一个

今天刚接触这个 做了一个简单的。

用Onlydbg加载之后,对GetDlgItemTextA函数下断点,因为程序是在控件上获取数据的。

Register输入Name和Serial点击Ok之后,断点响应。

然后执行到return 返回到程序的代码,返回值就是 我们输入的数据。

然后经过一大段代码。

然后会看到下面这几行,其中两个call分别对两个数据进行处理。

CALL CRACKME.0040137E   观察会变代码就会发现 ,

这部分代码主要是判断输入字符串 按照我们的例子 如果是小写字母 会转换成大写字母。

下面这部分是对大写字母的ascii码进行相加

所有处理完后xor 0x5678

CALL CRACKME.004013D8 对Serial进行处理 ,分析代码可以看出来 ,这是对字符串转换成十进制数。

处理完之后xor 0x1234

将两个处理后的值分别保存在eax  和ebx里 进行比较,比较之后

如果相等机会跳转到 下面 0040134d处。 GoodWork!

icqw   ----> ICQW  ----->  0x134 ---xor 0x5678--->  0x574c

由于Serial是xor 0x1234

所以对0x574c    ----xor 0x1234---->  0x4578   ----> 17784

GoodWork!    icqw   17784

时间: 2024-10-10 01:17:11

接触CrackMe 第一个的相关文章

第2章 与c++第一次亲密接触

第2章 与c++第一次亲密接触 2.1 一个c++程序的自白 2.1.1 用visual studio创建c++程序 2.1.2 以手工方式创建c++程序 2.1.3 c++程序=预编译指令+程序代码+注释 2.1.4 编译器和链接器 2.1.5 c++程序的执行过程 2.1.6 程序的两大任务:描述数据与处理数据 2.2 基本输入/输出流 2.2.1 标准的输入和输出对象 2.2.2 输出格式控制 2.2.3 读/写文件 2.3 最常用的开发环境visual studio 2.3.1 visu

一个考试模拟界面——先记录一下下ui上的东东

先上图,有图有真相 要记录的有以下几点: (1)如何给控件widget加背景图片 (2)如何改变控件中的字体大小,如何让界面中字体都改变 (3)如何构造除了这么漂亮的布局呀,这一点上还是很骄傲的!嘿嘿... (4)在python2.7编写出的界面上显示中文 Part1: 还是先写如何布局吧..按照时间顺序来.. 在pyside中,关于layout,已经接触的有:QtGui.QVBoxLayout(竖直向下的),QtGui.QHBoxLayout(横向的),这两天接触到了一个QtGui.QGrid

一个实用的android框架(一)——架构

原文出处:http://saulmm.github.io/2015/02/02/A%20useful%20stack%20on%20android%20%231,%20architecture/ 原码github地址:https://github.com/saulmm/Material-Movies 作者:Saúl Molinero 译者注:这是最近接触到的一个关于安卓架构的项目,也是基于MVP的,分包上的想法和我比较契合.另外,该项目也是使用了Material Design,感觉比较新颖实用.

推荐一个curl库,实现整站克隆功能

有时候经常会用到一些在线手册,比如国内或国外的,有些是访问速度慢,有些是作者直接吧网站关闭了,有些是服务器总是宕机,所以还是全盘克隆到自己服务器比较爽, 这里给大家推荐接触过的一个CURL库,可以实现整站克隆功能,对于复制一些手册站点还是非常实用的. 库特点: 给定一初始连接,初始链接以下的层级所有文件会拷贝到本地. 多次克隆可以配置是否覆盖. 可以配置是否下载图片. 所有链接替换为相对链接,所以可以随便rewrite. 绝对不会出现文件覆盖等问题. 克隆结果展示(这个克隆操作几秒钟就完成了):

一个跨界程序员:不务正业的这几年,我如何让自己的收入翻了十倍(转)

文/姜志辉 3W 小时学编程 我是个很勤奋的孩子,打小就是. 家里对我唯一的要求就是学习. 我在子弟学校,接触计算机比较早.那时候学五笔.CCED 还有 WPS.WPS 有个万能密码:按住 Ctrl 键+求伯君的全拼.我用它在学校的电脑里寻找所有可以找到的情书.这是我第一次感受到信息不对称带来的红利. 后来我也写了一个程序.密码是:Ctrl + 姜志辉. 编程这门技能需要大量的真枪实弹的刻意练习. 有个天才定律,你在一个领域里沉浸了差不多 1W 小时以后才有可能成为专家.我笨一点,用了 3W 小

GDIplus的初次接触--加载并显示常用格式图片

在没有接触Gdiplus之前,在vc中绘制图片,通常加载一张位图,然后进行贴图.对于现在多种多样的图片格式,之前的GDI并不支持(应该是这样的,呵呵).而使用Gdiplus则可以选择多种图片格式,比如BMP, ICON, GIF, JPEG, Exif, PNG, TIFF, WMF, and EMF. 下面就介绍下首次接触Gdiplus的一个简单应用. 一.包括相应的头文件及引入相应的lib <span style="white-space:pre"> </span

博客第一篇:介绍一个js封装类 MSClass.js

新手第一篇博客,如有不足 请多多指教哈~ 在偶然的一次机会,接触到一个js封装类 那时候是我刚学js的时候,觉得什么效果都写不出来,脑子里也没有什么思路和逻辑之类的(新手们有这样的问题么...) 然后在随便点开链接的时候,接触到了一个js类 MSClass.js.. MSClass,是一款通用不间断滚动JS封装类,几乎支持目前所有流行风格的图片或文字的滚动/切入/渐显等效果,同时支持横向/竖向/连续/间断/缓动等多种形式. 要使用它,先在head部分引入 MSClass.js 核心文件,如: <

关于移动端前端开发和PC端前端开发的一点总结

首先就是操作兼容性和个移动版浏览器的兼容性:传统设备上用户利用鼠标(包括触摸版)和键盘来操作网页,放大图片.拖拽元素.进行页面滚动等等.一些常见的鼠标和键盘事件诸如mouseover.mouseout.mousemove.click.foucs.blur等为我们提供了很好的页面交互操作,具体可以参考W3school. 然而,开发支持触摸屏的网页与传统意义上的网页有很大的不同.就拿鼠标hover事件来说,例如页面上有一个表格,当鼠标指向表格的 title时你希望在附近的某个地方显示一个浮动的too

python re模块

re 正则表达式操作  本模块提供了类似于Perl的正则表达式匹配操作.要匹配的模式和字符串可以是Unicode字符串以及8位字符串. 正则表达式使用反斜杠字符('\')来表示特殊的形式或者来允许使用特殊的字符而不要启用它们特殊的含义.这与字符串字面值中相同目的的相同字符的用法冲突:例如,要匹配一个反斜线字面值,你必须写成'\\\\'作为模式字符串,因为正则表达式必须是\\,每个反斜线在Python字符串字面值内部必须表达成\\. 解决的办法是使用Python的原始字符串符号表示正则表达式的模式