zoukankan      html  css  js  c++  java
  • 逆向破解之160个CrackMe —— 013

    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 = '0110617121214051216101106141404110614140411091211100810101608040610121608100416'
    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 ,提示答案正确

  • 相关阅读:
    I.MX6 sdio 设备注册及识别
    linux串口查看命令
    连词
    相形-声似词汇
    replace A with B是用A代替B还是用B代替A?
    无监督、弱监督、半监督、强化、多示例学习是什么
    JS散度(Jensen-Shannon)
    embedding是什么
    httpclient: 设置请求的超时时间,连接超时时间等
    httpclient工具使用(org.apache.httpcomponents.httpclient)
  • 原文地址:https://www.cnblogs.com/lonenysky/p/11370649.html
Copyright © 2011-2022 走看看