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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: 1 [2] 3 4
11  Programación / Programación General / Procesar email automáticamente en: 9 Mayo 2014, 20:06 pm
Hola gente,

necesito poder enviar comandos desde mi móvil a un ordenador de sobremesa que estaría siempre encendido, y me gustaría que me aconsejarais un poco sobre cómo hacerlo.

Pensé que hacerlo por email sería muy fácil. La parte del móvil ya la tendría hecha ya que podría usar cualquier cliente típico, pero tengo dudas sobre cómo sería por el lado del ordenador de sobremesa. Así que, cómo podría procesar los emails automáticamente? No pido código ni nada así, sino simplemente algunas palabras clave con las que empezar a buscar en google.

Y si no es por email, sabéis algún método mejor?

Gracias por adelantado!
12  Informática / Electrónica / PWM con salida en 4 pines de un pic desfasados entre ellos en: 17 Mayo 2013, 00:53 am
Buenas a todos,

necesito programar un pic para dar un PWM por hardware en 4 pines con los pulsos solapados entre ellos. algo asi que espero que se entienda:

salida 1: __-----_________
salida 2: ____-----_______
salida 3: ______-----_____
salida 4: ________-----___

el tema es que me han pedido que investigue si es posible hacerlo con el modulo EPWM de algun pic o sino con el modulo SMPS de algun dspic. con el EPWM he estado leyendo el datasheet y no parece que haya ningun modo de funcionamiento asi, pero nunca se sabe. por software ya me han dicho que no ya que entonces el micro no podria hacer apenas nada mas.

entonces pregunto.. alguien sabe si es posible hacerlo? y si es que si, me pueden dar alguna palabra clave o un tema especifico para buscarlo?

muchas gracias!
13  Programación / PHP / [SOURCE] HideMyAss Proxy Scrapper en: 6 Febrero 2013, 16:00 pm
buenas foro,

hace unos dias pedi consejo acerca de hacer web scraping a una web y para ello necesitaba de varios proxies. pues bien, me gustaria compartir este codigo que supongo que a algunos les ayudara.

es un script en php que recopila la lista de proxies de la web de hidemyass. esta probado y funciona perfectamente (al menos hace 2 semanas, si no han cambiado el formato de hidemyass deberia funcionar). la lista la carga en una base de datos de mysql, en la que crea una tabla de nombre el dia y mes actual, con los siguientes campos: id, address (ip:port), type (http, https, socks4/5) y used (la cantidad de veces que se ha usado). ademas, actualiza un fichero de texto con el nombre de la tabla actualizada. tan solo habria que rellenar los datos del apartado 'DATA' y correrlo. el codigo es el siguiente:

Código
  1. <?php
  2.  
  3. //// includes
  4. include('./simple_html_dom.php');
  5.  
  6. /************ DATA ************/
  7.  
  8. $num_pages=10; // 50 proxies/page
  9. $speed_limit=50; // min speed to take proxy
  10. $conn_limit=50; // min connection time to take proxy
  11. $sleep_time=3; // seconds to wait between different pages
  12.  
  13. // data for mysql
  14. $server='localhost';
  15. $user='foo';
  16. $pass='bar';
  17. $db_name='example';
  18.  
  19. /************ MAIN ************/
  20.  
  21. $proxy_address=array();
  22. $proxy_type=array();
  23. for ($i=1; $i<=$num_pages; $i++) {
  24. $html=file_get_html('http://www.hidemyass.com/proxy-list/'.$i);
  25. foreach ($html->find('tr') as $tr) {
  26. if (isset($tr->id)) continue;
  27. $speed=get_proxy_specs($tr->find('td', 4));
  28. $connection_time=get_proxy_specs($tr->find('td', 5));
  29. if ($speed > $speed_limit && $connection_time > $conn_limit) {
  30. $proxy_address[]=get_proxy_address($tr);
  31. $proxy_type[]=$tr->find('td', 6)->plaintext;
  32. }
  33. }
  34. sleep($sleep_time);
  35. }
  36. $proxy_address=array_filter($proxy_address);
  37. $proxy_type=array_filter($proxy_type);
  38.  
  39. //// save data in the database
  40. $database=mysql_connect($server, $user, $pass);
  41. mysql_select_db($db_name, $database);
  42. $name='proxies_'.date('d_m'); // name of the new daily table is 'proxies_$d_$m', where $d=day and $m=month
  43. $table='CREATE TABLE '.$name.' (id smallint NOT NULL AUTO_INCREMENT, address VARCHAR(25) NOT NULL, type VARCHAR(10) NOT NULL, used smallint default \'0\', PRIMARY KEY (id))';
  44. mysql_query($table, $database);
  45.  
  46. for ($i=0; $i<count($proxy_address); $i++) {
  47. $query='INSERT INTO '.$name.' (address, type) VALUES (\''.$proxy_address[$i].'\', \''.$proxy_type[$i].'\')';
  48. mysql_query($query, $database);
  49. }
  50.  
  51. //// update file 'daily_table.txt' with the new name of daily table
  52. $file=fopen('./daily_table.txt', 'w');
  53. fwrite($file, $name);
  54. fclose($file);
  55.  
  56. //// close mysql connection
  57. mysql_close($database);
  58.  
  59. /************ FUNCTIONS ************/
  60.  
  61. function get_proxy_specs($td) {
  62.  
  63. $html=$td->find('div', 0)->find('div', 0)->style;
  64. preg_match('/width:(\d+)%/', $html, $result);
  65. return $result[1];
  66. }
  67.  
  68. function get_proxy_address($tr) {
  69.  
  70. // retrieve classes with the 'display:inline' css attribute
  71. $classes=get_classes($tr->find('td', 1)->find('span', 0)->find('style', 0)->xmltext);
  72.  
  73. // get the piece of html with the proxy ip and make some formating to it
  74. $html=$tr->find('td', 1)->xmltext;
  75. $html=preg_replace(array('%<style>(\s+\.[_\w\-]+\{display:(none|inline)\})*\s+</style>%', '%\s%', '%"%', '%/%'), '', $html);
  76. $html=str_replace(array('<', '>', 'div'), array('#', '#', 'span'), $html);
  77. $html=explode('span', $html);
  78.  
  79. // get the proxy ip applying some filters
  80. $ip=filter($html, $classes);
  81.  
  82. // get the proxy port
  83. $port=$tr->find('td', 2)->plaintext;
  84. $port=preg_replace('%\s%', '', $port);
  85.  
  86. // return with the format 'ip:port'
  87. return $ip.':'.$port;
  88. }
  89.  
  90. function get_classes($html) {
  91.  
  92. $html=preg_replace('%\s%', '', $html);
  93. $html=explode('.', $html);
  94. $classes=array();
  95. foreach ($html as $element) {
  96. if (preg_match('%([\w\-_]+?)\{display:inline\}%', $element, $result)) {
  97. $classes[]=$result[1];
  98. }
  99. }
  100. return $classes;
  101. }
  102.  
  103. function filter($html, $classes) {
  104.  
  105. // filter 1: class with the 'display:inline' value css attribute
  106. foreach ($html as $key=>$element) {
  107. foreach ($classes as $cl) {
  108. if (strpos($element, $cl)) {
  109. $pattern='class='.$cl;
  110. $html[$key]=str_replace($pattern, '', $element);
  111. }
  112. }
  113. }
  114. // filter 2: class name is made only by numbers and is not in the $classes array
  115. foreach ($html as $key=>$element) {
  116. if (preg_match('%class=\d+#%', $element)) {
  117. $html[$key]=preg_replace('%class=\d+%', '', $element);
  118. }
  119. }
  120. // filter 3: elements with the 'display:inline' css-style value attribute
  121. foreach ($html as $key=>$element) {
  122. if (strpos($element, 'display:inline')) {
  123. $html[$key]=str_replace('style=display:inline', '', $element);
  124. }
  125. }
  126.  
  127. // retrieve de ip address
  128. $ip='';
  129. foreach ($html as $key=>$element) {
  130. if (preg_match('%^#([\d.]+)#$%', $element, $result)) {
  131. $ip.=$result[1];
  132. }
  133. }
  134. return $ip;
  135. }
  136.  
  137. ?>

luego haria falta otro archivo que yo le he llamado 'proxy_functions.php', que contendria lo siguiente:

