金典120GB固态硬盘SM2258XT量产修复成功记录,附量产部落SM2258XT B16A开卡软件,VM29F01TEME1(2CA40832A100),SM2259XT2量产参考

偶得一块二手的120G金典SSD,闲来无事搞一下量产,先上外观图片给大家看看:

1.jpg

玩量产的一般都知道,找量产工具,肯定是要根据主控型号和闪存颗粒制程,来找相匹配的软件才行。因此我们拆开外壳,下图看到里面主控SM2258XT,颗粒丝印VM29F01TEME1-B16A,这块固态比较方便的地方是,单从丝印上就能看出是B16A制程。

444.jpg

有的固态没法通过丝印确定颗粒制程,怎么办呢?第一种方法是从量产部落下载smi_flash_id软件来检测,软件会直接给出结果;第二种方法是先随便找一个SM2258XT的量产工具,通过量产工具检测颗粒ID,进而确定颗粒制程,然后再从量产部落下载对应正确的量产工具。

确定是B16A制程后,就从量产部落下载了SM2258XT+B16A的开卡工具,我下载的SM2258XT_B16A_PKGQ1220A_FWQ1204B0.rar版本。

用镊子短接固态的两个ROM触点,保持短接状态把固态硬盘用ASM1153E转接板连接到电脑USB口(建议经常开卡的朋友自行配备JMS583、JMS580、JMS578、ASM1153E等主控的转接板)。

2.jpg

打开开卡工具,点Scan Drive可以发现固态硬盘,此时拿走镊子取消短接(如果一直短接,开卡时会报错)。我们点击Parameter项(设置区域主要集中在下图两个红框处),点Edit Config,输入密码是两个空格,进行相关设置。

在Parameter项的Flash Select右侧位置直接点Auto按钮,让软件自动识别闪存(如果软件识别不到的话就需要更换其他高级版本),然后设置一些基本信息,比如序列号、硬盘容量、硬盘型号、生产厂商等等,不懂的基本上按照默认就行。注意要在软件界面中上位置的Disk Capacity—Disk Size处设置好硬盘容量(也可以用Auto自动容量),其他设置可以默认。

3.jpg

设置完后点Save Config保存,返回Test项,直接点Start开始量产。量产过程大约2分钟左右,会有一个Pass的标识,还有绿色的圆圈就表示开卡成功了。量产失败的话,根据提示更改设置或者更换软件,具体问题具体分析,多试试不要放弃。

量产成功后关闭软件,重新拔插固态硬盘,进行分区格式化即可正常使用。

下图是成功界面:

4.jpg

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SM2、SM3和SM4都是国密算法,其中SM2用于数字签名、公钥加密和密钥交换,SM3用于哈希函数,SM4用于对称加密。下面是一个简单的用C语言实现的SM2、SM3和SM4算法示例: ### SM2 ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include "sm2.h" int main() { unsigned char msg[] = "Hello, world!"; unsigned char pubkey[] = "04438d5e596cc9c4b13c9f4d6b4663d8f7b7d6a9c0c2f6b59f4c7d74f2a8d7d5" "d6b2e2b236dc9b6a6e7f4fc6a5f2a9c2e5ff2ee5dbb13e7af0c2a4f051c49731"; unsigned char prikey[] = "6e5a9b0a4f91b40c3e2a8b4b4d5c635cf3d2c9fa1abf4248cef2a09a6e1b3f01"; unsigned char signature[128]; int len; sm2_init(); len = sizeof(msg) - 1; sm2_sign(msg, len, prikey, signature); printf("signature: "); for (int i = 0; i < 64; i++) { printf("%02x", signature[i]); } printf("\n"); sm2_verify(msg, len, pubkey, signature); printf("verify success\n"); return 0; } ``` 这个示例中,我们使用了sm2.h头文件提供的函数来进行SM2算法的数字签名和验证操作。首先,我们使用sm2_init函数来初始化SM2算法的参数。然后,我们定义了一个消息msg、一个公钥pubkey和一个私钥prikey。我们使用sm2_sign函数来对消息进行签名操作,并将签名结果保存在signature中。最后,我们使用sm2_verify函数来验证签名是否正确。 ### SM3 ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include "sm3.h" int main() { unsigned char msg[] = "Hello, world!"; unsigned char digest[32]; sm3_init(); sm3_update(msg, sizeof(msg) - 1); sm3_final(digest); printf("digest: "); for (int i = 0; i < 32; i++) { printf("%02x", digest[i]); } printf("\n"); return 0; } ``` 这个示例中,我们使用了sm3.h头文件提供的函数来进行SM3算法的哈希操作。首先,我们使用sm3_init函数来初始化SM3算法的参数。然后,我们使用sm3_update函数来更新消息。最后,我们使用sm3_final函数来获取哈希结果。 ### SM4 ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include "sm4.h" int main() { unsigned char key[] = "0123456789abcdef"; unsigned char iv[] = "0123456789abcdef"; unsigned char plaintext[] = "Hello, world!"; unsigned char ciphertext[128]; unsigned char decryptedtext[128]; int len; sm4_init(); len = sizeof(plaintext) - 1; sm4_cbc_encrypt(key, iv, plaintext, len, ciphertext); printf("ciphertext: "); for (int i = 0; i < len; i++) { printf("%02x", ciphertext[i]); } printf("\n"); sm4_cbc_decrypt(key, iv, ciphertext, len, decryptedtext); printf("decryptedtext: "); for (int i = 0; i < len; i++) { printf("%c", decryptedtext[i]); } printf("\n"); return 0; } ``` 这个示例中,我们使用了sm4.h头文件提供的函数来进行SM4算法的加密和解密操作。首先,我们使用sm4_init函数来初始化SM4算法的参数。然后,我们定义了一个密钥key、一个初始化向量iv和一个明文plaintext。我们使用sm4_cbc_encrypt函数来对明文进行加密操作,并将密文保存在ciphertext中。最后,我们使用sm4_cbc_decrypt函数来对密文进行解密操作,并将解密结果保存在decryptedtext中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值