CrackMe —— 013

160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序

CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。

CrackMe简称CM。
程序下载地址:点击我

来源 <-点击查看

编号 作者 保护方式
013 badboy Name/Serial,Serial(VB5)

工具

x32dbg

VB Decompiler Pro

peid

开始破解之旅

ON.1

首先使用x32dbg打开程序搜索字符串,发现只有四个字符串,没有我们想要的,难道被加密了?

下一步我们用pedi打开程序查看是否加壳了,发现并没有加任何壳

ON.2

我们使用VB Decompiler Pro打开013号程序在左侧栏内点击Code -> Form1 下拉,发现其中有多个Click函数

我们点击第一个Click(Combo1_Click)

仔细看一下我们找到了秘钥生成的代码,红色框内

var 88 = 当前天数*23+当前月数*2+当前年份*1900

var 1d0 = (var 88 + var 88) + 当前天数14*1905 +当前天数14*1905

有人会说为什么乘以1900

因为VB里面Year(3) => 1900,Year(2020) =>1905

下面是Python代码

import datetime
now = datetime.datetime.now()
var_88 = now.day * 22 + now.month * 1 + now.year * 1900
var_1d0 = var_88 * 2 + 13 * 1905 * 2

我们点击CrackMe 1.0在输入框内输入答案点击Try,bingo ~ 答案正确

接下来我们来看CrackMe 2.0

我们点击第二个Click(Combo2_Click)

将其转换为Python代码为

var_94 = ''
name = 'lonenysky'
var_90 = 0
var_a8 = 1
for i in range(3, len(name)):
var_90 = var_90 + (ord(name[i]) * int(var_94[var_a8 * 3 - 1:var_a8 * 3 - 1 + 3]))
var_a8 += 1
if var_a8 + 1 >= 39:
var_a8 = 0
var_178 = 0
var_a8 = 1
for i in range(3, len(name)):
var_1cc = ord(name[i]) * ord(name[i - 1]) * int(var_94[var_a8 * 2 - 1:var_a8 * 2 - 1 + 2])
var_178 = var_178 + var_1cc
var_a8 += 1
if var_a8 + 1 >= 39:
var_a8 = 0
print(str(var_90) + '-' + str(var_178))

输入Name =>lonenysky Serial => 145533-911038 点击按钮Try ,提示答案正确

最新文章

  1. HOLOLENS 扫描特效 及得出扫描结果(SurfacePlane)
  2. 基础2.Jquery过滤选择器
  3. HttpClient方式模拟http请求设置头
  4. 完美获取N卡A卡的显存大小(使用OpenGL)
  5. DATAGUARD 添加修改REDOLOG大小
  6. hdu 2222 Keywords Search ac自己主动机
  7. 【转载】Google Analytics 使用图文全攻略
  8. linux网络编程之一-----多播(组播)编程
  9. 桥接模式 桥梁模式 bridge 结构型 设计模式(十二)
  10. Powershell远程执行命令
  11. Xml文件汉化后改变代码页
  12. python 装饰器(1)
  13. MongoDB学习小结
  14. Feign api调用方式
  15. 【原创】backbone1.1.0源码解析之View
  16. springMVC helloworld入门
  17. Python标准库笔记(7) — copy模块
  18. android添加系统(服务、应用)
  19. Centos7 下谷歌日志库GLog配置
  20. bzoj1814 Ural 1519 Formula 1(插头dp模板题)

热门文章

  1. python之unittest框架实现接口测试实例
  2. 个人永久性免费-Excel催化剂功能第49波-标准数据结构表转报表样式结果
  3. Java多线程(七):ReentrantLock
  4. TCP端口复用引发的异常,用setsockopt来解决
  5. [LeetCode] 32. Longest Valid Parentheses (hard)
  6. HttpServlet cannot be resolved to a type 解决办法
  7. 爬虫之解析库pyquery
  8. MyBatis 文档 完整版
  9. python常用函数进阶(2)之map,filter,reduce,zip
  10. PHP7安装mysql扩展