Home > Software engineering >  Ip address with a computer encryption software
Ip address with a computer encryption software

Time:10-19

I made up a technical software using the login password encryption, recently had a son in taobao sell my software, now I want to power on behalf of a county or a city brain lP address encryption software, I can make sure my software can only do so using an area, the above is my idea is feasible, please comment, best to provide the original code, thank you,

CodePudding user response:

Do you want to use the user's IP to encrypt your software?
But how do you know where your users come from?

CodePudding user response:

That's easy, I can ask him when he buy my software there, or by his cell phone number to the lP section of code he region,

CodePudding user response:

This is not very reliable,
You need that is connected to the Internet to use the software?

Another problem is that your software is running, the "native IP" how to pick it up?
Now of broadband users, basic it is "false IP",

CodePudding user response:

Access to hard drive id, you know,,

 Private Const MAX_IDE_DRIVES As Long=4 
Private Const IDENTIFY_BUFFER_SIZE As Long=512
Private Const DFP_SEND_DRIVE_COMMAND As Long=& amp; H7C084
Private Const DFP_RECEIVE_DRIVE_DATA As Long=& amp; H7C088
Private Type GETVERSIONOUTPARAMS
BVersion As Byte 'Binary driver version.
BRevision As Byte 'Binary driver revision.
BReserved As Byte 'Not 2.
BIDEDeviceMap As Byte 'Bit map of IDE devices.
FCapabilities As Long 'Bit mask of driver "capabilities.
DwReserved (3) As Long 'For future use.
End Type
Private Type IDEREGS
BFeaturesReg As Byte 'informs the for specifying SMART "commands".
BSectorCountReg As Byte 'IDE sector count register
BSectorNumberReg As Byte 'IDE sector number register
BCylLowReg As Byte 'IDE low order cylinder value
BCylHighReg As Byte 'IDE high order cylinder value
BDriveHeadReg As Byte 'IDE drive/head register
BCommandReg As Byte 'Actual IDE command.
End Type
Private Type SENDCMDINPARAMS
CBufferSize As Long 'Buffer size in bytes
IrDriveRegs As IDEREGS 'Structure with drive the register values.
BDriveNumber As Byte 'Physical drive number to send
BReserved (2) the As Byte 'Reserved for future expansion.
DwReserved (3) As Long 'For future use.
BBuffer (0) As Byte 'Input buffer.
End Type
Private Const IDE_ATAPI_ID As Long=& amp; HA1 'Returns ID sector for ATAPI.
Private Const IDE_ID_FUNCTION As Long=& amp; HEC 'Returns ID sector for ATA.
Private Const IDE_EXECUTE_SMART_FUNCTION As Long=& amp; HB0 'Performs SMART CMD.
Private Type DRIVERSTATUS
BReserved (1) the As Byte 'Reserved for future expansion.
DwReserved (1) As Long 'Reserved for future expansion.
End Type
Private Type SENDCMDOUTPARAMS
CBufferSize As Long 'Size of bBuffer in bytes
DrvStatus As DRIVERSTATUS 'Driver status structure.
BBuffer (0) As Byte 'Buffer of arbitrary length in which to store the data read from the' drive.
End Type

Private Type ATTRTHRESHOLD
BAttrID As Byte 'Identifies which attribute
BWarrantyThreshold As Byte 'Triggering value
BReserved (9) As Byte '...
End Type
Private Type IDSECTOR
WGenConfig As Integer
WNumCyls As Integer
WReserved As Integer
WNumHeads As Integer
WBytesPerTrack As Integer
WBytesPerSector As Integer
WSectorsPerTrack As Integer
WVendorUnique (2) As an Integer
SSerialNumber (19) As Byte
WBufferType As Integer
SFirmwareRev (7) As Byte
SModelNumber (39) As Byte
End Type
Private Const VER_PLATFORM_WIN32s As Long=0
Private Const VER_PLATFORM_WIN32_WINDOWS As Long=1
Private Const VER_PLATFORM_WIN32_NT As Long=2
Private Type OSVERSIONINFO
DwOSVersionInfoSize As Long
DwMajorVersion As Long
DwMinorVersion As Long
DwBuildNumber As Long
DwPlatformId As Long
SzCSDVersion As String * 128 'Maintenance String for PSS usage
End Type
Private Declare Function GetVersionEx Lib "KERNEL32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
Private Const GENERIC_READ As Long=& amp; H80000000
Private Const GENERIC_WRITE As Long=& amp; H40000000
Private Const OPEN_EXISTING As Long=3
nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull
  • Related