Crackme015 的逆向分析

 1.程序观察

作者提示我们要把程序启动前的弹窗关闭,而且要找到正确的注册码。

2.简单查壳

程序使用 VB5 编写,无壳。

3.程序分析

首先要去除启动时的弹窗。
使用 VB Decompiler 载入程序

从反编译的代码,我们可以看到加载的时候,程序在调用 MsgBox 函数弹窗之后,会验证返回值,如果不符合条件就会退出。
我们查看相对应的汇编代码

所以想要去除弹窗,首先要去除 MsgBox 函数,还要使之不退出。

我们可以把 MsgBox 函数 和 End 函数的调用代码全部使用 nop 覆盖掉。

接下来寻找正确的注册码

地址 402B14 处是注册按钮点击事件,我们进入代码内部。

向下查看代码,可以看到有一个比较函数

查看参数,发现其中一个参数正是我们输入的假的注册码

那 "2G83G35Hs2" 可能就是真的注册码了

2019-09-17 11:47:51

相关文件在我的 Github:https://github.com/UnreachableLove/160-Crackme/tree/master/Crackme015

转载于:https://www.cnblogs.com/white-album2/p/11532739.html

Crackme015相关推荐

  1. 160个Crackme015

    文章目录 查壳 去Neg 破解序列号 校验结果 查壳 首先来查一下壳,又是个VB的程序,最近几个Crackme都是VB的,逆的我都想吐了,这个Crackme有两个任务,一个是去Neg,一个是找序列号, ...

最新文章

  1. Android开发——内存优化 图片处理
  2. 线性最小二乘问题求解的豪斯荷尔德法C实现
  3. Python 常用文件
  4. Interview:算法岗位面试—11.19早上上海某银行(总行,四大行之一)信息技术岗面试记录
  5. php链接中二维数组传参数,JS用POST怎么传送二维数组给PHP
  6. 飞秋2010下载在未来讲差异化
  7. mysql口令更换周期_MySQL密码过期策略介绍
  8. librdkafka介绍文档
  9. 【廖雪峰官方网站/Java教程】多线程(2)
  10. 4.json字符串转换集json对象、json对象转换json字符串
  11. Scrapy + selenium + 超级鹰验证码识别爬取网站
  12. 不同几种剔除(Culling)在渲染流程中的使用总结
  13. 96Boards MIPI CSI Camera Mezzanine
  14. 原生js实现动态数据表格
  15. VB.NET模拟LED数字钟
  16. 【纪中受难记】——Day10:逐渐自闭
  17. 62 旋转字符串(Rotate String)
  18. 获取roe,最好给财务做一个单独的表格,别直接连进去,太复杂了,那就
  19. 西安电子科技大学硕士论文latex模板第1章修改为第一章
  20. R语言单因素/多因素 Logistic回归

热门文章

  1. linux服务器80端口是默认开放的么_「Linux」25节-防火墙iptables
  2. 内置对象 API Math对象、Data对象、Array对象、String对象
  3. 【深度优先搜索】计蒜客:最大蛋糕(最大连通块)
  4. 【二分法】计蒜客:二分答案
  5. JavaBean 与 EJB 的区别
  6. 如何把竖排的数据变为横排_读懂微信改版背后的焦虑,企业新媒体营销该如何自救?...
  7. php字符是汉字还是字符,php判断字符串中是否包含中文汉字和获得字符串中的汉字...
  8. nvidia显卡linux 7.2,科学网—悲喜录:服务器 CentOS 7.2 安装Nvidia显卡驱动(64bit) - 袁伟的博文...
  9. css将空的div撑开,如何使用css将空的浮动div伸展到可用的全高度?
  10. 【软考】2020年下半年计算机技术与软件资格考试划水贴