Código
  1. <?php
  2.  
  3. //// data
  4. $server='localhost';
  5. $user='foo';
  6. $pass='bar';
  7. $db_name='example';
  8.  
  9. $used_limit=9;
  10.  
  11. function get_proxy() {
  12.  
  13. // read the name of the updated proxy list
  14. $file=fopen('./daily_table.txt', 'r');
  15. $name=fread($file, 15);
  16. fclose($file);
  17.  
  18. // connect to database
  19. $database=mysql_connect($server, $user, $pass);
  20. if (!$database) die('Could not connect: '.mysql_error());
  21. mysql_select_db($db_name, $database);
  22.  
  23. // select a pseudo-random proxy that have been used $used_limit or less times
  24. $query='SELECT id, address, type FROM '.$name.' WHERE used<'.$used_limit.' ORDER BY rand() LIMIT 1';
  25. $result=mysql_query($query, $database);
  26. $row=mysql_fetch_array($result, MYSQL_ASSOC);
  27.  
  28. // update the number of times the proxy has been used
  29. $query='UPDATE '.$name.' SET used=used+1 WHERE id='.$row['id'];
  30. mysql_query($query, $database);
  31.  
  32. // return the array=(address, type)
  33. return array('address'=>$row['address'], 'type'=>$row['type']);
  34. }
  35.  
  36. ?>

con lo que simplemente, para usar un proxy al azar en un script php, bastaria con correr en una cron job el primer script 1 vez al dia por ejemplo (o 2, o las que sean), y luego en el script en el que quieras usar el proxy hacer:

Código
  1. <?php
  2.  
  3. include('proxy_functions.php');
  4. $proxy=get_proxy();
  5. // $proxy['address']=a.b.c.d:p
  6. // $proxy['type']=http | https | socks4/5
  7.  
  8. ?>

y bueno, el codigo no tiene casi nada de verificacion de errores, por no decir que tiene solo 1 xD, y tampoco creo que sea el codigo mas optimo y eficiente pero funcionar funciona. por ultimo decir que quien quiera usar el codigo que lo use, asi como copiarlo, modificarlo, imprimirlo y pegarlo en la nevera, o lo que sea, pero se agradeceria que si se comparte en alguna otra web o blog, se ponga un enlace a la fuente que en este caso seria esta pagina.

un saludo!
14  Programación / PHP / problema con curl+proxy en: 8 Enero 2013, 21:15 pm
hola a todos,

estoy intentando ver la web de whatismyip.com a traves de un proxy con curl y la verdad es que ya no se que mas probar... tengo el siguiente simple codigo:

Código
  1. $url='http://www.whatismyip.com/';
  2.  
  3. $ch=curl_init($url);
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($ch, CURLOPT_PROXY, $address);
  6. //curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
  7.  
  8. $data=curl_exec($ch);
  9. echo $data;

y es que no consigo hacerlo funcionar. en $address he probado decenas de diferentes proxys sacados de hidemyass, y como mucho me han funcionado un par o tres. la mayoria de veces se queda cargando la pagina hasta que me da el error de timeout. ademas, he acabado probando los proxys que se actualizan al momento y los que tienen mas de un 70% de velocidad de conexion y tiempo de respuesta, pero sigue sin funcionarme casi nunca.

el tema es... ¿estoy haciendo algo mal? ¿podria hacer algo mejor? ¿es normal que de, y no exagero, 200 proxys solo funcionen 3 o 4 y tan solo 1 vez? porque luego a la que repetia ya no funcionaba... si esto es el pan de cada dia con los proxys gratuitos, la verdad no entiendo por que tanta gente va detras de listas con miles de proxys si luego solo funcionan el 1% con suerte.

cualquier duda o sugerencia sera mas que bienvenida, ya que yo por ahora me he quedado sin ideas. muchas gracias adelantadas
15  Programación / Desarrollo Web / ocultar navegacion automatizada en: 5 Enero 2013, 02:45 am
hola de nuevo foreros,

mi pregunta viene por esto que he visto en las estadisticas de mi web:

Citar
* Not viewed traffic includes traffic generated by robots, worms, or replies with special HTTP status codes.

y la pregunta es: ¿ademas de cambiar el user-agent, que mas hay que tener en cuenta para intentar evitar que detecten la navegacion automatizada? y si no es posible ocultarlo completamente pues al menos ponerlo mas dificil.

muchas gracias!
16  Programación / Desarrollo Web / yql+javascript o yql+php? en: 29 Diciembre 2012, 02:07 am
buenas foreros y felices fiestas a todos ;D

tengo una duda de novato que no consigo solucionar y a ver si me podeis echar una mano.

vereis estoy intentando hacer una pagina web y necesito hacer data scraping de otra. he encontrado que usando yql conseguiria obtener la informacion de otra web con dominio diferente al mio, pero estoy en la duda de si es mejor usar yql+javascript o yql+php. mi idea inicial era hacerlo con javascript para asi hacer las consultas a la web desde el lado del cliente para evitar un posible baneo de ip, aunque despues de ver lo del yql, ¿todas las consultas pasarian por yahoo no? es decir, ¿en la web le apareceran todas las peticiones desde los servidores de yahoo no? si esto es asi (que perfectamente puede que no lo sea... xD) entonces, ¿no seria mejor hacerlo con php? de esta manera lo haria desde mi servidor y asi no se veria el codigo, ademas que me ahorraria tiempo y trafico por hacerlo todo yo y no esperar a que el cliente me pase la informacion obtenida.

luego otra duda que tengo y que no he encontrado la respuesta, es que ¿la web no acabara bloqueando, seguramente, todas las peticiones por parte de yahoo al ver que tiene un trafico considerable procedente de el?

y bueno diria que eso es todo... estoy hecho un lio con esto, y tengo ganas de aclararlo para poder empezar a codear. muchas gracias por adelantado, un saludo!
17  Programación / Programación General / [javascript] problema con decodeBase64 en: 23 Diciembre 2012, 04:22 am
hola foreros,

vereis tengo lo siguiente en un html:

Código
  1. <script type="text/javascript">decodeBase64('yFJ6AanflVSNHr7wIt/j1nNgGkesZ3Jw4uOAuv40a8PFgzFUZAH58CI+8VDpc//mk9A/W3tdQzwUCKJE5/KnBnsD59A6LYdkOmdemLjxznV8ajUQ6d57mEwSvFbo7RZEJJEt0XnFKwG63EnDXgJLycbfPJ32cqSVEcdrI1GExUDVZia8uet5PdjUCxbHdqiQsGelVDal1DYWcmrdS2mKC8Y/MD7MHNQWVLlo7+DAOcpZzA9IOQboxzac4pBmjACJk0Ed/WDHYEMHc0fBO28jjM0G1p5mwHRqUcYLLiLRcnAN0rp7R4YwMd/7QBkpoE8vX5HGmQ7ufMeNZ/cqG+pey0Ec2nwLJdf83ph4wQgseVC6nI8oIseRFKvnW2mbcl2WVfA9I6suXSpDT+8AIOmEGSiMmXr8dhazio59MD5VA0sbdNgADMUvheHoTkR5Er8d+xyYatJC8sokygAcKRcemSMXw1wYiOvkB14aHTHRAMeEthyAw6tIpYop+ZrGLTdGNljU5fkh74Jj0mX4CUG7V8hY8HaNsiWVnSSbeFxzzkolqhsVvJgITGOBlfS93Vb38BQr1iubBg==');</script>

y necesitaria obtener un link que debe haber por ahi metido. no tengo ni idea de javascript, y he probado directamente a usar un decodificador online http://www.base64decode.org/ de base64 con el texto y todos los sets de caracteres disponibles (utf8, ascii, y otros que no habia oido hablar) y no me da nada legible y que pueda interpretar.

por favor, alguien podria ayudarme un poco en como hacer legible este codigo de javascript?

muchas gracias y feliz navidad! ;D
18  Foros Generales / Foro Libre / problemas copyright pagina web en: 13 Diciembre 2012, 16:52 pm
buenas foreros,

ando pensando en abrir alguna web tipica de series y peliculas ya que veo que seria el tipo de web "mas facil" para empezar, y asi aprendo un poco de desarrollo web y ademas con un poco de suerte me acabaria sacando en un tiempo un dinero extra al mes.

pero bueno, el tema es que no se que clase de problemas podria llegar a tener si colgara contenido con copyright en mi web (bueno, de hecho todo el contenido seria con copyright). podrian cerrarmela con un click? podria poner anuncios en un tiempo o me lo denegaran por tener ese tipo de contenido? hay algun problema legal, tipo multas o quien sabe, por tener una web de este estilo?

toda ayuda o idea sera bienvenida. no tengo ni idea de los aspectos legales y me gustaria informarme un poco y saber por donde tengo que empezar a buscar informacion al respecto.

