Foxtable(狐表)用户栏目专家坐堂 → [求助]尝试读取或写入受保护的内存。这通常指示其他内存已损坏


  共有5174人关注过本帖树形打印复制链接

主题:[求助]尝试读取或写入受保护的内存。这通常指示其他内存已损坏

帅哥哟,离线,有人找我吗?
chnfo
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2191 积分:18007 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2019/1/24 9:15:00 [只看该作者]

有。可以去它的官网www.jansh.com.cn下载,好像点资源下载可以进去。我现在用的手机。下载ET99的压缩包,samples\protection\et99_sample_csharp.zip
[此贴子已经被作者于2019/1/24 9:44:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/24 9:45:00 [只看该作者]

那,请转换成vb.net代码后测试即可。

 

http://converter.telerik.com/

 


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2191 积分:18007 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2019/1/24 10:05:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:c#窗口文件转成vb.txt

这个还真不会。它有几个文件,不知道要用哪个

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:c#定义的函数转成vb.txt

而且转换以后,一开始就是命名空间,然后里面有的一些数据类型的设置在FT中就执行不了,比如uinteger

看了一下C#的示例文件,里面包含函数的也就是其中两个文件了。一个是ET99_API.cs,一个是frmET99API.cs,把里面的代码都转成VB了,就是上面的两个文件
[此贴子已经被作者于2019/1/24 10:27:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/24 10:25:00 [只看该作者]

1、改成类似这样的,如

 

Declare Function et_Verify Lib "FT_ET99_API.dll" (ByVal hHandle As IntPtr, ByVal Flags As Integer, ByVal pucPIN As Byte()) As UInteger

 

2、对应的调用,也用byte()处理,如

 

Dim bytPIN As byte() = System.Text.Encoding.ASCII.GetBytes(strPIN)


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2191 积分:18007 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2019/1/24 10:32:00 [只看该作者]

Function et_OpenToken(ByRef hHandle As IntPtr, ByVal pid As Byte(), ByVal index As Integer) As UInteger
---提示错误
编译错误:语句不能出现在方法体内。假定为方法末尾。
错误代码:Function et_OpenToken(ByRef hHandle As IntPtr, ByVal pid As Byte(), ByVal index As Integer) As UInteger

另外,象下面的这样的怎么转?
Function MD5_HMAC(ByVal pucText As Byte(), ByVal ulText_Len As Byte, ByVal pucKey As Byte(), ByVal ulKey_Len As Byte,
<MarshalAs(UnmanagedType.LPArray, SizeParamIndex:=32)> ByVal pucToenKey As Byte(),
<MarshalAs(UnmanagedType.LPArray, SizeParamIndex:=16)> ByVal pucDigest As Byte()) As UInteger


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/24 10:34:00 [只看该作者]

1、先修改14楼的测试,看是否可以。

 

2、在这个网站里面转换 http://converter.telerik.com/

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2191 积分:18007 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2019/1/24 11:08:00 [只看该作者]

不行。报错了 Byte的1维数组的值无法转换为string 错误代码:result=et_opentoken(Hhandle,bytpid,index)

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/24 11:11:00 [只看该作者]

以下是引用chnfo在2019/1/24 11:08:00的发言:
不行。报错了 Byte的1维数组的值无法转换为string 错误代码:result=et_opentoken(Hhandle,bytpid,index)

 

我只叫你修改这个啊

 

Declare Function et_Verify Lib "FT_ET99_API.dll" (ByVal hHandle As IntPtr, ByVal Flags As Integer, ByVal pucPIN As Byte()) As UInteger

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2191 积分:18007 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2019/1/24 11:38:00 [只看该作者]

看错了,似乎可以了

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2191 积分:18007 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2019/1/24 11:47:00 [只看该作者]

好怪异的做法,直接用VB的不行,用C#转才行

 回到顶部
总数 21 上一页 1 2 3 下一页