Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - llamamecomoquieras

#1
PHP / Commit "seguro" en MySQL
28 Enero 2009, 01:16 AM
Holita comunidad.

Tengo un problema con un editado de un valor en una base de datos cutre. La cuestion es la siguiente:

Se ejecuta un script en PHP el cual recibe un parámetro, el cual es, por ejemplo, un nombre de usuario, y se hace servir para saber cuantos puntos tiene. Una vez sabemos cuantos puntos tiene, le añadimos unos cuantos mas, y con un UPDATE dejamos patente a la DB que hemos querido cambiarlo. Para asegurarse, vuelve a leer los puntos para ver si realmente se ha efectuado el cambio.
Total, que en todos los casos se confirma la edición de ese valor, pero en algunos, ya dentro del juego, suele pasar que los cambios no se han efectuado.

Ya pensando a lo bruto con SQL he pensado si habría alguna manera de machacar bien el dato con un buen commit, vaya a ser que el juego en sí lo esté usando a la vez. Algun mutex u otra historia con transacciones?

Un saludo, y gracias por adelantado, como siempre :)
#2
PHP / Problema con PHP y javascript
30 Diciembre 2008, 13:43 PM
Hola de nuevo gente.

Tengo una pagina web en la que se actualiza un valor en una bd. Bien, antes de ello, se ejecuta un codigo en JS que decide si redirigir o no a otra pagina. Vamos, la estructura sería:

JS: Decido si redireccionar o no.
PHP: Actualizo un valor en la bd.

Pues bien, el problema que tengo es que aunque redireccione, sigue actualizando el valor de la bd. Me gustaria saber si hay alguna forma de evitar esto, de que si se redirige, la parte de PHP no se ejecute.

Gracias y que vayan bien las fiestas ;)
#3
Buenas,

Me estoy haciendo un programa que, entre otras cosas, ejecuta otra aplicación en concreto. Me gustaria crear una especie de "dependencia", de forma que si se cerrase mi programa (de cualquier manera, ctrl+alt+sup, etc.), automaticamente los hijos desaparecieran con él. Tenia pensado matarlos al llamarse form_unload, pero si me matan el proceso, esta subrutina no se ejecutaria. Tal vez con memoria compartida, mutex.. o lo que sea, se podria hacer de forma mas segura.

En fin, alguna idea pululando por vuestras mentes?

Saludos!
#4
Hola de nuevo.

Estoy liado con un programita en VB, y me gustaria saber como cambiar el aspecto de la barra superior, donde aparecen el caption del formulario, el boton de minimizar, y esas cosas, para darle un aspecto personalizado, tanto a la barra en sí como a los botones.

Otra duda que tengo es la siguiente. Mi programa abre otro, pero solo permite un maximo de 2 abiertos en el mismo momento. Me gustaria saber como controlar si siguen en ejecucion o no, y como hacerles un buen kill si me cierran mi programa, ya sea de forma normal o con algun otro mataprocesos.

Un saludo, y gracias de antemano.
#5
Ingeniería Inversa / Añadir DLL a DLL
25 Noviembre 2008, 12:44 PM
Hola de nuevo.

Bien, tengo una libreria a la que quiero agregarle una DLL. Buscando sobre el tema, he visto que lo que hay que hacer es añadir esa dll en una lista llamada IAT (tabla con lo que hay que importar), y que una herramienta para hacerlo, es LordPE. Pes bien, aqui es donde estoy estancado, ya que he estado trasteando con él, encontrando esa IAT y probando a editarla.
Todo parece correcto, pero cuando me dirijo al PE Explorer y doy en "Import Viewer", no me aparece esa nueva entrada.

Espero que me haya explicado bien y podais ayudarme.

Un saludo y gracias por adelantado ;)
#6
En fin.. la intencion es de machacar 3 bytes de la memoria de un programa. Todo bien, pero el tercer byte no coje el valor deseado, 0x83.
Os pego lo más relevante:

Private Declare Function WriteString Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, ByVal lpNumberOfBytesWritten As Long) As Long

Dim cambio3 As String
cambio3 = Chr(131)
...
e = WriteString(pHandle, 4837217, StrPtr(cambio3), 1, 0&)


Mirando ese byte desde otro programa, veo que su valor es 0x92 en vez de 0x83. En cambio, con los 2 bytes anteriores todo va perfecto.

Espero que puedan ayudarme.

Un saludo ;)