吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 23789|回复: 220
上一主题 下一主题
收起左侧

[原创] 售电管理软件的分析及破解

    [复制链接]
跳转到指定楼层
楼主
winddyj 发表于 2021-3-21 14:12 回帖奖励
本帖最后由 winddyj 于 2021-3-22 11:33 编辑

起因:前几天在论坛求助区看到这样一篇帖子[这个软件注册码有时间限制]
https://www.52pojie.cn/thread-1382492-1-1.html
标题很新颖,于是就下载了,发现破解起来很简单,两个跳转一改就行了,看到众多大佬已经回过解决方式,以为就此结束了。
软件用的是sql server的数据库,自带一个贼小巧的数据库服务端,想着以后写软件或调试软件方便,就把它留下了。
过了几天,看到楼主还在研究这个软件,应该是工作中要用到这个软件吧,害怕爆破存在暗桩,闲来无事,就分析一下吧。


如果你们打开软件有这个提示,请系统的数据格式里修改下短日期格式



改成这种带-的就行了。


运行了数据库服务端,打开软件,输入密码8968登陆,就来到了喜闻乐见的重启验证环节。
是不是很专业,4位一组,一共4组,很多刚入行的兄弟见到这样的场面可能就会犯晕,觉得太复杂了。
其实静下心来,慢慢分析,和普通的也差不多,就是表现形式有点不一样。



随便输入一组码遛它一下,看看是啥情况。


注册码检验和错误,还不是注册码错误,大致能推断出注册码先判断数据格式,再判断对错。


先查壳,无壳,Delphi写的,咱们先OD载入,看看情况,再决定用不用DeDe


直接能找到错误提示,看样子一个OD足矣了,确实要判断两次。


双击注册码检验和错误这行,转到代码窗口,就能看到关键跳,相等就能路过这个错误提示,如果爆破就改JMP


再向后拉一些,就能看到注册码的跳转了,要跳过这个错误提示,需要再向上看一点

相等就不跳,这样才能顺利走到下面的JMP来跳过错误,所以爆破这儿改NOP。

好了,爆破看完了,我们来研究下注册码。回到注册码检验和错误那儿,向上翻翻,咱们来跟一下。


OD已经帮我们分析好数据了,在错误提示上面,一共有5个循环,在第一个循环入口处下断,输入注册码,成功断下来了。
F8步进,遇CALL就F7进去瞧瞧,发现前两个循环的作用,就是把机器码和我们的注册码,按2位一组取出,转换成16进制,保存下来,一共八组。


从数据窗口里能看到,排列很整齐,上面两行是我们的注册码,下面两行是机器码。


继续再向下看,发现接下来两组循环的结构是一样,大胆猜测下,应该是分别对机器码和注册码处理。
还是F8单步,遇CALL就F7进去看看。


倒不是特别复杂,先将机器码/注册码 第七组拿出,进行AND F0操作,结果与0x60比较(结果不保存),
小于0x60时,第七组XOR 3,并把结果重写入第七组,大于等于0x60时保持不变。
然后将第八组数据与第七组比较,大于时 用第七组-第八组+0x64,小于时 第七组-第八组,结果写入第七组
然后继续循环,从第七组循环到第一组,共七次,第八组数据始终不变化。
说起来繁琐,写代码的话,几句就解释清楚了
a7 = a7 AND F0
if a7 < 0x60 then a7 xor 3
if a8 > a7 then a7 + 0x64
a7 = a7 - a8


接下来就是检验和的最后一个循环了,很简单,把注册码从第一组累加到第七组,每加一次就和0x64对比(也就是100)
大于等于100就减100,然后继续累加,确保最后结果在100以内。
最后的结果和第八组对比,相等就说明检验和正常,否则失败。

现在我们已经完成万里长征第一步,撒花庆祝,虽然一共只有两步


我们继续,很轻松能看出,两个跳转,判断我们的注册码第一组和第二组是否小于等于99,小于等于99时,就继续


这里继续判断,第一组和第二组数据连起来,是否为1901,第三组是否为3,第四组是否为C。
第六组是否小于等于C,第七组是否小于等于1F。
看到这里,我们对这些数据应该也有了大致的理解,第六组数据不能大于12,第七组数据不能大于31,这就是月和天呗。


