逆向破解之160个CrackMe —— 013
CrackMe —— 013
160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序
CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。
来源 <-点击查看
| 编号 | 作者 | 保护方式 |
| 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 ,提示答案正确

逆向破解之160个CrackMe —— 013的更多相关文章
- 逆向破解之160个CrackMe —— 001
CrackMe —— 001 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 002-003
CrackMe —— 002 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 004-005
CrackMe —— 004 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 014
CrackMe —— 014 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 016
CrackMe —— 016 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 017
CrackMe —— 017 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 018
CrackMe —— 018 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 025
CrackMe —— 025 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 026
CrackMe —— 026 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
随机推荐
- 修改Windows10的host文件。
一.Windows10中host地址. c:\windows\system32\drivers\etc\hosts 其他系统中的位置. Windows操作系统(Windows XP/7/8/10): ...
- 彻底搞清楚c#中的委托和事件
一.什么是委托呢? 听着名字挺抽象,确实不好理解.面试官最喜欢考察这个,而且更喜欢问:“委托和事件有何异同?”.如果对一些知识点没有想明白,那么很容易被绕进去.研究任何事物,我们不妨从它的定义开始,委 ...
- Shell文件
#!/bin/bashecho "======================欢迎来到进爷故事会======================="echo "******* ...
- 第二章 Session会话管理
采用网址重写的缺点: 在有些Web浏览器中,URL限制为2000个字符. 仅当有链接要插入值时,值才能转换成后面的资源.此外,要把值添加到静态页面的链接中,可不是一件容易的事情. 网址重写必须在服务器 ...
- PHP---微信JS-SDK获取access_token/jsapi_ticket/signature权限签名算法,php/thinkphp实现微信分享自定义文字和图片
PHP---微信JS-SDK获取access_token/jsapi_ticket/signature权限签名算法, php/thinkphp实现微信分享自定义文字和图片. 一.先看微信JS-SDK文 ...
- [转载]nginx负载均衡+keepalived三主(多主)配置
nginx负载均衡+keepalived三主(多主)配置 1.实验环境,实现目标三台主机分别配置nginx负载均衡对后端多台主机做转发,同时配置keepalived实现HA,保证任意主机出现故障时其他 ...
- python介绍、安装及相关语法、python运维、编译与解释
1.python介绍 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/)是一种广泛使用的解释型.高级编程.通用型编程语言,由吉多.范罗苏姆创造,第一版发布于1991年.可以视 ...
- Baozi Leetcode Solution 205: Isomorphic Strings
Problem Statement Given two strings s and t, determine if they are isomorphic. Two strings are isomo ...
- thymeleaf介绍
作者:纯洁的微笑出处:http://www.ityouknow.com/ 增加了一小部分内容 简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完 ...
- 10w数组去重,排序,找最多出现次数(精华)
package cn.tedu.javaweb.test; import java.util.*; /* * @author XueWeiWei * @date 2019/6/11 8:19 */@S ...