Jump to content

Será possível obter os números que um programa exibe?


Leudassdf

Recommended Posts

Boas pessoal,

Gostaria de saber se sera possível obter os numero que um determinado programa exibe. O objectivo e fazer um estudo sobre os números aleatórios e para isso achei que seria um bom exemplo usar os números gerados num casino online. mas o meu objectivo e criar um programa que descubra qual o numero que saiu a cada vez que a roleta roda. Sera isto possível?

E que eu preciso de guardar esses valores numa base de dados para depois poder fazer os cálculos estatísticos...

Obrigada...

Link to comment
Share on other sites

Então mas pera ai explica lá isso melhor .. Queres ler os números gerados num casino online ... pergunta o casino tem um programa ou é lido atráves de um webbrowser ? se for de um programa mete-se para ele tirar uma foto ao ecran e guardar numa pasta caso contrario usas o método regex e metes q sempre q houver um valor novo ele guarde dentro de um txt

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Link to comment
Share on other sites

porque é que isso cheira a filmes de Las Vegas ?!?!

LOL .....Laughing out lound XD

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Link to comment
Share on other sites

Então mas pera ai explica lá isso melhor .. Queres ler os números gerados num casino online ... pergunta o casino tem um programa ou é lido atráves de um webbrowser ? se for de um programa mete-se para ele tirar uma foto ao ecran e guardar numa pasta caso contrario usas o método regex e metes q sempre q houver um valor novo ele guarde dentro de um txt

Então mas pera ai explica lá isso melhor .. Queres ler os números gerados num casino online ... pergunta o casino tem um programa ou é lido atráves de um webbrowser ? se for de um programa mete-se para ele tirar uma foto ao ecran e guardar numa pasta caso contrario usas o método regex e metes q sempre q houver um valor novo ele guarde dentro de um txt

Boas lukas...

