SLE44324442函数库

    技术2022-05-11  45

    Declare   Function srd_4442 Lib "mwic_32.dll" (ByVal icdev As LongByVal offset As IntegerByVal le As IntegerByVal data_buffer$) As IntegerDeclare Function srd_4442_hex Lib "mwic_32.dll" Alias "srd_4442" (ByVal icdev As LongByVal offset As IntegerByVal le As IntegerByRef data_buff As ByteAs IntegerDeclare Function swr_4442 Lib "mwic_32.dll" (ByVal icdev As LongByVal offset As IntegerByVal le As IntegerByVal data_buffer$) As IntegerDeclare Function swr_4442_hex Lib "mwic_32.dll" Alias "swr_4442" (ByVal icdev As LongByVal offset As IntegerByVal le As IntegerByRef data_buffer As ByteAs IntegerDeclare Function prd_4442 Lib "mwic_32.dll" (ByVal icdev As LongByVal le As IntegerByVal data_buffer$) As IntegerDeclare Function pwr_4442 Lib "mwic_32.dll" (ByVal icdev As LongByVal offset As IntegerByVal le As IntegerByVal data_buffer$) As IntegerDeclare Function chk_4442 Lib "mwic_32.dll" (ByVal icdev As LongAs IntegerDeclare Function csc_4442 Lib "mwic_32.dll" (ByVal icdev As LongByVal le As IntegerByRef data_buffer As ByteAs IntegerDeclare Function wsc_4442 Lib "mwic_32.dll" (ByVal icdev As LongByVal le As IntegerByRef data_buffer As ByteAs IntegerDeclare Function rsc_4442 Lib "mwic_32.dll" (ByVal icdev As LongByVal le As IntegerByRef data_buffer As ByteAs IntegerDeclare Function rsct_4442 Lib "mwic_32.dll" (ByVal icdev As Long, counter As IntegerAs IntegerDeclare Function asc_hex Lib "mwic_32.dll" (ByVal asc$, ByRef hex As ByteByVal le&As IntegerDeclare Function hex_asc Lib "mwic_32.dll" (ByRef hex As ByteByVal asc$, ByVal le&As IntegerDeclare Function asc_asc% Lib "mwic_32.dll" (ByVal sorc$, ByRef des As ByteByVal le&)Declare Function ic_encrypt Lib "mwic_32.dll" (ByVal key As StringByVal ptrsource As StringByVal le As IntegerByRef ptrdest As ByteAs IntegerDeclare Function ic_decrypt Lib "mwic_32.dll" (ByVal key As StringByRef ptrdest As ByteByVal le As IntegerByVal ptrsource As StringAs Integer 

     

     

    Declare   Function usb_auto_init Lib "mwic_32.dll" () As LongDeclare Function usb_ic_init Lib "mwic_32.dll" () As LongDeclare Function get_status Lib "mwic_32.dll" (ByVal icdev As LongByRef status As IntegerAs IntegerDeclare Function cmp_dvsc Lib "mwic_32.dll" (ByVal icdev As LongByVal length As IntegerByVal data_buffer$) As IntegerDeclare Function srd_dvsc Lib "mwic_32.dll" (ByVal icdev As LongByVal length As LongByVal data_buffer$) As IntegerDeclare Function swr_dvsc Lib "mwic_32.dll" (ByVal icdev As LongByVal length As IntegerByVal data_buffer$) As IntegerDeclare Function setsc_md Lib "mwic_32.dll" (ByVal icdev As LongByVal mode As IntegerAs IntegerDeclare Function turn_on Lib "mwic_32.dll" (ByVal icdev As LongAs IntegerDeclare Function turn_off Lib "mwic_32.dll" (ByVal icdev As LongAs IntegerDeclare Function srd_ver Lib "mwic_32.dll" (ByVal icdev As LongByVal le As IntegerByVal data_buffer$) As IntegerDeclare Function auto_pull Lib "mwic_32.dll" (ByVal icdev As LongAs IntegerDeclare Function dv_beep Lib "mwic_32.dll" (ByVal icdev As LongByVal time As IntegerAs IntegerDeclare Function usb_ic_exit% Lib "mwic_32.dll" (ByVal icdev As Long)

     

    Dim  Data1  As   String   *   16 Dim  Data2  As   String   *   16 Dim  databuff1( 7 As   Byte Dim  databuff2( 7 As   Byte Dim  offset  As   Integer Dim  length  As   Integer Dim  status  As   Integer Dim  password( 2 As   Byte Dim  proval  As   String   *   8 Dim  counter  As   Integer Dim  oldpass  As   String Dim  ptrdest( 16 As   Byte Dim  ptrsource  As   String   *   16 Private   Sub  Command6_Click() ' ****************************测4442卡**************************** st  =  chk_4442(icdev) If  st  <   0   Then     List1.AddItem ( " chk card error " )     Exit Sub Else     List1.AddItem ( " chk card ok " ) End   If ' ******************************校验密码**************************** ' password(0) = &HB6 ' password(1) = &H23 ' password(2) = &H7 ' oldpass = "ffffff" ' st = asc_hex(oldpass, password(0), 3) ' If st < 0 Then '     List1.AddItem ("asc_hex error") '     Exit Sub ' Else '     List1.AddItem ("asc_hex ok") ' End If ''' st = csc_4442(icdev, 3, password(0)) ' If st < 0 Then '     List1.AddItem ("csc error") '     Exit Sub ' Else '     List1.AddItem ("csc  ok") ' End If ' ***********************读出卡密码*************************** st  =  rsc_4442(icdev,  3 , password( 0 ))  If  st  <   0   Then     List1.AddItem ( " rsc error " )     Exit Sub Else     List1.AddItem ( " rsc  ok " )     For  i  =   0   To   2          MsgBox  password(i)     Next End   If ' **********************改写密码****************************** password( 0 =   & HB6password( 1 =   & H23password( 2 =   & H7st  =  wsc_4442(icdev,  3 , password( 0 )) If  st  <   0   Then     List1.AddItem ( " wsc error " ) Else     List1.AddItem ( " wsc ok " ) End   If ' *********************读出密码错误计数器********************** st  =  rsct_4442(icdev, counter) If  st  <   0   Then     List1.AddItem ( " rsct  error " )     Exit Sub Else     List1.AddItem ( " rsct Ok " )    List1.AddItem ( Str (counter)) End   If ' **********************读写卡 ******************************* offset  =   40 length  =   10 Data1  =   " 1234567890 " st  =  swr_4442(icdev, offset, length, Data1) If  st  <   0   Then   List1.AddItem ( " write error " )   Exit Sub Else   List1.AddItem ( " write OK " ) End   If st  =  srd_4442(icdev, offset, length, Data2) If  st  <   0   Then   List1.AddItem ( " read error " )   Exit Sub Else   List1.AddItem ( " read OK " )  List1.AddItem (Data2) End   If ' **********************读写保护区****************************** proval  =   " 6 " ' st = pwr_4442(icdev, 30, 1, proval) If  st  <   0   Then   List1.AddItem ( " pwr error " )   Exit Sub Else   List1.AddItem ( " pwr OK " )  List1.AddItem (proval) End   If st  =  prd_4442(icdev,  4 , proval) If  st  <   0   Then   List1.AddItem ( " prd error " )   Exit Sub Else   List1.AddItem ( " prd OK " ) End   If ' *******************十六进制读写****************************** offset  =   56 length  =   8 Data1  =   " abcdef0123456789 " st  =  asc_hex(Data1, databuff1( 0 ),  8 ) If  st  <   0   Then     List1.AddItem ( " asc_hex error " ) Else     List1.AddItem ( " asc_hex ok " ) End   If     st  =  swr_4442_hex(icdev, offset, length, databuff1( 0 )) If  st  <   0   Then   List1.AddItem ( " write error " )   Exit Sub Else   List1.AddItem ( " write ok " ) End   If st  =  srd_4442_hex(icdev, offset, length, databuff2( 0 )) If  st  <   0   Then   List1.AddItem ( " read error " )   Exit Sub Else   st  =  hex_asc(databuff2( 0 ), Data2,  8 )  List1.AddItem ( " read OK " )  List1.AddItem (Data2) End   If ' ****************************DES算法******************** st  =  ic_encrypt( " 12345678 " " 明华技术开发中心 " 16 , ptrdest( 0 )) If  st  <   0   Then     List1.AddItem ( " ic_encrypt error " )     Exit Sub Else     List1.AddItem ( " ic_encrypt ok " ) End   If st  =  ic_decrypt( " 12345678 " , ptrdest( 0 ),  16 , ptrsource) If  st  <   0   Then     List1.AddItem ( " ic_decrypt error " )     Exit Sub Else     List1.AddItem ( " ic_decrypt ok " )    List1.AddItem (ptrsource) End   If ' ********************************************************** End Sub Private   Sub  Form_Load()icdev  =  usb_auto_init() If  icdev  <   0   Then     List1.AddItem ( " Init error! " )     Exit Sub Else     List1.AddItem ( " Init OK " ) End   If   st  =  get_status(icdev, status) If  st  <   0   Then   List1.AddItem ( " Status error " )   Exit Sub Else   List1.AddItem ( " Status ok " ) End   If End Sub Private   Sub  Form_Unload(Cancel  As   Integer )   st  =  usb_ic_exit(icdev)  End Sub

    最新回复(0)