首页
社区
课程
招聘
未解决 软件加密算法分析 50.00雪花
2024-3-1 14:54 2054

未解决 软件加密算法分析 50.00雪花

2024-3-1 14:54
2054
收藏
点赞0
打赏
分享
最新回复 (11)
雪    币: 6214
活跃值: (3087)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhatian 2024-3-1 23:24
2
0
aes算法,密钥基于用户名加密的。
雪    币: 1223
活跃值: (117)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ITparanoia 2024-3-2 08:22
3
0
zhatian aes算法,密钥基于用户名加密的。
有具体的复现方式及相关证明截图吗??XND?NN&?lN0 这种形式是aes加密后又进行了二次的编码?

继续增加雪花求解。大佬加油~
雪    币: 1223
活跃值: (117)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ITparanoia 2024-3-2 08:40
4
0
zhatian aes算法,密钥基于用户名加密的。
User=9 密码是9
Password=\x7f?0

User=9 密码1
Password=\x7f?X

User=1 密码1
Password=\x7f?X

User=9 密码2
Password=\x7f?I

User=9 密码a
Password=\x7f\x30X
雪    币: 6214
活跃值: (3087)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhatian 2024-3-2 17:07
5
0
ITparanoia User=9 密码是9 Password=\x7f?0 User=9 密码1 Password=\x7f?X User=1 密码1 Password=\x7f?X User=9 ...
我以前搞过,现在可能是加了盐的固定密钥,好久了都忘记了。
雪    币: 1834
活跃值: (3431)
能力值: ( LV3,RANK:32 )
在线值:
发帖
回帖
粉丝
freenow 2024-3-2 17:11
6
0
zhatian 我以前搞过,现在可能是加了盐的固定密钥,好久了都忘记了。
  byte num = 90;
  for (int i = 0; i < strlen(str); i++)
  {
      byte t = num ^ str[i];
      num = ~num;
      dat[2 * i + 1] = 5 * (t & 0xf) + 33;
      dat[2 * i] = 5 * (t >> 4) + 33;
  }
怎么感觉\x7f是固定的格式,后面是上面计算的密码。
config文件里面的改变密码并不会变化
雪    币: 6214
活跃值: (3087)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhatian 2024-3-2 18:51
7
0
\x7f 计算后的结果出现的。
雪    币: 6214
活跃值: (3087)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhatian 2024-3-2 18:52
8
0
freenow byte num = 90; for (int i = 0; i < strlen(str); i++) { byte t = num ^ str[i]; ...
\x7f 计算后的结果出现的。
雪    币: 1223
活跃值: (117)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ITparanoia 2024-3-2 21:21
9
0
freenow byte num = 90; for (int i = 0; i < strlen(str); i++) { byte t = num ^ str[i]; ...
设备管理,添加设备,修改用户名或是修改密码,config.ini里面的[EncoderUserInfo]是会改变的。
EncoderUserInfo是设备的账号密码,不是客户端admin的密码。

试了您的上面的代码。我把它转成了go语言,测试的时候发现不正确,不是您说的这种加密方式。

可能需要逆向程序里面的算法,才能找到具体的方式。

package main

import "fmt"

func main() {
    str := "1"
    num := byte(1)
    dat := make([]byte, len(str)*2)

    for i := 0; i < len(str); i++ {
        t := num ^ str[i]
        num = ^num
        dat[2*i+1] = 5*(t&0xf) + 33
        dat[2*i] = 5*(t>>4) + 33
    }

    fmt.Printf("Encrypted data: %s\n", string(dat))
}
雪    币: 1223
活跃值: (117)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ITparanoia 2024-3-2 21:22
10
0
zhatian 我以前搞过,现在可能是加了盐的固定密钥,好久了都忘记了。
大佬有兴趣继续搞下吗?看看是怎么加密的方式。继续加雪花奉上。
雪    币: 6214
活跃值: (3087)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhatian 2024-3-2 23:04
11
0
ITparanoia 大佬有兴趣继续搞下吗?看看是怎么加密的方式。继续加雪花奉上。
这东西难的要死,没有时间搞啊。我是随便说2句看能不能帮到你而已。
雪    币: 1834
活跃值: (3431)
能力值: ( LV3,RANK:32 )
在线值:
发帖
回帖
粉丝
freenow 2024-3-4 09:12
12
0
ITparanoia 设备管理,添加设备,修改用户名或是修改密码,config.ini里面的[EncoderUserInfo]是会改变的。 EncoderUserInfo是设备的账号密码,不是客户端admin的密码。 ...
num 的值是90
游客
登录 | 注册 方可回帖
返回