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

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

2024-3-1 14:54
2375

下载地址:

https://cn.uniview.com/Service/Service_Training/Download/Desktop_Software/Client_Software/201607/815864_194214_0.htm

需要分析客户端生成的config.ini文件内的admin对应的加密方式是什么?

示例:
[EncoderUserInfo]
User=admin
Password=?XND?NN&?lN0

求Password的加密方式。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

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

继续增加雪花求解。大佬加油~
2024-3-2 08:22
0
雪    币: 1223
活跃值: (122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
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
2024-3-2 08:40
0
雪    币: 6582
活跃值: (4072)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
ITparanoia User=9 密码是9 Password=\x7f?0 User=9 密码1 Password=\x7f?X User=1 密码1 Password=\x7f?X User=9 ...
我以前搞过,现在可能是加了盐的固定密钥,好久了都忘记了。
2024-3-2 17:07
0
雪    币: 2419
活跃值: (3997)
能力值: ( LV3,RANK:32 )
在线值:
发帖
回帖
粉丝
6
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文件里面的改变密码并不会变化
2024-3-2 17:11
0
雪    币: 6582
活跃值: (4072)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
\x7f 计算后的结果出现的。
2024-3-2 18:51
0
雪    币: 6582
活跃值: (4072)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
freenow byte num = 90; for (int i = 0; i < strlen(str); i++) { byte t = num ^ str[i]; ...
\x7f 计算后的结果出现的。
2024-3-2 18:52
0
雪    币: 1223
活跃值: (122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
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))
}
2024-3-2 21:21
0
雪    币: 1223
活跃值: (122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
zhatian 我以前搞过,现在可能是加了盐的固定密钥,好久了都忘记了。
大佬有兴趣继续搞下吗?看看是怎么加密的方式。继续加雪花奉上。
2024-3-2 21:22
0
雪    币: 6582
活跃值: (4072)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
ITparanoia 大佬有兴趣继续搞下吗?看看是怎么加密的方式。继续加雪花奉上。
这东西难的要死,没有时间搞啊。我是随便说2句看能不能帮到你而已。
2024-3-2 23:04
0
雪    币: 2419
活跃值: (3997)
能力值: ( LV3,RANK:32 )
在线值:
发帖
回帖
粉丝
12
ITparanoia 设备管理,添加设备,修改用户名或是修改密码,config.ini里面的[EncoderUserInfo]是会改变的。 EncoderUserInfo是设备的账号密码,不是客户端admin的密码。 ...
num 的值是90
2024-3-4 09:12
0
游客
登录 | 注册 方可回帖
返回
//