尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

SoftSIM - swSIM

SoftSIM - swSIM
📅 发布时间:2026/6/20 5:27:18

编译

服务器端 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

 

qq:505645074

相关新闻

  • 【软件工程笔记】用例图、类图、ER图、系统流程图、软件结构图、系统工作上下范围图、数据流图
  • maven的pom.xml文件(引入内嵌tomcat、servlet)
  • 工业相机CMOS和CCD传感器怎么选?

最新新闻

  • C# 读写INI文件:从编码乱码到跨平台兼容的实战指南
  • 3大技术突破:PaddleOCR如何用AI重塑文档数字化工作流
  • Navicat Mac版终极重置指南:三步实现无限免费试用
  • Anime.js路径动画终极指南:让元素沿着任意轨迹流畅运动
  • BreezySLAM与ROS集成实战:打造完整的机器人SLAM系统
  • 从74LS到74HC:经典逻辑器件系列演进与应用选型指南

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号