| |
|
162
|
Programación / Programación C/C++ / Re: Alguien me explicaría que son estos codigos
|
en: 13 Febrero 2017, 21:17 pm
|
string exe = "ELEXE"; HRSRC res=FindResource(NULL,exe.c_str(),RT_RCDATA); if(res==NULL) cout << GetLastError(); cout << "\n"; int size=SizeofResource(NULL,res); if( !size ) cout << 122; // Arbitrario. -> ERROR_INSUFFICIENT_BUFFER cout << "\n"; HGLOBAL hRes=LoadResource(NULL,res);
Llevo casi 6 meses en lenguaje C de forma independiente, ya he visto: pilas,colas listas enlazadas y doblemente enlazadas y aun no se que significan esos códigos. Y si es posible alguien me pasaría una guía que este desde el principio para poder entenderlos. Parece que va más de la mano con programación de windows, Visual C++ https://msdn.microsoft.com/es-es/library/windows/desktop/ms648042(v=vs.85).aspx Sin conocer mucho la libreria, intentare traducir y explicar en lo que puede consistir esos recursos: HRSRC WINAPI FindResource( _In_opt_ HMODULE hModule, _In_ LPCTSTR lpName, _In_ LPCTSTR lpType );
En el que: Parameters
hModule [in, optional] Type: HMODULE A handle to the module whose portable executable file or an accompanying MUI file contains the resource. If this parameter is NULL, the function searches the module used to create the current process.
Maneja el modulo en el que un archivo ejecutable o un archivo MUI contiene el recurso solicitado. Si el parametro es NULL, la función busca un un modulo que es creado al momento de crearse el proceso actual.
lpName [in] Type: LPCTSTR The name of the resource. Alternately, rather than a pointer, this parameter can be MAKEINTRESOURCE(ID), where ID is the integer identifier of the resource. For more information, see the Remarks section below.
Es el nombre del recurso, puede ser un apuntador, o puede ser un ID, en ID es un valor entero para identificar el recurso.
lpType [in] Type: LPCTSTR The resource type. Alternately, rather than a pointer, this parameter can be MAKEINTRESOURCE(ID), where ID is the integer identifier of the given resource type. For standard resource types, see Resource Types. For more information, see the Remarks section below.
Es el tipo del recurso, puede ser un apuntador, o puede ser un ID, en ID es un valor entero para identificar el recurso. Creeria que tienes un pequeño ejemplo, pueden encontrarse más claro, pero en ingles. https://vctipsplusplus.wordpress.com/tag/findresource-call-is-failing-in-dll/http://www.cplusplus.com/forum/general/54255/https://www.codeproject.com/Questions/80910/FindResource-failing-to-return-handlehttp://stackoverflow.com/questions/9646752/findresource-fails-to-find-data-even-though-data-is-in-exehttp://stackoverflow.com/questions/5807554/findresource-failsAhora, dependiendo de lo que necesites, pues tendrás que amoldar el ejemplo, pero bueno, básicamente lo veo de esta manera. 1) Instanciar un Objeto tipo HRSRC (ejm --> res) 2) Asignar ese objeto tipo HRSRC el metodo a ejecutar FindResource 3) FindResource Necesita: Un objeto tipo HMODULE, un ID donde se encuentre un recurso, y el tipo de referencia que tiene ese recurso. 4) SizeofResource y LoadResource son parecidas, necesitan el objeto HRSRC. Se que es algo muy ambiguo, pero realmente se necesitaria estudiar a fondo Visual C++ y el funcionamiento del metodo, estudiando la libreria que lo contiene. Espero que sirva de algo.
|
|
|
|
|
163
|
Comunicaciones / Redes / Re: Abrir puerto en router tp link usando solamente telnet
|
en: 13 Febrero 2017, 14:46 pm
|
Todos esos conceptos son tan complejos, extensos y muy tecnicos que es dificil explicarlos en pocas palabras, sin entrar en polemicas, solo trato de explicar de una forma breve concisa conceptos que puede que entiendas bien, pero si quieres hablar del tema en cosas precisas, claro yo siempre estoy abierto a la charla, sin entrar en insultos como me paso en otro post con un payaso que puede dar ni recibir su pastelaso. Los firmware que mencionas y que "tantos años has estado investigando" usan iptables como NAT para redirigir los puertos. Si entras en la web de gestion en un router con ddwrt y abres un puerto en realidad estas aplicando la misma regla de iptables que aplicarias en la consola del router (accediendo por telnet o ssh). No es mas o menos inseguro por eso, es exactamente lo mismo.
Creo que te confundiste, yo no mencione que iptables sea inseguro, lo que decia es que su uso en terminal es usar otro aplicativo en linux, pero no es parte del firmware embebido por si, sino una extensión, un paquete adicional que se usa especificamente para ese cometido.Pero eso no quiere decir que sea el mejor, de hecho, iptables se ha modificado (en sus inicios era un programa llamado ipchains, muy deficiente respecto al manejo de protocolos, enrutamiento y por ende, apertura de puertos) que no funciona de la manera que se busca inicialmente, no se especifica que X puerto se abre con un simple comando, sino que es necesario especificar primero un parametro que indique al router que funcione de una manera particular para el funcionamiento de comunicación de paquetes de puertos. En otras palabras, debe habilitarse port-forwarding. Luego de eso, debe aplicarsen ciertas reglas especiales, ahora, trabajar un firewall al estilo iptables, tiene su curva de complejidad, cierto?? realmente estoy seguro que cuando se configuran los puertos desde http, no se esta usando iptables por debajo, sino que se llama a otro paquete de software encargado de comunicar las ordenes de las reglas instauradas en el formulario al firmware del router. Existe muchos de estos paquetes que funcionan como firewall, squid, webmin, kmod-ipt, fwbuilder, eso solo por mencionar opciones libres en firewall, no necesariamente aplicadas al router directamente, solo menciono nombres al azar, para que luego no digas que estoy mezclando ni nada de eso, como dije antes, son temas muy extensos. Tanto por telnet, como por ssh como por http o por https estas usando protocolos cifrados o sin cifrar para acceder a la misma configuración del router. Hasta en la wikipedia, mencionan lo horrible que es usar telnet: https://es.wikipedia.org/wiki/TelnetProblemas de seguridad y SSH
Su mayor problema es de seguridad, ya que todos los nombres de usuario y contraseñas necesarias para entrar en las máquinas viajan por la red como texto plano (cadenas de texto sin cifrar). Esto facilita que cualquiera que espíe el tráfico de la red pueda obtener los nombres de usuario y contraseñas, y así acceder él también a todas esas máquinas. Por esta razón dejó de usarse, casi totalmente, hace unos años, cuando apareció y se popularizó el SSH, que puede describirse como una versión cifrada de telnet -actualmente se puede cifrar toda la comunicación del protocolo durante el establecimiento de sesión (RFC correspondiente, en inglés- si cliente y servidor lo permiten, aunque no se tienen ciertas funcionalidad extra disponibles en SSH). No se de donde sacas que telnet usa cifrado, eso no es verdad. Una vez que ya estes dentro del router no importa con que metodo hayas entrado y aplicado la regla del puerto que quieras abrir, dará igual. Ese puerto no será mas seguro o menos por haberlo abiero desde la consola de administración o desde la web. Jooooooooo eso es tan cierto como decir que la tierra es plana o que es el centro del universo, nunca has usado un sniffer o algo asi?? Dejemoslo de ese tamaño. La forma de acceso es la que es poco segura por no ir cifrada pero los puertos no son inseguros po abrirlos de esa manera.
Honestamente, no entendi eso, y parece que es simplemente una contradicción. Desde el cariño: si respondes a este mensaje con más incoherencias simplemente pediré que lo borren y bloqueen el tema.
Si se borra este mensaje en el que no he irrespetado a nadie, me comunicare con los administradores del foro para que te quiten los privilegios de moderador, pues es simplemente un atropello y una muestra de prepotencia que irrespeta la libertad de expresión. Eso es simplemente un abuso de autoridad, cosa común entre los moderadores que se creen dioses. Por ende, no me queda más sino apelar a una autoridad superior. Al menos sigo el mismo protocolo que tu mismo haces, en el que me adviertes de este procedimiento, yo también soy un colaborador del foro, desde hace mucho tiempo, y es la primera vez que me encuentro con este tipo de amenazas, lo cual considero una total falta de respeto.
|
|
|
|
|
164
|
Comunicaciones / Redes / Re: Abrir puerto en router tp link usando solamente telnet
|
en: 13 Febrero 2017, 02:04 am
|
Vaya jaleo que tienes dato000. Desde casi todos los cli de los routers domesticos se pueden abrir los puertos y no hace falta tener instalado un firmware especial. Y si lo tuvieras la complejidad es sililar. En ddwrt tendrias que escribir una linea con el comando para iptables nada sencilla por ejemplo. No hace falta hacer tanto enfasis en la seguridad en este caso. ¿Acaso acceder por http a un router es muchisimo mas seguro que por telnet desde tu propia red?  Ssh sera posible si el router lo tiene habilitado y si lo soporta lo mismo ocurre por https. Si está accediendo a su router desde su red interna con una contraseña por defecto la seguridad es algo bastabte secundario use el protocolo que use. Lo importante es lo incomodo que es hacer nada en la maldita linea de comandos del router  Claro entiendo lo que dices, pero creo que no me entendiste, muestrame como abrir el puerto desde telnet, sin usar port-forwarding y acepto totalmente tu sugerencia. En el que se haga con un comando parametrizado desde terminal. Yo estuve investigando eso por años, y no es posible, probe con varios sistemas en diferentes routers que soportaban firmwares OpenWRT y DDWRT, porque simplemente abrir un puerto desde telnet implica un hueco de seguridad inmenso, en el que el acceso por telnet implica que cualquiera tiene acceso total a un router sin estar debidamente autorizado ni con el rol adecuado para ese tipo de ejecuciones. Es por ello que en la mayoria de routers se aplica el login desde un formulario web (o pues http) y configurar de una manera más comoda, facil y en ultimas mejor y más organizada todas las cuestiones de protocolos de red en el router. Iptables es un firewall, como básicamente es linux, pues su uso y aplicación se resume a instalar una serie de reglas, que para este casi de habilitar puertos, necesita de port-forwarding para que funcione. Hacer enfasis en estos casos de redes puede que no sea para un laboratorio, pero es vital entender de seguridad, porque pues seria una mala praxis no entender de seguridad en la apertura de puertos, seria algo como un completo absurdo ignorar la seria relación de esos temas. Lo importante es lo incomodo que es hacer nada en la maldita linea de comandos del router  Tu lo has dicho amigo, puede que a veces sean una autentica pesadilla, pero bueno 
|
|
|
|
|
165
|
Comunicaciones / Redes / Re: Abrir puerto en router tp link usando solamente telnet
|
en: 10 Febrero 2017, 23:07 pm
|
Hola es posible abrir el puerto de mi router usando solamente telnet los comandos que tengo son los siguientes:  Alguien sabría como? Mi router es un tp-link td-w8951nd. Si la pregunta es demasiado inoportuna para aprender mas sobre telnet tendría que revisar la guia de mi router o como podria buscar mas informacion al respecto. gracias. Eso solo se hace a través de los formularios html que trae el firmare, ya sea el que viene por defecto de TP-LINK o bien con OPEN-WRT o bien con DD-WRT. No pierdas tiempo con telnet, por seguridad usa ssh, y se usa más en configuración de servidores por terminal, no de dispositivos.
|
|
|
|
|
167
|
Foros Generales / Foro Libre / Re: Emule caido ?
|
en: 10 Febrero 2017, 22:30 pm
|
Jojojo, pues igual soy yo que me estoy bajado la de triple XXX toda la saga  No en serio, todo el día que me tiene mosca, solo está el servidor de el TV Undergroun, le das actualizar, se actualiza, pero al poco rato se caen todos los servidores. No se, pero me está descargando la saga de triple XXX a todo trapo con solo un servidor. Yo y mi mula, madre mia cuantos ratos. Saludos. la saga de triple XXX
triple XXX
XXX

|
|
|
|
|
168
|
Programación / Programación C/C++ / Re: No guarda la cadena dentro del vector
|
en: 10 Febrero 2017, 16:35 pm
|
No no, osea, o con array [N] o con malloc. Me refiero a que comenté lo del array porque solo os vi haciéndolo con malloc, como otra posibilidad. Sí que se podría hacer con char vector[2][50].
De hecho para ese tipo de estructuras, me parece mucho mejor trabajarlo con matrices.
|
|
|
|
|
|
| |
|