当前位置: 首页 > news >正文

SoftSIM - swSIM

编译

服务器端 swicc-pcsc
git clone --recurse-submodules https://github.com/tomasz-lisowski/swicc-pcsc
MakeFile去除 -Werror \
cd swicc-pcsc
make main-dbg
sudo make install客户端 swsim
sudo apt-get install make gcc
git clone --recurse-submodules https://github.com/tomasz-lisowski/swsim
MakeFile去除 -Werror \
cd swsim
make main-dbg

 

启动

读卡器启动: sudo pcscd -f -d -T 停止: pkill -x pcscd
swsim启动:cd swsim && ./build/swsim.elf --ip 127.0.0.1 --port 37324 --fs filesystem.swiccfs --fs-gen ./data/usim.json

 

测试

sudo apt install python-pip
sudo apt install python3-pyscard
python3 test_swsim.py
# -*- coding: utf-8 -*-
from smartcard.System import readers
from smartcard.util import toHexStringdef hex_to_string(hex_list):"""将十六进制列表转换为可读的字符串(用于BCD编码的数字)"""result = ""for byte in hex_list:high = (byte >> 4) & 0x0Flow = byte & 0x0F# 处理可能存在的填充位 (0xF)if high != 0x0F:result += str(high)if low != 0x0F:result += str(low)return result# 1. 查找读卡器
reader_list = readers()
swicc_readers = [r for r in reader_list if 'swICC' in str(r)]
if not swicc_readers:print("错误:未找到swICC读卡器。请确保swSIM服务器正在另一个终端运行。")exit(1)swicc_reader = swicc_readers[0]
print(f"已连接到: {swicc_reader}")# 2. 连接
connection = swicc_reader.createConnection()
connection.connect()print("\n=== 开始读取SIM卡信息 ===\n")# 3. 读取ICCID (文件ID: 2FE2,位于MF下)
print("1. 正在读取ICCID...")SELECT_MF = [0xA0, 0xA4, 0x00, 0x00, 0x02, 0x2F, 0xE2]
resp, sw1, sw2 = connection.transmit(SELECT_MF)
print(f"   选择MF状态: {hex(sw1)} {hex(sw2)}")SELECT_ICCID = [0xA0, 0xB0, 0x00, 0x00, 0x00A]
iccid_data, sw1, sw2 = connection.transmit(SELECT_ICCID)
print(f"   ICCID原始数据: {toHexString(iccid_data)}") 

image

 

http://www.rkmt.cn/news/153277.html

相关文章:

  • 【软件工程笔记】用例图、类图、ER图、系统流程图、软件结构图、系统工作上下范围图、数据流图
  • maven的pom.xml文件(引入内嵌tomcat、servlet)
  • 工业相机CMOS和CCD传感器怎么选?
  • 大数据技术栈的简要搭建理解
  • 国内混合机五大领先企业综合测评!探秘优质混料机设备技术创新与服务体系 - 速递信息
  • 一键清空控制台
  • 圣诞奇遇记 - Amy
  • 【计算机毕业设计案例】基于springboot的学生军训管理系统军训基础信息管理、学生军训管理、训练考核管理(程序+文档+讲解+定制)
  • 灵芯派UI项目查询
  • 智谱·Open-AutoGLM智能体实战指南:3步实现自动化代码生成与优化
  • 金凯旋 重修vn.py笔记 之 五 : 框架
  • CY3-尸胺(CY3-1,5-Diaminopentane)
  • 【计算机毕业设计案例】基于springboot的校园传统文化交流系统文化展示、互动交流、活动组织、资源共享(程序+文档+讲解+定制)
  • 青岛公司法律师推荐指南,适配不同场景的律师机构选哪家 - 讯息观点
  • 2025 年 12 月铝合金数控走心机加工厂家权威推荐榜:高精度、高效率的精密零件制造解决方案深度解析 - 品牌企业推荐师(官方)
  • 超声原始数据重构成B扫成像的MATLAB实现
  • Open-AutoGLM插件下载难点解析,99%人忽略的3个关键步骤
  • stm32的PID控制算法
  • 专科生必看!9个高效降AI率工具推荐,轻松应对AIGC检测
  • 【Open-AutoGLM同类AI全景解析】:2024年最值得关注的5大国产自研智能引擎
  • Java毕设项目:基于springboot的学生军训管理系统(源码+文档,讲解、调试运行,定制等)
  • 2025 运动地板厂家综合实力排名 产能・专利・服务三维对比 - 爱采购寻源宝典
  • Java毕设选题推荐:基于springboot的校园传统文化交流系统整合诗词、书法、戏曲、传统节日等多元文化资源【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 2025年广东院校办公室搬迁公司权威推荐榜单:广东办公室搬家/广东搬家/广东长途搬运服务商精选 - 品牌推荐官
  • 程序员必须掌握的7个Open-AutoGLM高级用法(错过等于 losing next-gen coding edge)
  • 终于找到我想要的远程工具了!
  • 2025年混合气体IG541灭火系统批发厂家权威推荐榜单:混合气体灭火系统ig541/氮气IG100灭火系统/高压二氧化碳灭火系统源头厂家精选 - 品牌推荐官
  • 项目管理工具Kanass:轻量、简洁、开源、免费
  • 2025年处理青少年叛逆学校服务推荐:青少年叛逆学校推荐几家? - 深度智识库
  • 知识管理工具sward:轻量、简洁、开源、免费