growuphappily 发表于 2020-2-15 08:02

这个应该相当简单,给新手练练手

只要爆破就行了,如果有能力的可以做一下注册机

解压密码:www.52pojie.cn

(易语言写的,杀软可能会报毒,不过放心,绝对没毒)

growuphappily 发表于 2020-2-15 13:35

本帖最后由 growuphappily 于 2020-2-15 18:12 编辑

注册码给你们提示一下:十六进制!

growuphappily 发表于 2020-2-15 20:12

好了
把注册机放出来吧:
def fuck0x(a):
    tmp1 = []
    tmp2 = ""
    for i in a:
      tmp2 = ""
      for ii in range(len(i)):
            if ii in :
                continue
            tmp2 += i
      tmp1.append(tmp2)
    return tmp1
def toupper(a):
    for i in range(len(a)):
      a = a.upper()
    return a
username = input("请输入账号:")
try:
    number = int(username)
except Exception:
    print("账号必须是整数")
keys = []
keys.append(str(hex(number * 233)))
keys.append(str(hex(number)))
keys.append(str(hex(int(number / 666))))
keys.append(str(hex(number * 158)))
keys.append(str(hex(number * 555)))
keys = fuck0x(keys)
keys = toupper(keys)
for i in range(5):
    if len(keys) <= 5:
      continue
    keys = keys
print("注册码:{0}-{1}-{2}-{3}-{4}".format(keys,keys,keys,keys,keys))

小菜鸟一枚 发表于 2020-2-15 13:21

本帖最后由 小菜鸟一枚 于 2020-2-15 13:22 编辑

1.易语言写的程序,那我就试试按钮事件,直接将程序F9运行起来

2.Ctrl+B搜索FF 55 FC 5F 5E 89 5D F4特征码,看到了
1002D27B    FF55 FC         call dword ptr ss:            ; CrackMe.00409843


3.F7跟进去,右键中文搜索字符串,看到如图所示:


4.点最上面一个字符串进去,F4来到了
00409C40    68 EC904000   push CrackMe.004090EC                  ; -
00409C45    FF75 98         push dword ptr ss:
00409C48    68 EC904000   push CrackMe.004090EC                  ; -
00409C4D    FF75 B4         push dword ptr ss:
00409C50    68 EC904000   push CrackMe.004090EC                  ; -
00409C55    FF75 D0         push dword ptr ss:
00409C58    68 EC904000   push CrackMe.004090EC                  ; -

5.F8单步向下走,看到了密码111111对应的账号。
eax=0030BA80, (ASCII "B085F-1B207-A6-BE052-CF52D")
堆栈 ss:=0030BA80, (ASCII "B085F-1B207-A6-BE052-CF52D")

6.继续单步向下走,看到一个跳转,跳过了注册成功的字符串
00409D35   /0F84 41000000   je CrackMe.00409D7C


7.将00409D35这一句nop掉,即可爆破成功!


PS:第5步那里,是因为这个程序拿我输入的密码经过算法计算后和账号做比较,所以我只需要将原来输入的账号输入到密码位置,把内存中看到的加密后的字符串放到账号位置即可,如果楼主对账号格式校验可能就行不通了。
我输入的密码111111加密为B085F-1B207-A6-BE052-CF52D再去和我输入的账号作比较,倒过来,账号输入B085F-1B207-A6-BE052-CF52D,密码输入111111,加密后肯定是B085F-1B207-A6-BE052-CF52D,验证通过!

growuphappily 发表于 2020-2-16 16:47

hkzj008 发表于 2020-2-16 16:10
楼主我想问下纯小白,该从哪里学起了,,,谢谢

https://www.52pojie.cn/forum-68-1.html这个

moxiaowei 发表于 2020-2-15 11:19

楼主用的什么方法让软件识别不出来是易语言程序的?

1006442347 发表于 2020-2-15 11:28

本帖最后由 1006442347 于 2020-2-15 11:38 编辑

作为新手第一次破CM
下的信息框断点就能轻松找到

把跳转改nop就直接爆破掉了
我想找到注册码
再网上翻 ,能从寄存器和堆栈找到注册码,但是怎么计算出的注册码还没学会

这里有个坑把注册码填入账号原本的账号填入密码。
效果图:

kof888 发表于 2020-2-15 11:49

1006442347 发表于 2020-2-15 11:28
作为新手第一次破CM
下的信息框断点就能轻松找到



都已经nop了,那不是随便填都可以了?

1006442347 发表于 2020-2-15 12:02

kof888 发表于 2020-2-15 11:49
都已经nop了,那不是随便填都可以了?

nop就破解完了,保存就行了
我只是好奇注册码才多跟了几步

growuphappily 发表于 2020-2-15 13:26

小菜鸟一枚 发表于 2020-2-15 13:21
1.易语言写的程序,那我就试试按钮事件,直接将程序F9运行起来

2.Ctrl+B搜索FF 55 FC 5F 5E 89 5D F4特 ...

正解!!!!{:1_893:}

growuphappily 发表于 2020-2-15 13:27

1006442347 发表于 2020-2-15 11:28
作为新手第一次破CM
下的信息框断点就能轻松找到



正解!!!!恭喜!!!!{:1_893:}

IanNo 发表于 2020-2-15 13:27

{:1_893:}{:1_893:}{:1_893:}
感谢大佬
拿来试试

growuphappily 发表于 2020-2-15 13:28

moxiaowei 发表于 2020-2-15 11:19
楼主用的什么方法让软件识别不出来是易语言程序的?

我没用什么方法。。。我也不知道
页: [1] 2 3 4 5
查看完整版本: 这个应该相当简单,给新手练练手