系统 : Windows xp

程序 : keyme2

程序下载地址 :http://pan.baidu.com/s/1pKqlHiF

要求 : 找出序列号

使用工具 : IDA Pro & OD

可在“PEDIY CrackMe 2007”中查找关于此程序的破文,标题为“一个很简单的crackme”。

运行程序,发现这是一个没有图形用户界面的小程序,验证方式为输入序列号。使用IDA载入程序,在字符串表找出“\nTry again!\n”的位置,并定位判断算法关键位置。本程序中,用OD在00401622处下断点:

0040161B  |.  C70424 >mov     dword ptr [esp],         ; |||ASCII "moofy's keyme #2",LF,"Very simple :)",LF,LF,"Enter: "
|. E8 A9050000 call <jmp.&msvcrt.printf> ; ||\printf
|. 8D45 FC lea eax, dword ptr [ebp-] ; ||
0040162A |. mov dword ptr [esp+], eax ; ||
0040162E |. C70424 >mov dword ptr [esp], ; ||ASCII "%d"
|. E8 call <jmp.&msvcrt.scanf> ; |\scanf
0040163A |. 8B45 FC mov eax, dword ptr [ebp-] ; |
0040163D |. 3B05 cmp eax, dword ptr [] ; |
|. 0E jnz short ; |
|. C70424 2C3040>mov dword ptr [esp], 0040302C ; |ASCII LF,"Correct :) Write a keygen and tutorial and submit it to crackmes.de",LF
0040164C |. E8 7F050000 call <jmp.&msvcrt.printf> ; \printf
|. EB 0C jmp short 0040165F
|> C70424 >mov dword ptr [esp], ; |ASCII 0A,"Try again!"
0040165A |. E8 call <jmp.&msvcrt.printf> ; \printf
0040165F |> C70424 7F3040>mov dword ptr [esp], 0040307F ; |ASCII "PAUSE"
|. E8 call <jmp.&msvcrt.system> ; \system
0040166B |. B8 mov eax,
|. C9 leave
\. C3 retn

单步跟踪过一遍流程可知,程序将位于[404124]处的固定值作为程序的序列号,需要用户输入一个十进制的字串并与其对比。完全匹配即可。此处跟入内存发现其值为:10427410,转化为十进制则是:272790544。

效果如下:

破解 keyme2程序(固定明码比较)的更多相关文章

  1. pptv破解版程序,能够免费观看所有蓝光和会员影片!

    pptv破解版程序,能够免费观看所有蓝光和会员影片!PPTV网络电视3.4.1.0012绿色版(去广告本地vip版)由Black Hawk精简破解,去掉播放时缓冲.暂停广告.去掉迷你推荐和推荐弹窗.禁 ...

  2. 解决win2003/2008下注册机或破解补丁程序无法运行问题

    win Server 2003/2008 64位系统均遇到注册机或破解补丁程序无法运行或报错或死机的情况,原因是win系统默认开启了文件数据执行保护导致的. (比如3DMax的破解补丁程序等...) ...

  3. 破解.net程序 编译和反编译方法

    原文地址:http://www.cnblogs.com/li-peng/archive/2013/01/31/2886727.html 有好多.net程序有加密狗或者有验证,如果exe或dll没有做过 ...

  4. Ubuntu 将应用程序固定到快速启动栏

    Ubuntu上没有快捷方式的说法,而通过软件中心安装的软件就有图标,并能加入到启动器上,这是因为它们有一个desktop配置文件的缘故.这些配置文件在/usr/share/applications这个 ...

  5. Ubuntu 将应用程序 固定到快快速启动栏(以Sublime为例)

    因为Sublime Text并不是需要安装,所以缺少Ubuntu桌面运行的一些基本配置,比如不能将它加入桌面侧边的启动器. 而Ubuntu上也没有快捷方式的说法,而通过软件中心安装的软件就有图标,并能 ...

  6. VC++单文档程序固定菜单栏和工具栏

    MainFrm.cpp框架类下,找到OnCreate方法 m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY); m_wndToolBar.EnableDocking( ...

  7. windbg 基础命令实战 - 简单程序破解

    以前玩游戏遇到一些实在过不去的管卡,经常会找一些游戏修改软件来修改游戏,让自己变得无比强大,将boss一路砍瓜切菜过足游戏瘾.其实游戏修改软件的功能大多都比较简单,我们可以通过windbg的一些简单命 ...

  8. 【.net程序破解】实战之标志位破解绕过注册法

    今天有时间玩了下一个不错的软件Advanced System Cleaner,可惜要注册 于是想办法给破解了,这是跟之前不同的地方,属于.NET破解教程: 软件地址 - http://www.crsk ...

  9. 破解入门【OllyDebug爆破程序】

    逆向破解这块我也是个刚起步的小菜,入门都还算不上吧,看了点基础教程,先动手练习一下增加点兴趣.嘿嘿 工具: peid         //查壳工具 OllyDebug    //反汇编.动态调试工具 ...

随机推荐

  1. BOM组件物料重复检查

    好吧,今天同事让做个BOM组件物料重复检查 网上有很多例子都是在保存的时候检查的,用的是BADI :BOM_UPDATE 自己也试了一下,麻烦....很麻烦...尤其是在重复检查的时候: METHOD ...

  2. Python eclipse开发环境搭建

    http://jingyan.baidu.com/article/cd4c2979101f02756f6e6064.html http://jingyan.baidu.com/article/1876 ...

  3. Android WebView的使用

    WebView是View的一个子类,使用它可以在App中嵌入H5页面,可以跟js互相调用. webview有两个方法:setWebChromeClient和setWebClient setWebCli ...

  4. 转。管理Gearman

    通常,Gearman被用来分发任务,以便实现异步操作.下面捋捋如何管理Gearman. 说明:请自行安装好Gearman和PHP PECL Gearman. 准备 我们先来创建一个Worker,实现一 ...

  5. 无需激活用户直接登入discuz

    //打开discuz/api/uc.php //synlogin方法(180行)处,往下找到 if(($member = getuserbyuid($uid, 1))) { dsetcookie('a ...

  6. JavaScript 字符串和日期内容整理

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. c++普通高精除单精

    //没有在网上测试 //手测几组无误 //如有错误,还望指出,不胜感激. #include<cstdio>#include<cstring>int a1[600],a2,a4[ ...

  8. flash builder的编译缓存

    C:\Users\Administrator\AppData\Roaming 因为我的一个项目是手机.浏览器都支持的项目,所以我经常删除项目然后修改成别的类型: 可能是这个原因,导致我的程序或者加载的 ...

  9. mysql数据库 安装 (原创)

    1.首先下载mysql 数据库,我安装的是mysql5.1版本,直接安装就行,但是如果以后你想在数据库里显示中文的话,要把字符集设置为gb2312 2.配置数据源odbc.  mysql-connec ...

  10. Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(二)

    如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数: double add(double x, double y) { return x + y; } 现在我想要在Matlab中使用它,比 ...