E um programa. Tiro a foto ao ecra e guardo numa pasta? penso que nao resolverá. a minha ideia e copiar apenas a parte da tabela onde se encontram os numeros(mas apenas o 1 elemento ou seja o ultimo valor saido. Depois penso que terei de fazer uma comparaçao de fotografias. A comparaçao e facil. mas como e que eu posso saber a localizaçao dessa tabela e o tamanho dela?

Bem eu pensei em criar um form redimensionavel de forma a que seja possivel colocar o form na localizaçalo da tabela e com o tamanho da tabela. mas depois como e que eu faço um printscreen se e que se pode chamar assim mas apenas ao aquilo que estiver por trás do form?

Cumprimentos

porque é que isso cheira a filmes de Las Vegas ?!?!

Cheira? se conheceres alguns que ensinem como fazer podes dizer.

XD

Cumprimentos

Link to comment
Share on other sites

Bem se queres de uma tabela eu aconcelhava-te a usar um método usando Regex... regex permite retirares desse mesmo site sempre o ultimo valor ... procura no forum o que é que encontras sem falha 😉

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Link to comment
Share on other sites

Muitos geradores de numeros aleatorios repetem os mesmos numeros ciclicamente (os ciclos e que costumam ser enormes).

Se souberes muito acerca do gerador, com "algumas centenas" de valores consegues determinar em que parte do ciclo o gerador esta e assim 'adivinhar' os numeros seguintes (e anteriores).

No caso do casino online, tens o problema agravado porque os numeros gerados nao sao exclusivamente para ti. Entre dois numeros que te sao entregues, o gerador pode ter gerado outros para outros jogadores. A quantidade desses outros e variavel, o que, efectivamente te impede de adivinhar o seguinte.

Alem disso, o casino nao iria usar um gerador fraquito.

De certeza que ele usa um gerador com propriedades criptograficas.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

No caso do casino online, tens o problema agravado porque os numeros gerados nao sao exclusivamente para ti. Entre dois numeros que te sao entregues, o gerador pode ter gerado outros para outros jogadores. A quantidade desses outros e variavel, o que, efectivamente te impede de adivinhar o seguinte.

Alem disso, o casino nao iria usar um gerador fraquito.

De certeza que ele usa um gerador com propriedades criptograficas.

Penso que estão a interpretar mal o que o Leudassf quer. Ele não pretende "enganar o casino" ou "adivinhar o próximo número". Parece-me que apenas quer estudar os números aleatórios que são gerados, por exemplo, numa roleta do casino virtual.

Leudassf, nesse programa de que falas o resultado aparece sempre na mesma zona do ecrã? Se sim, vê isto para sacar a imagem. Para identificar os números também existem bibliotecas de OCR(Optical Character Recognition) ou então podes fazer tu mesmo calculando a correlação entre imagens padrão com os dígitos que o casino apresenta e as imagens que obténs.

Não respondo a dúvidas por mensagem.

Link to comment
Share on other sites

Penso que estão a interpretar mal o que o Leudassf quer. Ele não pretende "enganar o casino" ou "adivinhar o próximo número". Parece-me que apenas quer estudar os números aleatórios que são gerados, por exemplo, numa roleta do casino virtual.

Leudassf, nesse programa de que falas o resultado aparece sempre na mesma zona do ecrã? Se sim, vê isto para sacar a imagem. Para identificar os números também existem bibliotecas de OCR(Optical Character Recognition) ou então podes fazer tu mesmo calculando a correlação entre imagens padrão com os dígitos que o casino apresenta e as imagens que obténs.

Isso chega .... caso tenhas alguma duvida de como fazer comunica ao pessoal que ajudamos-te

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Link to comment
Share on other sites

Penso que estão a interpretar mal o que o Leudassf quer. Ele não pretende "enganar o casino" ou "adivinhar o próximo número". Parece-me que apenas quer estudar os números aleatórios que são gerados, por exemplo, numa roleta do casino virtual.

Leudassf, nesse programa de que falas o resultado aparece sempre na mesma zona do ecrã? Se sim, vê isto para sacar a imagem. Para identificar os números também existem bibliotecas de OCR(Optical Character Recognition) ou então podes fazer tu mesmo calculando a correlação entre imagens padrão com os dígitos que o casino apresenta e as imagens que obténs.

Boas Pedro

Realmente o que eu quero e apenas saber quais foram os numeros gerados.

aparecem na mesma zona sim senhor.😄 . A minha ideia era criar um rectanguloro com outtro form ou assim e capturar a imagem(screenshot) desse rectangulo. Mas era apenas dessa parte do ecra. nao e o printscreen ao ecra inteiro.

Eu tenho estado a tentar como e que o ocr funciona mas ate agora nao consegui perceber. principalmente em vb nao existe muita coisa. Se alguem souber como se faz puder ajuda agradeço.

Falas-te tambem em correlação entre imagens padrão, como funciona?

Cumprimentos

Link to comment
Share on other sites

Demorei menos de 5 minutos a procurar algo fixe pra isso

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		If Not SaveScreen(Application.StartupPath & "\scrlucas.png") Then
			MessageBox.Show("Não deu ... Alguma coisa está errada")
		End If
	End Sub
	Public Function SaveScreen(ByVal theFile As String) As Boolean
		Try
			SendKeys.Send("%{PRTSC}")		  '<alt + printscreen>
			Application.DoEvents()
			Dim data As IDataObject = Clipboard.GetDataObject()

			If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then
				Dim bmp As Bitmap = CType(data.GetData(GetType(System.Drawing.Bitmap)), Bitmap)
				bmp.Save(theFile, Imaging.ImageFormat.Png)
			End If
			Clipboard.SetDataObject(0)	  'liberta memoria tirando a imagem da ram
			Return True
		Catch ex As Exception
			Return False
		End Try
	End Function

Espero ter ajudado .... 100% framework

Ps: Foi me reportado que alguns users do Windows 7 não estavam a conseguir tirar print ... eis outro método muito menos noob por assim dizer e com o código mais limpo feito totalmente por mim.

Para tirar Print:

Imports System.IO
Public Class Form1

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
	Dim Img As New Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height)
	Dim l As Graphics = Graphics.FromImage(Img)
	l.CopyFromScreen(0, 0, 0, 0, Img.Size)
	l.Dispose()
	Img.Save(My.Computer.FileSystem.SpecialDirectories.Desktop & "\lucas.jpg", Imaging.ImageFormat.JPG)



