#15533 desde python jamás lo hice, pero que problema tienes?
https://msdn.microsoft.com/es-es/library/windows/desktop/ms680553(v=vs.85).aspx
La definición es esta:
BOOL WINAPI ReadProcessMemory(
_In_ HANDLE hProcess,
_In_ LPCVOID lpBaseAddress,
_Out_ LPVOID lpBuffer,
_In_ SIZE_T nSize,
_Out_ SIZE_T *lpNumberOfBytesRead
);
básicamente, atributo por atributo:
hProcess: el handler del proceso. Lo consigues previo "OpenProcess"
lpBaseAddress: desde donde empiezas a leer. Memoria absoluta
lpBuffer: donde escribirá la respuesta. Para generalizar, pasale un puntero a un array de bytes
nSize: cuan' mucho leerá.
lpNumberOfBytesRead: aquí escribirá la respuesta del número de bytes que ha leido. Esto digamos que es más opcional
Si te vienes al lado oscuro de golang sería algo así
var (
kernel32 = syscall.MustLoadDLL("kernel32.dll")
procReadProcessMemory = kernel32.MustFindProc("ReadProcessMemory")
)
func readMemory(hProcess uintptr, lpBaseAddress, nSize uintptr) []byte {
var data []byte = make([]byte, nSize)
var length uint32
procReadProcessMemory.Call(hProcess, lpBaseAddress,
uintptr(unsafe.Pointer(&data[0])),
nSize, uintptr(unsafe.Pointer(&length))) // read 2 bytes
return data
}
#15541 Estoy siguiendo este ejemplo: https://stackoverflow.com/questions/1794579/how-can-i-read-the-memory-of-another-process-in-python-in-windows
Y me peta en la línea: buffer = c_char_p("The data goes here")
#15544 prueba con algo parecido a esto
buffer_size = 1000
buffer = ctypes.create_string_buffer(buffer_size)
y si te va, mirate https://docs.python.org/3/library/ctypes.html#ctypes.create_string_buffer
#15545 Ahora sí, gracias!
El ejemplo que estaba siguiendo en stackoverflow estaba mal ¿? Ahora a ver como parseo esta mierda.
#15546 desconozco como se hace en python, quizás usando la función create_unicode_buffer() ?
https://docs.python.org/3/library/ctypes.html#ctypes.create_unicode_buffer
de todos modos, busca forma de leerlo con un array de bytes puro, y será mejor para jugar con ello
edit: quizás con
bytearray([])
? lo desconozco, no soy amigo de python
Tengo en juego las notas de dos compañeros de clase. Me ha tocado hacer un trabajo grupal y estoy tirando del carro yo sólo prácticamente. El trabajo lo he hecho sólo, y como me asignaron líder tengo en mis manos los porcentajes y puedo hacerles suspender el trabajo. Que haríais? Les daríais el porcentaje mínimo para que no suspendan o les haríais suspender por tener 0 implicación?
Después de acabar el trabajo creo que no voy a volver a tocar JS en mi puta vida, cómo puede dar tanto asco?
#15548 La verdad, para mí depende de varios factores. ¿No han hecho nada porque no les ha salido de los cojones o por otros motivos de importancia? Para mí no es lo mismo no hacer nada por jugar al CSGO que por estudiar un examen importante que yo no tenga por ejemplo.
#15536 Ese punto en concreto simplemente pq me parece más caótico y creo que eso no cumple la encapsulación, sin embargo supongo que así será más flexible y se usará en algún caso que ahora mismo no imagino. De todas formas no quería ser tan literal, simplemente ese punto en concreto no me gusta pero tampoco quiero hacer un drama xD
#15552 si. Fijo. Después ya sabes, depende del valor que quieras leer, si es float32 / int / o lo que sea tendrás que parsearlo de distinto modo, con el tema de los littleendian / bigendian
edit de nuevo,
ayer estuve jugueteando bastante con el IDA, y conseguí sacar offsets chulos y la SDK casi completa del battalion 1944 ese, jujuju!
#15554 Mucho más sencillo, lo tengo que parsear como bytes, de uno en uno. Es para printar el layout del buscamonas por pantalla.
#15551 Si fuese por jugar y porque no les saliese de los cojones ya habría hablado con la profesora y dicho de hacer una entrega en solitario. Pero no sé, se planteó una idea que ninguno de los dos podían hacerse cargo que, mientras yo me buscaba las habichuelas por internet y usando las mañanas y las noches para picar código, ellos se quedaban estancados e invirtiendo el tiempo mínimo, que en verdad les entiendo, van mal en las asignaturas y me ha tocado cargar con 2 personas que es probable que repitan curso, probablemente para que les ayude a aprobar el trabajo y que no suspendan ya que uno de ellos si suspende este trabajo se va a la mierda xd. Uno de ellos por lo menos estaba más preocupado por las prácticas que por acabar el trabajo.
No sé.
Yo me estoy haciendo mi propio analizador de log files, para tener la info que nos envian con los bugs de manera mas visual, en C#, WPF y SQLite:
#15548 Si te has comido el trabajo tu solo y no han hecho una mierda porque no les ha salido de las narices, yo hablaria con el profesor y le explicaria de antemano que les vas a clavar un 0% para que sepa lo que hay.
Acabo de leer #15556 , vamos que no les ha salido de las pelotas echarle horas y esfuerzo, yo los mandaria a la mierda.
#15559 en realidad algo sí que han hecho, uno me buscó la información necesaria sobre la temática del trabajo, y el otro me está haciendo la maqueta y la plantilla que había que hacer sobre el trabajo ahorrándome la tediosa tarea que se me había olvidado comentarlo, mb (aunque eso lo hubiese hecho yo en 4 horas y no en 2 semanas de trabajo que llevamos), pero no sé si en comparación realmente se merezcan algo de merito;
y además me falta revisar el código que me gustaría después subir el archivo por si alguien le podría echar un vistazo y decirme que cosas cambiaría.
#15560 Porque no sabes lo que estoy ploteando Que en parte ya es eso, no qiero disclose mucha info.
#15562 Sigo pensando que no se entienden una mierda. Trabajo con graficos y lo ultimo que quieres es que sean tan ofuscados como esos xd
#15563 a pero yo tengo zoom!
Basicamente todo lo que esté por encima de la linea amarilla es potencialmente mal, los colores de fondo son el estado del server.
Algunos dias no tienen estado "verde", por lo que pueden ser ignorados. Cuando abres un log file de 6 millones de lineas, algo así no es tan facil de ver rapidamente.
Ademas en algunos de los charts se puede ver como esas lineas de latency pasan de los 20ms a 5s poco a poco. Eso es normalmente un indicador de que el sistema esta sobrecargado: demasiadas transacciones al HD, demasiado consumo de CPU que puede indicar que esta paginando a saco porque se ha quedad sin memoria por memory leaks, o que el Garbage Collector va loco, ... es bastante util.
#15548 Me ha tocado estar en tu situación en varias ocasiones, te cuento lo que yo hago.
1- Si la nota se divide entre todo el grupo, me pongo un 10 y el resto lo divido entre los demás vagos del grupo.
2- Si la nota no se divide, nos pongo a todos un 10, si el profesor pone objeción, bajo la nota del resto.
PD: Siempre y cuando no hayan trabajado, si han trabajado (aun que sea muy poco), voy subiendo sus notas y bajando la mía, etc
PD2: También suelo tener en cuenta la situación personal de cada persona, en plan , tengo compañeros que están hasta los huevos del ciclo, y que solo siguen aquí por que les hace de puente para lo que realmente quieren, esas personas por lo general no pongo menos de un 5, por que se que es una gran putada (aunque esto no justifica que no hagan nada, pero meh)
PD3: Siempre me quejo (y me quejare) a los profesores de este sistema de evaluación, los que tienen que poner la nota son ellos y no nosotros.
Siempre me quejo (y me quejare) a los profesores de este sistema de evaluación, los que tienen que poner la nota son ellos y no nosotros.
Es una putada porque por ejemplo si es alguien con el que te llevas bien ponerle una nota baja pues... te compromete.
Y creo que voy a hacer eso, partiré de un 12,5 que es lo necesario para aprobar, menos = suspenso, e iré subiéndolo en proporción a lo que hallan hecho, y el resto para mi xd.
#15548 Depende, si eres un tirillas reparte la nota, si mides 2 metros suspéndelos y si se quejan le das en todo el cielo de la boca.
#15569 Y si eres un tirillas, extintor a la cabeza y fuera.
Yo lo de hacer grupos con gente random es lo que mas odiaba de las pocas veces que paso en la carrera solo una los compañeros fueron de listos (mas o menos hicieron lo mismo que tus compañeros) y se comieron el suspender.