Ir para o conteúdo
Tharis

Addresses da Memória

Mensagens Recomendadas

Tharis    3
Tharis

Tenho uma lista de addresses da memória e gostaria de saber se estas conversões tão certas ou como posso convertê-las de modo a que as possa usar em Python.

00B08A6A

0CD22244

Por exemplo. Alguém me explica como converto isto pa usar em Python? Sei que se pode usar em VB assim como está com uma função CallWriteaLong ou coisa assim

Cumps

Tharis

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Usar endereços! Não estou a ver. Os endereços deixam de ser validos quando o programa acaba e como tal não vale a pena guarda-los.

Não me parece que seja isso que ele quer fazer. Imagina o programa X e Y. O programa X usa os endereços de 0x10 até 0xf0, e ele quer que o programa Y vá ler um dos endereços do programa X...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
shumy    17
shumy

Percebo pouco de Python mas os processos correm todos em endereços de memoria virtual, logo deverá ser necessário alguma forma de partilha de memoria entre processos.

Python tem pipes como C?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tharis    3
Tharis

So much l33t stuff, mas nada que me ajude. O que eu quero é o que o tirácio disse:

Não me parece que seja isso que ele quer fazer. Imagina o programa X e Y. O programa X usa os endereços de 0x10 até 0xf0, e ele quer que o programa Y vá ler um dos endereços do programa X...

Agora como converto de 00BUBUBU para 0xblahblah

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
MX+    0
MX+

Isso não é possível com linguagens de alto nível. Com assembly consegues, mas de qualquer forma nos dias que correm não vais lá por aí.

Se queres partilhar memória/dados/tabelas etc, crias um pipe, socket, etc. Não encontro nenhuma situação nos dias que correm em que seja possível usar endereços de memória. Até porque um programa não consegue escolher onde a sua memória é alocada.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tharis    3
Tharis

Vi programas feitos em VB a usar a tal função que se tinha de pôr qual o nome do programa e o endereço, igual ao que está lá em cima.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tharis    3
Tharis

Como eu disse, isso deve ser memória partilhada.

Uma pesquisa rápida no google para python o primeiro link deu isto. Vê se é isso que queres.

Sinceramente, fiquei um pouco à nora com o que lá está. É que nem comments tem a explicar... :\

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Betovsky    2
Betovsky

É assim, isso foi a primeira coisa que surgiu no Google sobre partilha de memória em Python.

Basicamente isso são 2 programas em Python. 1 para criar memória partilhada e outro para aceder à memoria partilhada.

Para leres mais sobre memória partilhada podes começar pela wikipedia. Mas isso é só do ponto de vista teórico. Como disse antes, vais ao google e procura por casos em Python, mas não deve haver muitos. Memória partilhada é algo que não é muito usado no dia a dia.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
MX+    0
MX+

Para leres mais sobre memória partilhada podes começar pela wikipedia. Mas isso é só do ponto de vista teórico. Como disse antes, vais ao google e procura por casos em Python, mas não deve haver muitos. Memória partilhada é algo que não é muito usado no dia a dia.

Memória partilhada é extremamente usado nos dias que correm.. mas não acedida explicatamente. Volto a repetir: pipes, sockets, é por aí que tens de te orientar.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sir Pereira    3
Sir Pereira

So much l33t stuff, mas nada que me ajude. O que eu quero é o que o tirácio disse:

Agora como converto de 00BUBUBU para 0xblahblah

Pelo que eu percebi que queres, eu que já programei edições de memória em jogos, penso que te estejas a referir à diferente formatação que os endereços se encontram.

Por exemplo já vi endereços assim: 00B288D0 (em VB.Net) e endereços assim: 0xB288D0 (em C++).

Era a isso que te referias?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tharis    3
Tharis

0xB288D0 = 0x00B288D0, a diferença do vb.net e o c++ é mesmo o uso do 0x para indicar um número hexadecimal.

Foi o que percebi numa recente pesquisa...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sir Pereira    3
Sir Pereira

0xB288D0 = 0x00B288D0, a diferença do vb.net e o c++ é mesmo o uso do 0x para indicar um número hexadecimal.

apesar de no c++ não ser obrigatório o uso dos 00 depois do 0x, podendo ficar algo como 0xB288D0 em vez de 0x00B288D0, mas funcionam os dois.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

apesar de no c++ não ser obrigatório o uso dos 00 depois do 0x, podendo ficar algo como 0xB288D0 em vez de 0x00B288D0, mas funcionam os dois.

Porque achas que eu disse que era =? Duh. :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade