elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 [2] 3
11  Comunicaciones / Redes / Imposible abrir de puertos de Router [EchoLife HG520c] en: 6 Enero 2011, 11:02 am
//-----------------------------------------------------------------------------------------
Hola a todos.
Agradeceré su paciencia por leer...

La razón por la que he recurrido a este foro para resolver mi duda, es porque ya estoy totalmente cansado de buscar como abrir los puertos de este Router.

La asistencia técnica de mi ISP simplemente no sabe mi problema, no les importa y se defienden diciendo que ellos no dan asesoriamiento de este tipo. (Estoy hablando de Telmex Infinitum, (estoy en México))

He buscado muchos tutoriales y los he seguido a pie de la letra, y supuestamente, ya están abiertos... Pero he usado Scanners de puertos online para verificar que esten abiertos y no es asi. (Para esto uso un Servidor a la escucha en dicho puerto)

Yo no me especializo en Redes, y por lo tanto no entiendo mucho...
Ya configure mi Firewall tambien, pero sigo con el mismo problema.

Algo curioso es... que si habilito el Servidor de TELNET de Windows (tengo XP), y a la vez, lo habilito en las excepciones del Firewall, Los Servicios de mi Conexión de Area Local y Abro el puerto 23 en el Router, al hacer esto si es detectado por los Scanners de Puertos online! Es decir, el puerto responde a conexiones entrantes de la WAN!

De hecho, le he pedido a un amigo que haga TELNET a mi IP pública, y la conexión es perfecta!