到这里,我们的注册码其实已经接近成功了,程序把第五组数据转成10进制,前面加上20就是年份,中间加上-符号
连接上第六组、第七组数据,就是注册码的激活截止时间了。


走到这个CALL,会再次判断我们输入的注册码生成的激活截止时间是否正确,不正确就弹窗,正确就把机器码和注册码保存进入数据库。

现在我们就可以从前面总结出来的流程,来手写一个注册码,来看看我们的判断是否正确了。
前四组已经被程序限制死了,分别是13(19),1,3,C(12)
第五、六、七组,就是我们需要的年、月、日,来,顶格处理,63(99),C(12),1F(31)
然后第八组数据就是前七组数据的和,如果大于100就减100,那最后数据结果如下
13        1        3        C        63        C        1F        4D
继续按前面分析的结果,逆向前推
第七组加第八组,结果大于100就减100,然后再XOR 3,再转回10进制,就是真正的第七组数据
循环...一直推回第一组数据,就是这么一个过程,结果如果,从下向上推的
1        2        3        4        5        6        7        8
23        07        12        08        08        40        11        77
17        7        C        8        8        28        B        4D
14        4        F        B        B        2B        8        4D
13        1        3        C        63        C        1F        4D

把我们得到的注册码2307-1208-0840-1177,填入程序

是我们想要的结果,因为程序年份限定在20开头,所以这就是在不修改程序的基础上,能得到的最大日期了

总结一下,程序其实不是很复杂,就是繁琐一些,细心一点,耐心一点,大家应该都可以的。
而且这程序还有一点好的地方,注册成功了也能继续输入注册码重新注册,方便大家练手。

最后,注册机代码和成品奉上
[Visual Basic] 纯文本查看 复制代码
    Dim a(8) As Long
    Dim b(8) As Long
    Dim c(8) As String
    If Mid(Text1.Text, 5, 1) <> "-" Or Mid(Text1.Text, 8, 1) <> "-" Then
        Text2.Text = "输入的日期不正确"
        Exit Sub
    End If
    a(1) = 19
    a(2) = 1
    a(3) = 3
    a(4) = 12
    a(5) = Val(Mid(Text1.Text, 3, 2))
    a(6) = Val(Mid(Text1.Text, 6, 2))
    a(7) = Val(Mid(Text1.Text, 9, 2))
    If a(5) > 99 Or a(6) > 12 Or a(7) > 31 Then
        Text2.Text = "输入的日期不正确"
        Exit Sub
    End If
    a(8) = a(1) + a(2) + a(3) + a(4) + a(5) + a(6) + a(7)
    If a(8) > 100 Then a(8) = a(8) - 100
    c(8) = a(8)
    For i = 7 To 1 Step -1
        b(i) = a(i) + a(i + 1)
        If b(i) >= 100 Then b(i) = b(i) - 100
        b(i) = b(i) Xor 3
        c(i) = b(i)
        If Len(c(i)) = 1 Then c(i) = "0" & c(i)
    Next i
    Text2.Text = c(1) & c(2) & "-" & c(3) & c(4) & "-" & c(5) & c(6) & "-" & c(7) & c(8)

前面上传注册机因为图标问题,可能无法在WIN7及以下系统运行,重新换了图标,重新上传,这回应该没问题了
给大伙造成不便,抱歉抱歉
售电管理软件V3.1注册机2.zip (6.19 KB, 下载次数: 432)

免费评分

参与人数 69吾爱币 +61 热心值 +59 收起 理由
zjmanboy + 1 + 1 我很赞同!
qztqdn + 1 + 1 谢谢@Thanks!
GuiXiaoQi + 1 我很赞同!
zhenkaixin852 + 1 + 1 热心回复!
yask + 1 + 1 谢谢@Thanks!
凌晨孤星 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zerol1111 + 1 + 1 我很赞同!
ggiff + 1 + 1 我很赞同!
soyadokio + 1 谢谢@Thanks!
2099502 + 1 + 1 热心回复!
gscygs + 1 + 1 我很赞同!
万一赢了呢 + 1 + 1 热心回复!
fujianguo + 1 热心回复!
rekaytang + 1 + 1 我很赞同!
ysjjess + 1 + 1 我很赞同!
zjete + 1 + 1 谢谢@Thanks!
chuxia12 + 1 我很赞同!
小了白了兔sy + 1 + 1 我很赞同!
jefftbb + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
山上的冷 + 1 + 1 谢谢@Thanks!
wuaipojie + 1 + 1 谢谢@Thanks!
晓晓UZI + 1 我很赞同!
sam喵喵 + 1 谢谢@Thanks!
fengbolee + 1 + 1 用心讨论,共获提升!
bg2qna + 1 + 1 用心讨论,共获提升!
cao10085 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
xingzhe1314 + 1 + 1 谢谢@Thanks!
llm4041 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
淡灬看夏丶恋雨 + 1 我很赞同!
yangzaz + 1 谢谢@Thanks!
lianan11 + 1 热心回复!
xlbjye + 1 + 1 用心讨论,共获提升!
chzjjj2008 + 1 + 1 热心回复!
aolaiqf + 1 + 1 谢谢@Thanks!
貌子 + 1 + 1 谢谢@Thanks!
a669987 + 1 我很赞同!
qiaoyong + 1 + 1 热心回复!
FY-1573 + 1 + 1 热心回复!
tonyiyong + 1 + 1 谢谢@Thanks!
XhyEax + 1 + 1 我很赞同!
skynet996 + 1 我很赞同!
gqdsc + 1 厉害,分析的这么详细
时光飞逝0824 + 1 + 1 我很赞同!
endriver + 1 我很赞同!
mikezhql + 1 + 1 我很赞同!
q63575755 + 1 + 1 用心讨论,共获提升!
LordFox + 1 + 1 我很赞同!
supermandepoji + 1 + 1 谢谢@Thanks!
guomanmin + 1 + 1 机器码没用?有成品,能验证,有过程,可学习。赞
丶伊扬 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
pdcba + 1 + 1 用心讨论,共获提升!
jefflo + 1 我很赞同!
雨衣东蒙客 + 1 + 1 热心回复!
liushasha + 1 + 1 谢谢@Thanks!
zsksssss + 1 牛逼
Mandrake + 1 + 1 谢谢@Thanks!
lixiang15 + 1 + 1 谢谢@Thanks!
笙若 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
gxkyrftx + 1 + 1 用心讨论,共获提升!
lyl610abc + 1 + 1 萌新前来膜拜大佬
zhangyangyang + 1 + 1 谢谢@Thanks!
Yadremmus + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
技术少年 + 1 + 1 热心回复!
会成功的人 + 1 + 1 谢谢@Thanks!
kjian + 1 + 1 热心回复! 学习了!~
唐小样儿 + 1 + 1 我很赞同!
micky123 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
chinawolf2000 + 1 + 1 热心回复!
一丝风 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
 楼主| winddyj 发表于 2021-3-21 14:15 |楼主
本帖最后由 winddyj 于 2021-3-27 01:08 编辑

看到最后,是不是有点疑惑,那个机器码有啥用?
答案是完全没用,用来迷惑人用的

看大家说下载链接没了,分享一下软件
https://winddyj.lanzouj.com/i95JMnck81e
密码:9hi6

免费评分

参与人数 4吾爱币 +4 热心值 +4 收起 理由
godzillaqqq + 1 + 1 有实力有涵养 爽快的风格,希望继续分享
leskady + 1 + 1 谢谢@Thanks!
dx163 + 1 + 1 谢谢@Thanks!
mikezhql + 1 + 1 谢谢@Thanks!

查看全部评分

推荐
何昊坤 发表于 2021-3-21 15:59
4#
pzwang 发表于 2021-3-21 14:33
5#
ifthen 发表于 2021-3-21 14:54
学习了。软件用来练手真的不错
6#
PrincessSnow 发表于 2021-3-21 15:08
谢谢大佬 学习了
7#
CharlesMeng 发表于 2021-3-21 15:10
腻害,敬仰一下
8#
xiaoz165748 发表于 2021-3-21 15:18
楼主厉害,谢谢分享
9#
pdstvs 发表于 2021-3-21 15:27
楼主厉害。学习一下。
10#
turuoyang 发表于 2021-3-21 16:13
谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 09:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表