Que significa este archivo hex?
Publicado: 10 Octubre, 2009 - 18:55 Que significa este archivo hex?
Estimados:
Encontre un ejemplo de C-C++ en google y me llamo la atencion una parte del codigo en hexadecimal.
nt main(int argc, char **argv)
{
Py_Initialize();
PyObject *pyCode, *mainmodule, *maindict;
... cut ...
unsigned char python_code[] = { 0x63,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
0x40,0x00,0x00,0x00,0x73,0x16,0x00,0x00,0x00,0x64,
0x00,0x00,0x6B,0x00,0x00,0x5A,0x00,0x00,0x64,0x01,
0x00,0x84,0x00,0x00,0x5A,0x01,0x00,0x64,0x00,0x00,
0x53,0x28,0x02,0x00,0x00,0x00,0x4E,0x63,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
0x43,0x00,0x00,0x00,0x73,0x23,0x00,0x00,0x00,0x74,
0x00,0x00,0x69,0x01,0x00,0x64,0x01,0x00,0x83,0x01,
0x00,0x01,0x64,0x02,0x00,0x47,0x48,0x74,0x00,0x00,
0x69,0x01,0x00,0x64,0x03,0x00,0x83,0x01,0x00,0x01,
0x64,0x00,0x00,0x53,0x28,0x04,0x00,0x00,0x00,0x4E,
0x69,0x01,0x00,0x00,0x00,0x74,0x07,0x00,0x00,0x00,
0x73,0x75,0x63,0x63,0x65,0x73,0x73,0x69,0x5A,0x00,
0x00,0x00,0x28,0x02,0x00,0x00,0x00,0x74,0x04,0x00,
0x00,0x00,0x74,0x69,0x6D,0x65,0x74,0x05,0x00,0x00,
0x00,0x73,0x6C,0x65,0x65,0x70,0x28,0x00,0x00,0x00,
0x00,0x28,0x00,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
0x00,0x74,0x07,0x00,0x00,0x00,0x74,0x65,0x73,0x74,
0x2E,0x70,0x79,0x74,0x04,0x00,0x00,0x00,0x74,0x65,
0x73,0x74,0x04,0x00,0x00,0x00,0x73,0x06,0x00,0x00,
0x00,0x00,0x01,0x0D,0x01,0x05,0x01,0x28,0x02,0x00,
0x00,0x00,0x52,0x01,0x00,0x00,0x00,0x52,0x04,0x00,
0x00,0x00,0x28,0x02,0x00,0x00,0x00,0x52,0x04,0x00,
0x00,0x00,0x52,0x01,0x00,0x00,0x00,0x28,0x00,0x00,
0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x52,0x03,0x00,
0x00,0x00,0x74,0x01,0x00,0x00,0x00,0x3F,0x02,0x00,
0x00,0x00,0x73,0x02,0x00,0x00,0x00,0x09,0x02 };Pregunta: Que significa este codigo en hexadecimal ?.
Mi teoria podrian ser un archivo.py que se paso a hex, para tener el archivo incrustado en el codigo fuente.
Saludos y muchas gracias.
- Inicie sesión o regístrese para enviar comentarios
- 1159 lecturas


Cuidado... esa cosa tiene varios niveles de escape.
Por ahora lo mejor que conseguí es esto:
c @ s d k Z d Z d S( Nc C s# t i d d GHt i d d S(( R R ( R R ( ( R t ? s ( ( t test.pyt test so
successiZtimet
sleep(
test.pyt
test
Me parece que todo se explica suponiendo que es un pyc.
No... no es un pyc valido...
Tampoco un shelve...
Los pickle no contienen código...
Me rindo.
¡Es un Marshal!
Es python embebido. Puntualmente un objeto que se llama code, tiene esta codumentación:
code(argcount, nlocals, stacksize, flags, codestring, constants, names,
varnames, filename, name, firstlineno, lnotab[, freevars[, cellvars]])
Create a code object. Not for the faint of heart.
Y estos métodos/propiedades:
['__class__', '__cmp__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'co_argcount', 'co_cellvars', 'co_code', 'co_consts', 'co_filename', 'co_firstlineno', 'co_flags', 'co_freevars', 'co_lnotab', 'co_name', 'co_names', 'co_nlocals', 'co_stacksize', 'co_varnames']