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的更多相关文章
随机推荐
- mybatisPlus中的模糊查询问题
不能查询中文 记得在数据库的配置中写明编码格式characterEncoding=utf-8
- 翻译:《实用的Python编程》02_06_List_comprehension
目录 | 上一节 (2.5 collections模块) | 下一节 (2.7 对象模型) 2.6 列表推导式 一个常见的任务是处理列表中的项(译注:元素).本节介绍列表推导式,完成此任务的强大工具. ...
- # PyComCAD介绍及开发方法
项目地址:https://github.com/JohnYang1210/PycomCAD 1.综述 提到Autocad在工业界的二次开发,VB或者Lisp可能作为常用的传统的编程语言.但是,Py ...
- 【图像处理】使用OpenCV进行图像处理教程(一)
OpenCV是进行图像处理的工具,也是计算机视觉领域近十几年不断发展和完善的产物.面对这个已基本成熟的开源库知识体系,我们新生代有必要不断地总结.回顾,以新的视角快速融入计算机视觉的奥秘世界. 从这篇 ...
- “Mac应用”已损坏,打不开解决办法
问题说明: 通常在非 Mac App Store下载的软件都会提示"xxx已损坏,打不开.您应将它移到废纸篓"或者"打不开 xxx,因为它来自身份不明的开发者" ...
- Oracle VM VirtualBox的下载和安装
软件介绍 VirtualBox 是一款开源虚拟机软件,由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 ...
- LeetCode-二叉树的镜像
二叉树的镜像 二叉树的镜像 给定一个二叉树,输出二叉树的镜像. 只需要使用一个简单的递归,分别对左右子树反转后再对当前结点进行反转. #include<iostream> #include ...
- POJ-3436(网络流+最大流+输出路径)
ACM Computer Factory POJ-3436 题目就是一个工厂n个加工机器,每个机器有一个效率w,q个材料入口,q个材料出口,每个口有三个数表示状态,1表示一定有入/出的材料,0表示没有 ...
- [数据结构与算法-13]ST表
ST表 主要用来快速查询静态数据区间最大值 思路 数组\(A[i][j]\)存储数列\(\{a_i\}\)中区间\(i \in [i, i+2^j)\)的最大值 查询时只需要查询\(max\{A[i] ...
- vscode配置golang开发环境手把手描述篇
1.下载安装Golang https://golang.google.cn/dl/ 一路下一步即可 2.下载安装Vscode https://visualstudio.microsoft.com/zh ...