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的更多相关文章
随机推荐
- Mysql的join算法
本文转载自Mysql的join算法 导语 在Mysql中,使用Nested-Loop Join的算法思想去优化join,Nested-Loop Join翻译成中文则是"嵌套循环连接" ...
- flask启动常见问题1:sqlalchemy.exc.ArgumentError: Mapper mapped class UserCode->data_system_user_email could not assemble any primary key columns for mapped table 'data_system_user_email'
我的描述:当我编辑好flask以后,ORM映射数据库完成,启动项目时,发生现象: 解决: 看字面的意思是主键导致的错误,于是我查看了data_system_user_email的键参数配置,发现表没有 ...
- Java开发工程师最新面试题库系列——Spring部分(附答案)
Spring Spring框架是什么? 答:Spring是轻量级的面向切面和控制反转的框架.初代版本为2002年发布的interface21,Spring框架是为了解决企业级应用开发的复杂性的出现的, ...
- 运行maven遇到的坑,差点崩溃了。
参考链接1:https://blog.csdn.net/lch_cn/article/details/8225448/ 参考链接2:https://jingyan.baidu.com/article/ ...
- nginx+php-fpm docker镜像合二为一
一.概述 在上一篇文章介绍了nginx+php-fpm,链接如下: https://www.cnblogs.com/xiao987334176/p/12918413.html nginx和php-fp ...
- Springboot项目架构设计
导航 前言 流水线 架构的艺术 项目架构 理解阿里应用分层架构 superblog项目架构 结语 参考 本节是<Spring Boot 实战纪实>的第7篇,感谢您的阅读,预计阅读时长3mi ...
- 阿里巴巴Druid,轻松实现MySQL数据库连接加密!
为什么要加密? 现在的开发习惯,无论是公司的项目还是个人的项目,都会选择将源码上传到 Git 服务器(GitHub.Gitee 或是自建服务器),但只要将源码提交到公网服务器就会存在源码泄漏的风险,而 ...
- 【转载】Android异步消息处理机制详解及源码分析
PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN.因为CSDN也支持MarkDown语法了,牛逼啊! [工匠若水 http://blog.csdn.net/yanbob ...
- layui数据表格-通过点击按钮使数据表格中的字段值增加
通过点击右侧相对应的操作按钮,对迟到.休假次数实现自增效果 jsp页面代码 //监听行工具事件 table.on('tool(test)', function(obj){ var data = obj ...
- 2019 南京网络赛 B super_log 【递归欧拉降幂】
一.题目 super_log 二.分析 公式很好推出来,就是$$a^{a^{a^{a^{...}}}}$$一共是$b$个$a$. 对于上式,由于指数太大,需要降幂,这里需要用到扩展欧拉定理: 用这个定 ...