Ry4S.x32 使用说明:
1.将Ry4S.x32拷贝到Director的Xtras子目录下。
2.启动Director.
3.打开Director的Message Window进行测试。
4.输入 shouxlib 命令显示所有加载的xtra,结果必须包含rockey.如果没有找到rockey,说明Ry4S.x32没有放到xtras目录下。
结果例子:
-- Welcome to Director --
showxlib
-- XLibraries:
-- Xtra: rockey
-- Xtra: filextra
-- Xtra: uihelper
-- Xtra: javaconvert
-- Xtra: quicktimesupport
-- Xtra: netlingo
-- Xtra: multiuser
-- Xtra: xmlparser
-- Xtra: mui
-- Xtra: fileio
-- Xtra: beatnik
-- Xtra: activex
第一个Xtra既为rockey.
5.观看rockey的接口,可以用 interface命令实现,格式如下 put interface(xtra "rockey")
如下:
put interface(xtra "rockey")
-- "xtra ROCKEY -- ROCKEY functions for Lingo,Release v1.00
new object me
-- ROCKEY Interface --
* rockey integer function,integer handle,integer lp1,integer lp2,integer p1,integer p2,integer p3,integer p4,string buf -- ROCKEY interface
* get_p1 -- Get return value in P1 parameter
* get_p2 -- Get return value in P2 parameter
* get_p3 -- Get return value in P3 parameter
* get_p4 -- Get return value in P4 parameter
* get_lp1 -- Get return value in lp1 parameter
* get_lp2 -- Get return value in lp2 parameter
* get_handle -- Get return value in handle parameter
* get_buf -- Get return value in buf parameter
-- Misc functions --
* hex2dec string hex --convert hexadecimal number to decimal number.
* dec2hex int dec --convert decimal number to hexadecimal number.
rockey为主函数,可以进行找锁,打开,读写,计算,取得种子吗等功能。
参数 function表示功能码,有以下几种。
define RY_FIND 1 //找锁
#define RY_FIND_NEXT 2 //找下一锁
#define RY_OPEN 3 //打开锁
#define RY_CLOSE 4 //关闭锁
#define RY_READ 5 //读锁
#define RY_WRITE 6 //写锁
#define RY_RANDOM 7 //产生随机数
#define RY_SEED 8 //产生种子码
#define RY_WRITE_USERID 9 //写用户 ID
#define RY_READ_USERID 10 //读用户 ID
#define RY_SET_MOUDLE 11 //设置模块字
#define RY_CHECK_MOUDLE 12 //检查模块状态
#define RY_WRITE_ARITHMETIC 13 //写算法
#define RY_CALCULATE1 14 //计算 1
#define RY_CALCULATE2 15 //计算 2
#define RY_CALCULATE3 16 //计算 3
#define RY_DECREASE 17 //递减模块单元
handle为句柄,lp1,lp2为长参数lp1,lp2, p1,p2,p3,p4为短参数p1,p2,p3,p4, buf为字符缓冲区。
具体的意思请参见说明书。
它的直接返回值表示ROCKEY操作状态,有以下几种情况:
// 返回值
0 //没有错误
5 //错误的密码或硬件 ID
6 //设置硬件 ID 错
7 //读写地址或长度有误
8 //没有此命令
9 //内部错误
10 //读数据错
11 //写数据错
12 //随机数错
13 //种子码错
14 //计算错
15 //在操作前没有打开锁
16 //打开的锁太多(>16)
17 //找不到更多的锁
18 //没有 Find 直接用了 FindNext
19 //递减错
20 //算法指令错
21 //算法运算符错
22 //算法第一条指令含有常数
23 //算法最后一条指令含有常数
24 //算法中常数值 > 63
0x102 //未知系统
0xffff //未知错误
0x表示十六进制。
get_XXX函数可以得到rockey的参数间接返回值。比如 get_lp1 可以得到lp1中的返回值。
函数 hex2dec,dec2hex用于16进制和十进制之间互相转化。
6.例子
(1) 找DEMO锁
从说明书上可以知道找锁的的输入参数为 function=1,p1,p2,p3,p4为一二级密码字。我们的DEMO锁的密码字为0xc44c,0xc8f8,0x0799,0xc43b.
你需要将这些十六进制数转化为10进制数,可以用系统带的科学计算器,也可以用hex2dec函数,例子如下:
put hex2dec("c44c")
-- "50252"
0xc44c=50252, 同理可得到
put hex2dec("c8f8")
-- "51448"
put hex2dec("0799")
-- "1945"
put hex2dec("c43b")
-- "50235"
这时我们可以进行找锁操作。我们只用function,p1,p2,p3,p4参数,将其他参数设为0或"",例子如下:
put rockey(1,0,0,0,50252,51448,1945,50235,"")
-- 0
返回0表示操作成功。 根据说明书可知返回锁的硬件ID,在Lp1里,用get_lp1()函数的可以得到lp1中的值,如下:
put get_lp1()
-- -1995600092
-1995600092既为锁的硬件ID. 它其实是一个16进制的数,要还其真面目,用下面函数:
put dec2hex(-1995600092)
-- "890d8f24"
可以知道ID实为 0x890d8f24.
(2) 打开DEMO锁
查说明书可知,打开锁的参数 function=3,还需要 p1=50252,p2=51448,p3=1945,p4=50235设置密码字
和lp1保存锁的硬件ID -1995600092 如下所示:
put rockey(3,0,-1995600092,0,50252,51448,1945,50235,"")
-- 0
返回0表示成功,返回的结果在handle里,用 get_handle()可以得到结果,如下:
put get_handle()
-- 4
返回的句柄为4.
(3) 读用户内存
查说明书可知,读用户内存 function=5, 还需要 handle,p1,p2. handle为4,p1,p2为启示地址,分别为0,23,如下:
put rockey(5,4,0,0,0,23,0,0,"")
-- 0
返回0表示成功,用户内存数据在buf里,由get_buf可以得到结果:
put get_buf()
-- "www.ftsafe.com"
读出的结果为 "www.ftsafe.com"。
其他的函数同上,可以自行测试或在lingo语言里调用。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
飞天加密狗Rockey4Smart示例光盘 (504个子文件)
libJRockey4Smart.so.0.3 137KB
libRockey4Smart.so.0.3 130KB
libJRockey4Smart.so.0.3 120KB
libRockey4Smart.so.0.3 113KB
._Contents 4KB
._MacOS 4KB
._r4s 4KB
._Resources 4KB
libRockey4Smart.a 213KB
libRockey4Smart.a 182KB
libRockey4Smart.a 162KB
Module1.bas 6KB
Module1.bas 430B
Module1.bas 31B
Project1.bdsproj 8KB
Project1.bdsproj 8KB
Project1.bpr 4KB
Project1.bpr 4KB
Project1.bpr 4KB
Vcsamp.c 15KB
test.c 14KB
Sample.c 14KB
test.c 14KB
test.c 14KB
test.c 14KB
Sample.c 3KB
Sample.c 3KB
Sample.c 3KB
interface.c 3KB
Sample.c 3KB
Sample.c 3KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 2KB
Sample.c 1KB
Sample.c 1KB
Sample.c 1KB
Sample.c 1KB
Sample.c 1KB
Sample.c 1KB
Sample.c 1KB
Sample.c 1KB
Sample.c 1KB
Sample.c 852B
Sample.c 120B
Ry4S.class 3KB
Ry4S.class 3KB
Ry4S.class 3KB
Ry4S.class 3KB
SampleDlg.cpp 20KB
dlldemoDlg.cpp 20KB
Unit1.cpp 18KB
testlib.cpp 15KB
Unit1.cpp 6KB
Time.cpp 6KB
Unit1.cpp 4KB
Count.cpp 3KB
DLLDEMO.CPP 2KB
Sample.cpp 2KB
Project1.cpp 1KB
Project1.cpp 1KB
Project1.cpp 1KB
StdAfx.cpp 209B
StdAfx.cpp 208B
Form1.cs 13KB
Form1.cs 12KB
Form1.cs 10KB
Form1.Designer.cs 3KB
Form1.Designer.cs 3KB
Resources.Designer.cs 3KB
Resources.Designer.cs 3KB
AssemblyInfo.cs 2KB
AssemblyInfo.cs 1KB
AssemblyInfo.cs 1KB
Settings.Designer.cs 1KB
Settings.Designer.cs 1KB
Program.cs 476B
Program.cs 476B
Sample.csproj 4KB
Com_Timer.csproj 3KB
Com_Count.csproj 3KB
RY4S.dcu 68KB
RY4S.dcu 68KB
RY4S.dcu 68KB
RY4S.dcu 68KB
RY4S.dcu 67KB
RY4S.dcu 66KB
RY4Smart.dcu 65KB
共 504 条
- 1
- 2
- 3
- 4
- 5
- 6
bestyellow
- 粉丝: 42
- 资源: 43
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- bdwptqmxgj11.zip
- onnxruntime-win-x86
- onnxruntime-win-x64-gpu-1.20.1.zip
- vs2019 c++20 语法规范 头文件 <ratio> 的源码阅读与注释,处理分数的存储,加减乘除,以及大小比较等运算
- 首次尝试使用 Win,DirectX C++ 中的形状渲染套件.zip
- 预乘混合模式是一种用途广泛的三合一混合模式 它已经存在很长时间了,但似乎每隔几年就会被重新发现 该项目包括使用预乘 alpha 的描述,示例和工具 .zip
- 项目描述 DirectX 引擎支持版本 9、10、11 库 Microsoft SDK 功能相机视图、照明、加载网格、动画、蒙皮、层次结构界面、动画控制器、网格容器、碰撞系统 .zip
- 项目 wiki 文档中使用的代码教程的源代码库.zip
- 面向对象的通用GUI框架.zip
- 基于Java语言的PlayerBase游戏角色设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页