简单的crackme
来源:互联网 发布:sql cast 编辑:程序博客网 时间:2024/05/01 06:55
可以看到这个要求输入序列号,验证其用户名和序列号是否正确的一个检验程序。
分析:
字符通常利用Windows文本框输入。为了检查输入的字符,程序太长才有下面这些函数吧文本框中的内容读出来。
16位32位(ANSI)32位(unicode)GetDlgItemTextGetDlgItemTextAGetDlgItemTextWGetwindowTextGeywindowTextAGetDlgItemTextW因为这个程序是32位ASCII码的
所以直接上OllyDgb,设置为在模块入口处设断。
使用Ctrl+G可以定位我们想要的函数,我们将函数名直接输入,回车,就跳转到这个函数的入口地方,然后按F2,设断点,然后按F9让程序运行起来,接着就在运行着的程序中输入内容,当输入完后,按check按钮时,这时程序就调用了GetDlgItemTextA函数来获取文本框中的内容,然后去检查,因为设断了,我们可以看到OllyDgb上停在我们刚刚设断的地方。然后分析这一段代码
这就是我们停下的地方,上面除了原本程序自动解析的注释外,我还加上了直接的注释。
分析上面的程序流程,可以很明显的看出了,它调用了两次GetDlgItemTextA函数来分别获取两个编辑框的内容。
下面我们看到了一个很重要的函数,就是GenRegCode函数,这就是这个程序的核心代码,如果有兴趣的可以跟进去看一下验证的过程
但是我们的目的是让程序直接显示注册成功,可以看到004011F5中看到一个跳转指令,经发现就是这个跳转指令,决定显示对应得消息(失败或者成功)
我直接把它NOP掉
直接右键那上图所示
之后就保存文件
任意输入什么内容都会显示成功。但是长度一定要超过4.
0 0
- 简单的crackme
- 一个Crackme的简单Code
- 一个简单的CrackMe分析
- 一个简单的CrackMe分析
- 某道简单的crackme
- 一个简单的linux crackme的逆向
- 一个简单的linux crackme的逆向
- 解密一个简单的keyfile保护的CrackMe
- 一个简单的crackme,程序是由.Net编写的
- CrackMe破解【3】- 简单级别
- CrackMe的算法分析
- CRC32的CrackMe
- crackMe的逆向分析
- 一个CrackMe的分析
- 170608 逆向-CrackMe之018和一个简单的论坛CM
- 一个简单CrackMe分析+keyGen编写
- 简单CrackMe分析(样本名:ReverseMe)
- 破解md5加密的crackme
- TLint for 虎扑体育应用源码项目
- 顺序表的查找
- Regsvr 32命令的用处
- delphi 中使用WaitForMultipleObjects等待线程执行,再执行后续代码
- iOS开发~iOS9中iPad横屏时cell不正常显示
- 简单的crackme
- KODI闪退
- UVa 11520 - Fill the Square
- iOS开发插件推荐(1):利用神插件injectionforxcode倍增你的开发效率
- WPF 托盘菜单 自定义菜单风格 的做法
- Linux中的信号处理函数
- YaHoo Web优化的14条法则
- android中intent传递list或者对象的方法
- NotePad++ 6.92,改了些啥?