muchas gracias a todos!
19  Programación / Programación C/C++ / [resuelto] Ayuda con GetProcAddress en: 27 Noviembre 2012, 02:02 am
hola a todos,

llevo toda la tarde con un problema que no consigo resolver y ojala alguien pueda arrojarme un poco de luz. se que podria resumir este codigo en pocas lineas usando directamente LoadLibrary pero la idea es jugar un poco para intentar entender todo lo que pasa.

la idea es que ejecuto un exe y este busca la direccion de LoadLibraryA en la dll Kernel32, para luego crear un hilo pasandole como funcion principal el puntero a LoadLibraryA y como parametro una dll creada por mi. en esta dll hay una callback function donde solo tira un messagebox, y luego otra funcion que es la que intento ejecutar despues, y es aqui donde esta el problema. el messagebox me lo tira bien, pero luego cuando intento obtener la direccion de MyFunction me tira el error de "Could not retrieve the address function".

en fin, este es el codigo de mi dll:

Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3.  
  4. BOOL APIENTRY DllMain (HINSTANCE hInstDLL, DWORD reason, LPVOID reserved) {
  5.  
  6. BOOL dllSuccess = FALSE;
  7.  
  8. if (reason == DLL_PROCESS_ATTACH) {
  9. dllSuccess = MessageBox (NULL, "Funciona! :)", NULL, MB_OK);
  10. }
  11.  
  12. return dllSuccess;
  13. }
  14.  
  15. __declspec(dllexport) void __stdcall MyFunction (void) {
  16.  
  17. printf ("Hello world!\n");
  18. }
  19.  

y el siguiente codigo es el del ejecutable:

Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3.  
  4. int main (int argc, char **argv) {
  5.  
  6. HMODULE hKernel32 = GetModuleHandle ("Kernel32");
  7. FARPROC lpLoadLib = GetProcAddress (hKernel32, "LoadLibraryA");
  8.  
  9. HANDLE hThread = CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) lpLoadLib, (void*) argv[1], 0, NULL);
  10. WaitForSingleObject (hThread, INFINITE);
  11.  
  12. DWORD hLibModule=0;
  13. GetExitCodeThread (hThread, &hLibModule);
  14. if (!hLibModule) {
  15. fprintf (stderr, "ERROR: Could not retrieve the module handle.\n");
  16. return 1;
  17. }
  18.  
  19. FARPROC myFunc = GetProcAddress ((void*) hLibModule, "MyFunction");
  20. if (!myFunc) {
  21. fprintf (stderr, "ERROR: Could not retrieve the function address.\n");
  22. return 1;
  23. }
  24.  
  25.        myFunc();
  26. CloseHandle (hThread);
  27. return 0;
  28. }

y eso es todo... alguien puede ayudarme?

muchas gracias!

edito: perdonad cometi un error, mi problema no es con esa funcion sino con la de GetProcAddress del final. llevo demasiado rato metido en esto y pasa lo que pasa... xD
20  Foros Generales / Sugerencias y dudas sobre el Foro / links Adf.ly y similares en: 28 Octubre 2012, 20:41 pm
buenas a todos,

tengo una pregunta y es que, por que es ilegal poner estos enlaces en el foro, sea lo que sea a lo que apunta?

me refiero a que, si el enlace realmente tiene utilidad y el usuario ha aportado algo que se agradece, que mas da si gana algo con ello? las dos partes (el que ayuda y el ayudado) salen ganando de esta manera.

entiendo que sea ilegal para evitar spam, pero se podria hacer alguna regla no tan extrema. por ejemplo, si el link puesto no tiene nada que ver con el tema y es puro spam, pues se le da un aviso al usuario o bueno eso ya lo dejo en las manos de quien le toque decidir. en cambio, si el link es util, pues que no ocurra nada. los mismos usuarios del tema en cuestion que visiten el link, pueden reportar en un momento y sin esfuerzo en caso de que se tratase de spam.

es solo una idea, pero viendo que ya hay usuarios (no moderadores) que avisan a quien pone estos links para que lo quiten, pienso que no requeriria un esfuerzo extra ni nada. simplemente estos usuarios deberian reportar a un moderador en el caso de que fuera spam.

gracias por la atencion, un saludo!
Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines