Kartenlesegerät/LogIn Card auslesen?

  • VB.NET

Es gibt 84 Antworten in diesem Thema. Der letzte Beitrag () ist von Sio_x.

    das musst du wissen :P
    Eben diese Deklerationen benötigt ihr auch(am besten macht man sich dafür eine eigene Wrapper Klasse)...
    Wie man diese nun Aufruft, kann ich euch leider nicht sagen, sollte man aber ebenso aus dem Code auslesen können(einfach gucken wie und in welchem Zusammenhang all das aufgerufen wird ;) )
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    HUUPPS!
    Ich nehm alles zurück!
    Ich hatte ausversehen versucht die dll statt der exe zu decopmileen!


    edit: ich habs!! es funktioiert!
    habt nen bisscchen gedult! ich schreibe ne dll dafür!

    edit: man ist das dämlich kompliziert xD

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manawyrm“ ()

    klick im Reflector auf EcpLoginData, dann wirste wahrscheinlich zu einer Enum oder Struktur geführt, diese einfach auch ins Projekt kopieren ;)

    @Samus Aran: Das werden wohl die Methoden im Speicher sein, mit den entsprechenden Speicheradressen, die du aufrufen müsstest ;)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Ok, also was ich bisher habe :D

    VB.NET-Quellcode

    1. Imports System
    2. Imports System.Threading
    3. Namespace ecpAdmin
    4. Public Class EcpLoginData
    5. ' Methods
    6. Public Sub DeleteObj()
    7. Dim num As Integer = 0
    8. Dim cpData As EcpLoginData = Me.GetCpData
    9. If EcpLoginData.IsX64 Then
    10. num = ecpCoreInterface.ecpDeleteLoginData64((cpData))
    11. Else
    12. num = ecpCoreInterface.ecpDeleteLoginData32((cpData))
    13. End If
    14. If (num <> 0) Then
    15. Throw New Exception
    16. End If
    17. End Sub
    18. Public Function GetCpData() As EcpLoginData
    19. Dim data As New EcpLoginData
    20. data.size = &H148
    21. data.flags = Me._Flags
    22. data.accountName = Me._AccountName
    23. data.cardId = Me._CardId
    24. data.winUser = Me._UserName
    25. data.winPwd = Me._Password
    26. data.winDomain = Me._Domain
    27. Return data
    28. End Function
    29. Public Shared Function GetObjByIdx(ByVal idx As Integer) As EcpLoginData
    30. Dim num As Integer = 0
    31. Dim cCp As New EcpLoginData
    32. cCp.size = &H148
    33. cCp.flags = 0
    34. If EcpLoginData.IsX64 Then
    35. num = ecpCoreInterface.ecpEnumLoginData64(idx, (cCp))
    36. Else
    37. num = ecpCoreInterface.ecpEnumLoginData32(idx, (cCp))
    38. End If
    39. If (num <> 0) Then
    40. Return Nothing
    41. End If
    42. Dim data2 As New EcpLoginData
    43. data2._CardId = cCp.cardId
    44. data2._AccountName = cCp.accountName
    45. data2._UserName = cCp.winUser
    46. data2._Password = cCp.winPwd
    47. data2._Domain = cCp.winDomain
    48. data2._Flags = cCp.flags
    49. Return data2
    50. End Function
    51. Public Shared Function IsX64() As Boolean
    52. Return (IntPtr.Size = 8)
    53. End Function
    54. Public Sub NewObj()
    55. Me.UpdateObj()
    56. End Sub
    57. Public Sub UpdateObj()
    58. Dim num As Integer = 0
    59. Dim cpData As EcpLoginData = Me.GetCpData
    60. If EcpLoginData.IsX64 Then
    61. num = ecpCoreInterface.ecpUpdateLoginData64((cpData))
    62. Else
    63. num = ecpCoreInterface.ecpUpdateLoginData32((cpData))
    64. End If
    65. If (num <> 0) Then
    66. Throw New Exception
    67. End If
    68. End Sub
    69. ' Fields
    70. Public _AccountName As String
    71. Public _CardId As String
    72. Public _Domain As String
    73. Public _Flags As UInt32
    74. Public _Password As String
    75. Public _UserName As String
    76. Private Shared mut As Mutex = New Mutex
    77. End Class
    78. End Namespace


    und:

    VB.NET-Quellcode

    1. Imports System
    2. Imports System.Runtime.InteropServices
    3. Namespace ecpAdmin
    4. Public Class ecpCoreInterface
    5. ' Methods
    6. <DllImport("ecpCore32.dll", EntryPoint:="ecp4", ExactSpelling:=True)> _
    7. Public Shared Function ecpDeleteLoginData32(ByRef cCp As EcpLoginData) As Integer
    8. End Function
    9. <DllImport("ecpCore64.dll", EntryPoint:="ecp4", ExactSpelling:=True)> _
    10. Public Shared Function ecpDeleteLoginData64(ByRef cCp As EcpLoginData) As Integer
    11. End Function
    12. <DllImport("ecpCore32.dll", EntryPoint:="ecp2", ExactSpelling:=True)> _
    13. Public Shared Function ecpEnumLoginData32(ByVal i As Integer, ByRef cCp As EcpLoginData) As Integer
    14. End Function
    15. <DllImport("ecpCore64.dll", EntryPoint:="ecp2", ExactSpelling:=True)> _
    16. Public Shared Function ecpEnumLoginData64(ByVal i As Integer, ByRef cCp As EcpLoginData) As Integer
    17. End Function
    18. <DllImport("ecpCore32.dll", EntryPoint:="ecp1", ExactSpelling:=True)> _
    19. Public Shared Function ecpGetLoginData32(ByRef cCp As EcpLoginData) As Integer
    20. End Function
    21. <DllImport("ecpCore64.dll", EntryPoint:="ecp1", ExactSpelling:=True)> _
    22. Public Shared Function ecpGetLoginData64(ByRef cCp As EcpLoginData) As Integer
    23. End Function
    24. <DllImport("ecpCore32.dll", EntryPoint:="ecp3", ExactSpelling:=True)> _
    25. Public Shared Function ecpUpdateLoginData32(ByRef cCp As EcpLoginData) As Integer
    26. End Function
    27. <DllImport("ecpCore64.dll", EntryPoint:="ecp3", ExactSpelling:=True)> _
    28. Public Shared Function ecpUpdateLoginData64(ByRef cCp As EcpLoginData) As Integer
    29. End Function
    30. ' Nested Types
    31. <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> _
    32. Public Structure EcpLoginData
    33. Public Const constStructSize As UInt32 = &H148
    34. <MarshalAs(UnmanagedType.I4)> _
    35. Public size As UInt32
    36. <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=&H20)> _
    37. Public cardId As String
    38. <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=&H20)> _
    39. Public accountName As String
    40. <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=&H20)> _
    41. Public winUser As String
    42. <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=&H20)> _
    43. Public winPwd As String
    44. <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=&H20)> _
    45. Public winDomain As String
    46. <MarshalAs(UnmanagedType.I4)> _
    47. Public flags As UInt32
    48. End Structure
    49. End Class
    50. End Namespace


    Letzere ist fehlerfrei, die erste enthält etliche fehler:

    Fehler 1 Der Wert vom Typ "myLogin.NET.ecpAdmin.EcpLoginData" kann nicht in "myLogin.NET.ecpAdmin.ecpCoreInterface.EcpLoginData" konvertiert werden. C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 13 61 myLogin.NET
    Fehler 2 Der Wert vom Typ "myLogin.NET.ecpAdmin.EcpLoginData" kann nicht in "myLogin.NET.ecpAdmin.ecpCoreInterface.EcpLoginData" konvertiert werden. C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 15 61 myLogin.NET
    Fehler 3 "size" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 24 13 myLogin.NET
    Fehler 4 "flags" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 25 13 myLogin.NET
    Fehler 5 "accountName" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 26 13 myLogin.NET
    Fehler 6 "cardId" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 27 13 myLogin.NET
    Fehler 7 "winUser" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 28 13 myLogin.NET
    Fehler 8 "winPwd" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 29 13 myLogin.NET
    Fehler 9 "winDomain" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 30 13 myLogin.NET
    Fehler 10 "size" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 37 13 myLogin.NET
    Fehler 11 "flags" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 38 13 myLogin.NET
    Fehler 12 Der Wert vom Typ "myLogin.NET.ecpAdmin.EcpLoginData" kann nicht in "myLogin.NET.ecpAdmin.ecpCoreInterface.EcpLoginData" konvertiert werden. C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 40 64 myLogin.NET
    Fehler 13 Der Wert vom Typ "myLogin.NET.ecpAdmin.EcpLoginData" kann nicht in "myLogin.NET.ecpAdmin.ecpCoreInterface.EcpLoginData" konvertiert werden. C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 42 64 myLogin.NET
    Fehler 14 "cardId" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 48 29 myLogin.NET
    Fehler 15 "accountName" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 49 34 myLogin.NET
    Fehler 16 "winUser" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 50 31 myLogin.NET
    Fehler 17 "winPwd" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 51 31 myLogin.NET
    Fehler 18 "winDomain" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 52 29 myLogin.NET
    Fehler 19 "flags" ist kein Member von "myLogin.NET.ecpAdmin.EcpLoginData". C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 53 28 myLogin.NET
    Fehler 20 Der Wert vom Typ "myLogin.NET.ecpAdmin.EcpLoginData" kann nicht in "myLogin.NET.ecpAdmin.ecpCoreInterface.EcpLoginData" konvertiert werden. C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 69 61 myLogin.NET
    Fehler 21 Der Wert vom Typ "myLogin.NET.ecpAdmin.EcpLoginData" kann nicht in "myLogin.NET.ecpAdmin.ecpCoreInterface.EcpLoginData" konvertiert werden. C:\Users\Florian\AppData\Local\Temporary Projects\myLogin.NET\EcpLoginData.vb 71 61 myLogin.NET



    Nur weis ich nicht wie ich die weg bekomme und vorallem was er da von mir will :D#


    //Edit: was macht die DLL? :D

    MfG
    Ich bin fertig!

    Viel Spass!

    Lizenz: Freeware - Einkompilieren erlaubt. Namensnennung erwünscht, aber nicht pflicht.
    Ich würde gerne informiert werden wenn ein Programm von euch meine Lib nutzt (-:
    Dateien
    • cbcardreader.zip

      (702,34 kB, 693 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manawyrm“ ()

    Namespace ecpAdmin
    Public Class EcpLoginData

    Füg da doch noch eine Funktion wie die hier ein:

    VB.NET-Quellcode

    1. Shared Function FromStructure(input As ecpCoreInterface.EcpLoginData) As EcpLoginData
    2. Dim out As New EcpLoginData()
    3. out._AccountName = input.accountName
    4. out._CardId = input.cardId
    5. out._Flags = input.flags
    6. out._Domain = input.winDomain
    7. out._UserName = input.winUser
    8. out._Password = input.winPwd
    9. Return out
    10. End Function

    und ebenso umgekehrt(ich denke das schaffst du^^)
    Edit:oder so natürlich^^
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    ^^

    VB.NET-Quellcode

    1. Imports cbcard.net.txtCard
    2. Imports cbcard.net
    3. Public Class Form1
    4. Sub test()
    5. txtCard.initCard()
    6. MsgBox(txtCard.LoadFromCard)
    7. End Sub
    8. End Class


    Fehler 5 "txtCard" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden. C:\Users\Florian\documents\visual studio 2010\Projects\myLogin.NET\myLogin.NET\Form1.vb 7 9 myLogin.NET
    Fehler 6 "txtCard" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden. C:\Users\Florian\documents\visual studio 2010\Projects\myLogin.NET\myLogin.NET\Form1.vb 8 16 myLogin.NET

    Lustig lustig :D

    Und in deiner Anwendung dann:

    Eine Ausnahme (erste Chance) des Typs "System.BadImageFormatException" ist in cbreinersct.net.dll aufgetreten.

    VB.NET-Quellcode

    1. MsgBox(LoadFromCard)


    Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)
    :whistling: Lalala ich glaube da will was nicht :D

    MfG

    Manawyrm schrieb:

    hmm. das ist doof.
    kannst du mal den ganzen computerbild Karten-Tresor Ordner uploaden?

    alternativ: hast du teamviewer?



    Hab doch den DL-Link vom Karten-Tresor in meinem 1. Post auf Seite 1 drinne, kannst du dir downloaden und installieren, haste den Programmordner.



    EDIT: oder brauchst du genau den Programmordner von DJ ReDark?

    Manawyrm schrieb:

    ich brauch den vom DJ ReDark, ich nehme an dass mir das Programm die 64bit.dll nicht mit kopiert hat, und da ich kein 64bit System habe, komme ich da nicht dran )-:

    Hm. Ich sitze gerade an nem anderen PC, mein 2. PC hat auch 64 bit. Wenn ich gleich wieder zuhause an dem PC bin kann ich den Ordner mal uppen wenn DJ Re-Dark das bis dann noch nicht gemacht hat.