PEGAR SEREAL DO PROCESSADOR X VÍRUS
Alterado em 18/01/2024 06:44:30
Pessoal, preciso pegar uma informação única para identificar o usuário,
pensei no número de série do processador.
Minha dúvida é, será que meu sistema pode ser detectado como vírus?
Gostaria de saber se alguém aqui usa essa função e se já aconteceu isso.
Acredito que por se tratar de uma coleta de informação, pode sim ser
interpretada como software malicioso.
pensei no número de série do processador.
Minha dúvida é, será que meu sistema pode ser detectado como vírus?
Gostaria de saber se alguém aqui usa essa função e se já aconteceu isso.
Acredito que por se tratar de uma coleta de informação, pode sim ser
interpretada como software malicioso.
Usuário não adianta o processador porque qualquer usuário pode utilizar uma determinada maquina.
Se você quer dizer cliente, eu utilizo o cnpj ou cpf, se você quer dizer Máquina eu utilizo o nome do host.
Se você quer dizer cliente, eu utilizo o cnpj ou cpf, se você quer dizer Máquina eu utilizo o nome do host.
Sim Nilson, eu quis dizer Máquina.
Segundo o chat Gpt alguns fabricantes não disponibilizam mais o numero do processador, nesse caso isso deixa de ser viavel.
Eu iria de capturar o nome da maquina.
Segue exemplo ChatGpt em vb6, porque eu utilizo isso em vb.net.
Em VB6, você pode usar a função GetHostName da API do Windows para obter o nome do host. Aqui está um exemplo simples:
Private Declare Function GetHostName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Sub Form_Load()
Dim hostName As String
Dim bufferSize As Long
' Determinar o tamanho do buffer necessário para armazenar o nome do host
bufferSize = 255
hostName = String$(bufferSize, 0)
' Chamar a função GetHostName para obter o nome do host
If GetHostName(hostName, bufferSize) Then
' Remover caracteres nulos desnecessários do final da string
hostName = Left$(hostName, InStr(hostName, Chr$(0)) - 1)
' Exibir o nome do host
MsgBox "Nome do Host: " & hostName
Else
MsgBox "Não foi possível obter o nome do host."
End If
End Sub
Este código usa a função GetHostName para obter o nome do host e, em seguida, remove os caracteres nulos extras da string. O nome do host é exibido em uma caixa de mensagem.
Por favor, note que o código acima usa uma função Alias para usar a versão ANSI da função GetComputerName. Se você estiver trabalhando em um ambiente Unicode, você pode preferir usar a versão Unicode GetComputerNameW e ajustar o código conforme necessário.
Eu iria de capturar o nome da maquina.
Segue exemplo ChatGpt em vb6, porque eu utilizo isso em vb.net.
Em VB6, você pode usar a função GetHostName da API do Windows para obter o nome do host. Aqui está um exemplo simples:
Private Declare Function GetHostName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Sub Form_Load()
Dim hostName As String
Dim bufferSize As Long
' Determinar o tamanho do buffer necessário para armazenar o nome do host
bufferSize = 255
hostName = String$(bufferSize, 0)
' Chamar a função GetHostName para obter o nome do host
If GetHostName(hostName, bufferSize) Then
' Remover caracteres nulos desnecessários do final da string
hostName = Left$(hostName, InStr(hostName, Chr$(0)) - 1)
' Exibir o nome do host
MsgBox "Nome do Host: " & hostName
Else
MsgBox "Não foi possível obter o nome do host."
End If
End Sub
Este código usa a função GetHostName para obter o nome do host e, em seguida, remove os caracteres nulos extras da string. O nome do host é exibido em uma caixa de mensagem.
Por favor, note que o código acima usa uma função Alias para usar a versão ANSI da função GetComputerName. Se você estiver trabalhando em um ambiente Unicode, você pode preferir usar a versão Unicode GetComputerNameW e ajustar o código conforme necessário.
Nilson, muito obrigado, vou testar e volto para finalizar o tópico.
Nome da máquina o usuário pode alterar
Um valor fixo e inalterável é o nome da placa mãe... segue código abaixo
Um valor fixo e inalterável é o nome da placa mãe... segue código abaixo
Private Sub Command1_Click()
PegaPlacaMae
End Sub
Sub PegaPlacaMae()
On Error Resume Next
Set dcSet = GetObject("winmgmts:{impersonationLevel=impersonate}"). _
InstancesOf("Win32_BaseBoard")
For Each dc In dcSet
PMAE = dc.Product
MsgBox ">>> " & PMAE
Next
Set dc = Nothing
Set dcSet = Nothing
End Sub
Ah, sobre a questão de vírus, nunca tive problemas... uso este código há + ou - 10 anos, e aqui tem avast, passa normal
Problema de anti virus são os falso positivo... Há muitos anos enviei um e-mail para a AVAST e tiraram meu sistema do falso positivo
Problema de anti virus são os falso positivo... Há muitos anos enviei um e-mail para a AVAST e tiraram meu sistema do falso positivo
Código em VB.net para pegar o número de série do processador. :)
---------------------------------------------------------------------------------
Imports System.Management
Module Module1
Sub Main()
Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_Processor")
For Each share As ManagementObject In searcher.Get()
Console.WriteLine("Número de Série do Processador: " & share("ProcessorId").ToString())
Next
End Sub
End Module
---------------------------------------------------------------------------------
Imports System.Management
Module Module1
Sub Main()
Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_Processor")
For Each share As ManagementObject In searcher.Get()
Console.WriteLine("Número de Série do Processador: " & share("ProcessorId").ToString())
Next
End Sub
End Module
Pegando um gancho, vcs sabem de algum modo de pegar algum serial do servidor via sql server ?, tive um problema, o cliente trocou o hd por ssd, através de clonagem, e só fiquei sabendo depois. Neste caso, conseguem usar uma cópia se quiserem. Eu tenho um serviço online que qdo o cliente loga no sistema, verifica a licença, mas preciso saber se esta sendo logado do servidor que foi instalado. Como vcs tratam isso ?, se tiver como recuperar alguma informação do servidor onde esta o sql server instalado, seria ótimo.
melhor forma de utilizar essa segurança é pela placa de rede, eu uso a anos e nunca tive problema todo meu sistema via api , inclusive a licença que o sistema verifica , utilizo dois bancos de dados uma onde eu coloco as chaves que são liberadas por data e tempo que poderá ser utilizado
Fabricio, mas vc pega mac de todos os micros da rede, ou só do servidor ?, Pode passar como é a rotina que pega esse mac ?
Faça seu login para responder