Crackme_003
功能:
拿到文件,先执行一下。功能如下:
1、nag窗口
会先出现如下nag窗口,持续几秒
2、注册窗口:
出现错误会提示:You Get Wrong Try Again
破解:
1、查壳:
无壳,并且是用VB5.0-6.0写的
解除nag窗口:
方法一:Timer搜索法:找到timer函数的位置,并做修改
缺点:程序的作者将计时器的默认名称改掉之后,根本无法在内存中搜索到Timer关键字,也就无法下手
步骤:
程序加载进od,在入口处点击在数据窗口跟随,数据窗口右键查找二进制字符串,Timer(Timer是VB程序默认的定时器变量):
其中58 1B表示的就是时间参数:0x1B58,这个是计时器的秒数。也就是十进制的7000,7000毫秒就是7秒。
所以第一种去Neg的方法就是将0x1B58改为0x0001,就是将时间缩短到最短。当然还是会有一瞬间
方法二:4c法:
重新载入程序:
在数据窗口中,右键转到表达式:输入4067d4+4c,找到form GUI描述表的指针
选中,右键,数据窗口跟随DWORD
跟随到406868这个数据段:
每一个小块的数据是每一个窗体的信息,其中00和01是窗体的序号 而10是第一个窗体的启动标志。
所以:我们只要把第一个窗体数据块的00改成10 然后把第二个窗体的数据块的10改成00。(注:亲测无效)。
将窗体的序号调换。即可去除neg。
保存 ,去除nag成功
注册:
一:爆破
老规矩:查找:
向上看,找到关键跳转,nop,保存
运行:
二、注册机
找到到关键跳转,在这里尝试下断,判断call的功能是否与加密有关:
测试:输入1234,56789
程序断下,看到栈空间中出现1066822,有点像注册码
输入测试:
成功,那么还在上面。
找到这个函数的开始位置,下断:
第一部分:f8一直跟随,看到eax='1234'出现,主要是:获得的长度*0x15B38 + 第一位数0x31 得到edi = 56d11 十进制为 355601
继续向下,
第二部分:将刚才计算的结果转为浮点数,放入到FPU栈,然后将结果加上2.0 得到355603
继续向下,
第三部分:刚刚得到的浮点数*3-2得到1066807并保存进ST7
继续向下,
第四部分:得到的浮点数减去(-15)也就是加15 --> 1066807+15=1066822 这个就是我们刚刚看到的验证码了
总结一下算法:
[(长度*0x15B38 + 第一位数的十六进制)--->变为十进制 +2]*3-2 +15
下面可以写注册机了:
Num = input('输入:\n') pwd = '' test = 0x15B38*len(Num)+ord(Num[0]) pwd = (test+2)*3-2+15 print(pwd)
注册机代码
参考文档:https://bbs.pediy.com/thread-249719.htm
总结:慢慢来,要细心
Crackme_003的更多相关文章
随机推荐
- 2021-2-20:请你说说分布式系统 BASE 理论是什么?
BASE 理论是由 Dan Pritchett 在 ACM 上发表的一篇论文中提出的理论.是在 CAP 理论基础上提出的一种更实际的理论指导,和 PACELC 理论是有些相近的地方的. BASE 是指 ...
- 微信小程序(二)-语法学习
语法学习 一 模板语法 https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/ 1.数据代码 // pages/bl ...
- WPF 基础 - 图片之界面截图
1. 功能 系统截图. 2. 实现 2.1 思路 控件继承自 System.Windows.Media.Visual, 通过 System.Windows.Media.Imaging.RenderVi ...
- Windows系统和Linux系统下安装Mongodb及可视化页面展示
一.Windows系统安装MongoDB 下载地址: 官方:http://www.mongodb.org/ 其它:http://dl.mongodb.org/dl/win32/x86_64 下 ...
- python 常用库收集
读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都 ...
- python文件处理之fileinput
一.介绍 fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作,我们常用的open函数是对一个文件进行读写操作. fileinput模块的input()函数比open函数更高效和好用 ...
- 学习jQuery(1)
学习jQuery 通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions). jQuery 语法 jQuery 语法是为 HTML ...
- 攻防世界 reverse SignIn
SignIn 2019_SUCTF __int64 __fastcall main(__int64 a1, char **a2, char **a3) { char mod; // [rsp+0 ...
- ARFoundation - 实现物体旋转, 平移,缩放
ARFoundation - 实现物体旋转, 平移,缩放 本文目的是为了确定在移动端怎样通过单指滑动实现物体的旋转,双指实现平移和缩放. 前提知识: ARFoundation - touch poin ...
- ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例
Aspose.Total是Aspose公司旗下的最全的一套office文档管理方案,它提供的原生API可以对Word.Excel.PDF.Powerpoint.Outlook.CAD.图片.3D.ZI ...