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ú

Mensajes - patilanz

#171
Hola necesito ayuda con las selecciones del os usuario y su edición para agregar texto o elementos html. Con la librería randy https://code.google.com/p/rangy/wiki/RangySelection#Introduction se puede hacer y es compatible con todos los navegador pero yo quiero saber como funciona y todas las funciones de los distintos navegadores.
Ejemplo de randy; http://rangy.googlecode.com/svn/trunk/demos/core.html


He buscado pero es un lió y un poco desactualizado. Alguien me recomienda un tuto ?

Un saludo
#172
Foro Libre / Re: Mi problema con las Matemáticas
23 Febrero 2015, 20:58 PM
Con los juegos creo que te desconcertas mas porque te enganchan y luego en vez de pensar en el estudio piensas en los juegos. A mi me pasa lo mismo pero también al crear programas, no dejo de pensar como lo hare luego y que puedo añadir.
#173
Foro Libre / Re: Mi problema con las Matemáticas
23 Febrero 2015, 18:14 PM
Cita de: Gus Garsaky en 23 Febrero 2015, 17:50 PM
¿Te pasa solo con las matemáticas?. Si te pasa en otras cosas también podría tratarse de un problema de falta de concentración que lo puedes solucionar con la ayuda de un psicólogo.


A mi me resultan fáciles las matemáticas y la física y me gusta pero no me concentro nunca. No creo que sea problema tan grave para un psicólogo, que otras formas hay para aprender a concentrarte a parte de algunas como: "mantén la habitación ordenada" o "procura estoy con buena luz"  :-X

Algún método interesante para concentración ?

Saludos
#174
Programación C/C++ / Re: Texto a binario
21 Febrero 2015, 22:40 PM
Cita de: sabeeee en 21 Febrero 2015, 22:00 PM
quiero probar porque encontré algo que le puede servir a la humanidad (?)

Que has encontrado ;D
#175
A mi con sizeof(*T) me devolvía el size correcto. Si agregaba elementos para llegar a mas de 200 bytes sin usar remove_pointer se conseguía. Aunque no lo probé con referencias, ahora lo miro.

Si se usa una arquitectura de 64 bits si uso 24 bits si el compilador lo decide se perderían 40 o en los 64 funciona de otra forma ?

Lo demás me quedo claro gracias.
#176
Hola perdón por contestar tan tarde pero de repente se me ocurrió crear otros programas y se me olvido que había preguntado :-X

A partir del link de engel lex hice esto:

Código (cpp) [Seleccionar]

WSADATA wsadata;
WSAStartup(MAKEWORD(2, 2), &wsadata);
char name[255];
if (!gethostname(name, 255)){
cout << "Host name -> " << name;
hostent *host;
host = (hostent*)gethostbyname(name);
cout << inet_ntoa(*(in_addr*)host->h_addr_list[0]);
}
else{
cout << "gethostname error!";
}

Me imprime la ip de la red ethernet de vmware ;D
Bueno justo aquí estaba el problema.

Lo de RAT hice algo por el estilo no se si se podría llamar RAT pero funcionaba con conexión a un hosting gratuito que me registre con tor y siempre entraba con tor para que no registren la ip y desde allí el programa comprobaba un archivo php que le imprimía instrucciones encriptadas pero usando HTTP. Bueno lo malo fue que me lo detecto el antivirus :) aunque esto cambiara :silbar:

Pero lo que intentaba hacer no es RAT xD

El problema es que no se cual se la interfaz correcta con la que se conecta a internet y no por ejemplo la de hamache o vmware.
Tiene que haber alguna manera. A mi lo que se me ocurrió es hacer una petición a una pagina que te la diga pero no me parece practico.


Saludos
#177
Era justo lo que quería. A partir de tu función hice esto:

Código (cpp) [Seleccionar]

#include <iostream>
#include <type_traits>

using namespace std;

class test{
public:
__int8 t8;
__int16 t16;
//__int16 t216;
//char hola[200];
//int a;
};

template <typename T>
typename enable_if<::is_pointer<T>::value, void>::type printBytes(T p){
char * ptr = (char*)(p);

//size2 y size son iguales
size_t size2 = sizeof(*p);
size_t size = sizeof(remove_pointer<T>::type);

while (size-- > 0){
__int8 mask = 1;
do{
cout << (*ptr & mask? '1' : '0');
} while (mask <<= 1);
cout << ' ';
ptr++;
}
}

template <typename T>
typename enable_if<::is_pointer<T>::value, void>::type printBytesReverse(T p){
char * ptr = (char*)p;
size_t size = sizeof(*p);
while (size-- > 0){
int mask = 0x80; // 0b100000000 -> 128
do{
cout << ((*ptr) & mask ? '1' : '0');
} while ((mask >>= 1) != 0);
cout << ' ';
*ptr++;
}
}

unsigned invert(unsigned byte){ //Funcion aparte para invertir bytes
unsigned newByte = 0;
int mask = 1;
int mask2 = 0x80;
do{
if (byte & mask)
newByte |= mask2;
mask2 >>= 1;
} while (mask <<= 1);
return newByte;
}


int main(){
test t;
t.t8 = -1;
int number = 200000;
printBytes<int *>(&number);
cout << endl;
printBytesReverse<int*>(&number);
getchar();
return 0;
}


Porque utilizas reinterpret_cast y remove pointer ? Funciona igual con una conversión normal.
Al imprimir los bits con la función printBytes para la variable "t" me imprimie esto: 00000010 10110000 11000000 00000000
1 byte = __int8 t8
3 y 4 bytes = __int16 t16

Que pasa con el byte 2 ?? Lo tiene cada clase que creo pero no se que contiene.

Si la clase tiene algún puntero que apunta a un array creado con new al imprimir no se mostrara, cierto ? Solo aparecerá la dirección de memoria

Gracias
#178
Cita de: Eleкtro en 18 Febrero 2015, 16:31 PM
Los tutoriales sobre estas temáticas no abundan demasiado, aunque haberlos los hay ...pero no se en que lenguaje lo buscas, si te sirve conozco un código fuente de un Bot para Diablo III en C#, el cual se basa en leer offsets, de ahí puedes aprender muchísimo.

Saludos

Prefiero c/c++ aunque el lenguaje no me importa mucho, lo importante es la idea. Me puedes pasar el código del bot ?
#179
Programación C/C++ / Imprimir bits de un objeto
18 Febrero 2015, 23:44 PM
Hola quiero crear una función que recibe un void * y un size en bytes para imprimir desde esta posición los bits. Algo parecido a esto pero con cualquier objeto


void printBitsNumber(unsigned value){
const int movement = 8 * sizeof(value) - 1;
const unsigned mask = 1 << movement;

for (int i = 0; i < movement; i++){
cout << (value & mask ? '1' : '0');
value <<= 1;
if ((i + 1) % 8 == 0)
cout << ' ';
}
}

15 = 00000000 00000000 00000000 0000111

Lo estoy intentando pero no me sale, alguna pista?

Saludos
#180
Muy buena respuesta Eleкtro  :D
Me has intrigado y he empezado a leer todavía mas sobre ingeneria inversa pero sabes de algún buen tuto sobre los offset ?

Saludos