End Sub
End Class

Ps:(Pela terceira vez a alterar este comentário ) Se quiseres deixar tudo perfeito podes por exemplo fazer um timer de por exemplo de 2 a 2 minutos ver se saiu um novo numero comparando os prints .... Isto é ver se ouve alteração nos bits da imagem....

if img1 <> img2 then

fazes o procedimento em cima

salva

end if

pronto 😉

Edited by Lukas S.

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Link to comment
Share on other sites

Demorei menos de 5 minutos a procurar algo fixe pra isso

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		If Not SaveScreen(Application.StartupPath & "\scrlucas.png") Then
			MessageBox.Show("Não deu ... Alguma coisa está errada")
		End If
	End Sub
	Public Function SaveScreen(ByVal theFile As String) As Boolean
		Try
			SendKeys.Send("%{PRTSC}")		  '<alt + printscreen>
			Application.DoEvents()
			Dim data As IDataObject = Clipboard.GetDataObject()

			If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then
				Dim bmp As Bitmap = CType(data.GetData(GetType(System.Drawing.Bitmap)), Bitmap)
				bmp.Save(theFile, Imaging.ImageFormat.Png)
			End If
			Clipboard.SetDataObject(0)	  'liberta memoria tirando a imagem da ram
			Return True
		Catch ex As Exception
			Return False
		End Try
	End Function

Espero ter ajudado .... 100% framework

Ps: Foi me reportado que alguns users do Windows 7 não estavam a conseguir tirar print ... eis outro método muito menos noob por assim dizer e com o código mais limpo feito totalmente por mim.

Para tirar Print:

Imports System.IO
Public Class Form1

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
	Dim Img As New Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height)
	Dim l As Graphics = Graphics.FromImage(Img)
	l.CopyFromScreen(0, 0, 0, 0, Img.Size)
	l.Dispose()
	Img.Save(My.Computer.FileSystem.SpecialDirectories.Desktop & "\lucas.jpg", Imaging.ImageFormat.JPG)



End Sub
End Class

Ps:(Pela terceira vez a alterar este comentário ) Se quiseres deixar tudo perfeito podes por exemplo fazer um timer de por exemplo de 2 a 2 minutos ver se saiu um novo numero comparando os prints .... Isto é ver se ouve alteração nos bits da imagem....

if img1 <> img2 then

fazes o procedimento em cima

salva

end if

pronto 😉

Obrigada novamente lukas.

O problema dos prints e que se eu alterar a localizaçao a coisa ja nao vai funcionar.

Ja em relaçao ao ocr referido anteriormente nao funciona pois os numeros sao demasiado pequenos e o reconhecimento nao transmite o numero que realmente e. Mas o processo esta a andar. Agradeço a ajuda de todos

Muito Obrigada

Cumprimentos

Link to comment
Share on other sites

Obrigada novamente lukas.

O problema dos prints e que se eu alterar a localizaçao a coisa ja nao vai funcionar.

Ja em relaçao ao ocr referido anteriormente nao funciona pois os numeros sao demasiado pequenos e o reconhecimento nao transmite o numero que realmente e. Mas o processo esta a andar. Agradeço a ajuda de todos

Muito Obrigada

Cumprimentos

pá não podes pedir milagres xD ... para saberes a localização podias (não sei se funcionaria nunca exprimentei) colocar num timer isto :

Dim Img As New Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height)

tipo o que ele faz é guardar na variável mais nada ... penso que assim a localização já não daria problema

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.