Pero esto no es así con mi servidor, ni con mi puerto!  >:(
Cerré el Servidor de TELNET e intenté usar el puerto 23 para ponerlo a la escucha en mi Servidor y sin embargo... no funcionó.

Algunas cosas que tengo claras son:
- Esto no es causa de un problema del Servidor, pues he probado con muchos, incluso de juegos, ftp, etc...
- El problema está o en el Router, o en el Firewall... O quizás mi ISP lo bloquea?

Agradezco grandemente tu tiempo por leer esto, si tienes cualquier información que me pueda ser de utilidad porfavor házmela saber. Gracias!

Estoy muy desesperado, pues estoy trabajando en un Proyecto cuyo objetivo es trabajar en WAN.
//-----------------------------------------------------------------------------------------
12  Programación / Programación C/C++ / Re: Encriptador en C++ en: 22 Agosto 2010, 19:06 pm
Es mi primer programa usando vectores de esta forma.
Nunca había usado tantos for y todavía soy nuevo en C++...

Este es uno de mis primeros programas pero ya veo que son basura.
 :(
13  Programación / Programación C/C++ / Re: Encriptador en C++ en: 22 Agosto 2010, 18:38 pm
Exactamente, eso es por lo cual use break;

Y con lo del agregado de palabras, te refieres a las que van a sustituir cierto?

Yo también se que eso esta feo pero quize dramatizarlo jaja para ver como se veía.
14  Programación / Programación C/C++ / Encriptador en C++ en: 22 Agosto 2010, 09:26 am
Después de un largo rato de pensarle y buscar conceptos T_T
he logrado crear un sencillo sistema de cifrado.

Bueno... la cifrado es algo loca, pero la pueden modificar a su gusto.

Me gustaría que me dieran consejos de como podría mejor este código.
Que cosas hize de más, o que le falta.
¿Estoy usando mucho código innecesario?

PD: Solo cifra palabras en minusculas, y solo acepta espacios como separador.

Aquí les dejo el codigo:

Código
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <vector>
  4. #include <string>
  5. #include <sstream>
  6.  
  7. using namespace std;
  8.  
  9. vector<string> AddNumbers(vector<string> vector){
  10. vector.push_back("cml29");
  11. vector.push_back("mpdo1");
  12. vector.push_back("cp3p");
  13. vector.push_back("maT4");
  14. vector.push_back("88gk");
  15. vector.push_back("29f");
  16. vector.push_back("9fff");
  17. vector.push_back("fj239");
  18. vector.push_back("fj33f");
  19. vector.push_back("f888");
  20. vector.push_back("45fc");
  21. vector.push_back("d892");
  22. vector.push_back("cronq");
  23. vector.push_back("you");
  24. vector.push_back("llnever");
  25. vector.push_back("know");
  26. vector.push_back("this");
  27. vector.push_back("encr");
  28. vector.push_back("ipta");
  29. vector.push_back("tion");
  30. vector.push_back("lol");
  31. vector.push_back("rf8");
  32. vector.push_back("l28");
  33. vector.push_back("66");
  34. vector.push_back("d6");
  35. vector.push_back("e79d");
  36. vector.push_back("49jf");
  37. return vector;
  38. }
  39. vector<string> AddLetters(vector<string> vector){
  40. vector.push_back("a");
  41. vector.push_back("b");
  42. vector.push_back("c");
  43. vector.push_back("d");
  44. vector.push_back("e");
  45. vector.push_back("f");
  46. vector.push_back("g");
  47. vector.push_back("h");
  48. vector.push_back("i");
  49. vector.push_back("j");
  50. vector.push_back("k");
  51. vector.push_back("l");
  52. vector.push_back("m");
  53. vector.push_back("n");
  54. vector.push_back("o");
  55. vector.push_back("p");
  56. vector.push_back("q");
  57. vector.push_back("r");
  58. vector.push_back("s");
  59. vector.push_back("t");
  60. vector.push_back("u");
  61. vector.push_back("v");
  62. vector.push_back("w");
  63. vector.push_back("x");
  64. vector.push_back("y");
  65. vector.push_back("z");
  66. vector.push_back(" ");
  67.  
  68. return vector;
  69. }
  70.  
  71. class CODSYS{
  72. public:
  73. vector<string> abc;
  74. vector<string> nums;
  75.  
  76. CODSYS(){
  77. abc = AddLetters(abc);
  78. nums = AddNumbers(nums);
  79. }
  80. };
  81.  
  82. vector<string> PartirString(string a){
  83. vector<string> vector;
  84.    string word;
  85.    stringstream stream(a);
  86.    while( getline(stream, word, 'x'))
  87. vector.push_back(word);
  88.  
  89. return vector;
  90. }
  91.  
  92. string descifrar(string a){
  93. CODSYS *dat = new CODSYS;
  94. vector<string> numeros;
  95. // vector<string>::iterator it;
  96. string numeroactual;
  97. string descifrado;
  98.  
  99. numeros = PartirString(a); // Se eliminan las "x" y se guarda cada número como un elemento del vector.
  100.  
  101. for(unsigned int i = 0; i < numeros.size(); i++){
  102. numeroactual = numeros[i];
  103. for(unsigned int z = 0; z < dat->nums.size(); z++){
  104. if(numeroactual == dat->nums[z]){
  105. descifrado += dat->abc[z];
  106. break;
  107. }
  108. }
  109. }
  110. delete dat;
  111.  
  112. return descifrado;
  113. }
  114.  
  115. string cifrar(string a){
  116. CODSYS *dat = new CODSYS;
  117. string letraactual;
  118. string cifrado;
  119.  
  120. for(unsigned int i = 0; i < a.length(); i++){
  121. letraactual = a[i];
  122. for(unsigned int z = 0; z < dat->abc.size(); z++){
  123. if(letraactual == dat->abc[z]){
  124. cifrado += dat->nums[z];
  125. cifrado += "x";
  126. }
  127. }
  128. }
  129. delete dat;
  130.  
  131. return cifrado;
  132. }
  133.  
  134. void EncMain(){
  135. system("cls");
  136. string cadena;
  137.  
  138. cout << "Ingresa una Cadena para encriptarla:\n";
  139. getline(cin, cadena);
  140.  
  141. cout << "\n\n= " << cifrar(cadena) << "\n\n" ;
  142.  
  143. system("PAUSE");
  144. system("CLS");
  145. }
  146.  
  147. void DesencMain(){
  148. system("cls");
  149. string cadena;
  150.  
  151. cout << "Ingresa una Cadena para desencriptarla:\n";
  152. getline(cin, cadena);
  153.  
  154. cout << "\n\n= " << descifrar(cadena) << "\n\n";
  155.  
  156. system("PAUSE");
  157. system("CLS");
  158. }
  159.  
  160. int main(int argc, char *argv[]){
  161. while(true){
  162. string dec;
  163. r:
  164. cout << "==> Encriptador por mastersuv v0.1 <==\n\n";
  165. cout << "---- Selecciona una opcion: ----\n";
  166. cout << "||                            ||\n";
  167. cout << "|| 1. cifrar una Cadena    ||\n";
  168. cout << "|| 2. descifrar una Cadena ||\n";
  169. cout << "||                            ||\n";
  170. cout << "--------------------------------\n\n> ";
  171.  
  172. getline(cin, dec);
  173.  
  174. for(unsigned int i = 0; i < dec.length(); i++){
  175. if(!isdigit(dec[i])){
  176. MessageBoxA(NULL, "Ingrese solo numeros!", "Error!", MB_OK);
  177. system("CLS");
  178. goto r;
  179. break;
  180. }
  181. else if((dec > "2" || dec < "1")){
  182. MessageBoxA(NULL, "Opción inválida", "Error!", MB_OK);
  183. system("CLS");
  184. goto r;
  185. break;
  186. }
  187. else{ continue; }
  188. }
  189.  
  190. if(dec == "1"){
  191. EncMain();
  192. }
  193. else if(dec == "2"){
  194. DesencMain();
  195. }
  196. }
  197. return 0;
  198. }
15  Programación / Programación Visual Basic / Re: Ayudenme a crear un autoclick en: 22 Agosto 2010, 07:37 am
Tendrás que disculparme, pero yo solo supuse lo que se tendría que hacer.
No se como hacer para hacer un Click en determinada parte del formulario jeje.
16  Programación / Programación Visual Basic / Re: Ayudenme a crear un autoclick en: 22 Agosto 2010, 05:53 am
Si puedes hacer click en X parte de un formulario.

Pero para ello tendrías que obtener exactamente la posición X (Usando TOP) y Y (Usando LEFT)...

Pero eso sería muy poco eficiente, aparte de que tendrías que llamar el Click...

PERO...
También puedes llamar eventos de un objeto desde procedimientos de otro Sub.

Por ejemplo, puedes llamar al evento "Click" del Label cuando se presione un botón... -> que es exactamente lo que quieres.


Añade este código a tu botón para llamar al evento Click:
Código
  1. Private Sub Command1_Click()
  2. Call Label1_Click
  3. End Sub

Claro... suponiendo que tu botón se llama Command1 y el Label se llama Label1.

La función CALL sirve llamar a otro Sub, o a alguna Funcion (Public Function).
En este caso, estamos llamando a el evento "CLICK()" del Label1.

Es decir, todo lo que tengas en:

Private Sub Label1_Click()
// ------- Aqui
end sub

Se pondrá en marcha al presionar el botón.

------------------------------

Perdona por sobre-explicartelo jeje.
17  Programación / Programación Visual Basic / Re: Interacción con Hardware desde Visual Basic. ¿Me explican? en: 21 Agosto 2010, 06:15 am
Hola, un lector de código de barras no es nada más que un dispositivo de entrada de datos. Al pasar un codigo por el lector, éste automaticamente lo detecta mediante un proceso que no voy a explicar, y los datos leidos el lector los manda a la pc como si los hubieses ingresado por el teclado, intenta por ejemplo leer un codigo con el bloc de notas abierto, los numeros se mostraran ahi. Pues asi es como funciona, lo unico que tienes que programar es por ejemplo, que al terminar de leer el código mande un 'enter' o algun evento topo textchange o lostfocus o lo que se te ocurra, para que asi el programa detecte que has leido un codigo y ejecute alguna acción.

Saludos

Ahmm... si tiene lógica lo que dices.
Pero no se porque tengo un presentimiento de que eso no es todo...

Debe haber algo mas "inteligente" para que detecte los eventos no?  :-\
18  Programación / Programación Visual Basic / Interacción con Hardware desde Visual Basic. ¿Me explican? en: 21 Agosto 2010, 01:42 am
Siempre he tenido una duda bien dudosa...  :xD

Iré al grano:
En mi escuela están utilizando Visual Basic + Un lector de código de barras para comprobar que los Alumnos están asistiendo a clases.

El código de barras esta impreso en nuestras credenciales, y al llegar a la escuela tenemos que pasar por al lado de la computadora y pasar la zona del código impresa en nuestra cred. por el lector.

Bien...
Pués... esa es mi duda.
Como lográn establecer esa interacción de Hardware y Software?...

Yo lo que pienso ahorita es que al comprar el lector de código de barras, viene con algun disco que incluye sus API's o Dlls o algo así que permite conectarlo con Visual Basic...

Y una vez hecho esto, pues se pueden llamar eventos del Codigo de barras. Y así darle procedimientos a nuestro programa cada vez que ocurra un evento en el Lector.

¿Me ayudan a comprender esto?
¿Qué temas relacionados me ayudarían a comprenderlo?
19  Programación / Programación Visual Basic / Con API's de Windows en: 21 Agosto 2010, 01:29 am
Con Visual Basic 6.0 puedes hacer uno muy facilmente...

Necesitas declarar estas API's en la sección de declaraciones del código:
Código
  1. Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
  2. Private Const MouseLeftDown = &H2 ' Hace el Click Izquierdo
  3. Private Const MouseLeftUp = &H4 ' Desclickea el Click Derecho
  4. Private Const MouseRightdown = &H4 ' Hace Click derecho
  5. Private Const MouseRightup = &H4 ' Desclickea el Click Derecho
  6.  

Una vez declaradas, debes llamar los eventos de la siguiente forma:

Puedes usar un Boton de Comando (Command button) para probar:
O sea: Le das un Click al boton, y este obtendrá el "Focus", entonces ahora presionando Enter el boton de presionara... Ahi es donde puedes tu comprobar que se estan haciendo clicks.
O llama el click derecho, y el menú contextual se tiene que abrir.

Llama el Click derecho y su respectivo "Desclick" xD
Código
  1. mouse_event MouseRightdown, 0, 0, 0, 0 ' Click Derecho
  2. mouse_event MouseRightup, 0, 0, 0, 0 ' Desclickea

Llama el Click izquierdo y su respectivo "Desclick" xD
Código
  1. mouse_event MouseLeftDown, 0, 0, 0, 0 ' Click izquierdo
  2. mouse_event MouseLeftUp, 0, 0, 0, 0 ' Desclickea

Con esto tienes para poner a andar tu programa...
Pero obviamente, no usaras Botones para hacer tu autoclick...
Te toca a tí hacer que los eventos se llamen automáticamente.

Puedes usar un Timer.
Pero recuerda crear algun tipo de Sistema para encenderlo/apagarlo.

Saludos!
20  Programación / Programación C/C++ / Re: ¿Que le está pasando a este Programa? [C++] en: 19 Agosto 2010, 00:34 am
¡Buenas!

No te lies tanto con la STL, en cstring (#include <cstring>), tienes funciones que te hacen casi todo el trabajo:

Código
  1. longitud = strlen(cadena);   // obtenemos el numero de caracteres
  2. caracter = cadena[longitud - 1];  // guardamos el ultimo caracter para no perderlo
  3. memmove(cadena + 1 , cadena, longitud - 1);  // desplazamos la cadena una posicion a la derecha
  4. cadena[0] = caracter;  // y guardamos el ultimo caracter en la primera posicion
  5.  

Y con esto, tienes todo el trabajo hecho, sin complicarte tanto la vida.

¡Saludos!

Jajaja, siento que me haz dejado en ridículo al cambiar todo el código que yo escribí, por uno mucho mas corto y con mejores resultados.

Pero bueno, valio la pena pensarle un poquito  :D
De todas formas seguiré buscando como resolver el problema anterior.

Muchas gracias colega.
Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines