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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 [81] 82 83 84 85 86 87 88 89 90 91 92
801  Programación / .NET (C#, VB.NET, ASP) / Re: Adaptar código de C++ deLinux a C# de Windows en: 5 Diciembre 2016, 06:47 am
(...)Para los que entiendan bien el C++ bajoj Linux, quiero hacer esta aplicación en Windows bajo C#.(...)
Al menos quiero saber que archivos hay que adaptarlo, haber si cojo el truco. Funciona en modo consola.
Hay partes del programa que si puedo,como los if else, switch y demás, lo sencillo, en cuanto a otros aspecto no lo veo en C# ni loco.

solo viendo este archivo

https://github.com/fbriere/linux-dexdrive/blob/master/dexdrive.c

tienes más problemas que simplemente traducirlo... y es traducir a windows las librerías base de linux o conseguir compatibles...

No eso no es lo peor: uno es un ejecutable (compilando dexattach.c) que asumiendo que "pueda" convertirlo a la lógica de C# va a depender del otro archivo que es un driver de linux (compilando dexdrive.c) que a su vez lo tiene que adaptar para drivers de windows y .NET no tiene capacidad alguna de generar un driver...

Como poder adaptarlo a Windows aclaro que se puede, pero no es simplemente modificando if y elses nomás...


B#
802  Programación / Programación General / Re: [OpenCL] ¿Cómo instalarlo? {Ubuntu 14} en: 29 Noviembre 2016, 08:27 am
Tengo una R7 250X, y estoy en Ubuntu 14 antes usaba el 16 pero pensé que cambiadome a Ubuntu 14 compilaría el driver, ... y no fue el caso.
Los bajé de acá http://support.amd.com/en-us/download, pero no compilan, recuerdo que uno lo hice compilar pero cuando iniciaba sesión me volvía a pedir la contraseña, es decir no iniciaba la sesión


¿Qué podría intentar hacer? Ya probé varias cosas.

Podrías probar el tutorial de Penguins Recordings que es para ubuntu 16.04 solamente para tu posible caso. Digo posible porque vos tenés una placa que capaz no la soporte el mínimo dice R7 260X, aunque capaz con suerte te lo permita... :silbar:


B#
803  Sistemas Operativos / GNU/Linux / Re: Failed to load Ldlinux.c32 (Kali linux ayuda) en: 29 Octubre 2016, 09:06 am
(...)Al instante sale ese aviso, Failed to load ldlinux.c32. Y ya.(...)

Lo primero que me sale en google al buscar ese mensaje...  ;-)
https://www.youtube.com/watch?v=fSDwuAqZK1Y


B#
804  Programación / Ingeniería Inversa / Re: Ayuda con ollydbg en: 20 Octubre 2016, 13:32 pm
(...)BloodSharp, si no he entendido mal la solución del CALL no sería viable enotnces?(...)
Para este caso no... en otras situaciones capaz que si...

(...)MCKSys, la solucion que me comentas de activar el flag para que pase la igualdad (entiendo que  la idea es hacer que esta igualdad siempre se cumple (strcmp(password, "PARIS")==0)) me parece buena idea, lo que no entiendo es como "NOPear esa instrucción".(...)

Lo que él te sugiere sería equivalente a hacer algo como esto:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. void passwordOK();
  6.  
  7. int main()
  8. {
  9. char password[4];
  10. int isOK = 0;
  11. int i =0;
  12. while(isOK == 0 && i<3)
  13. {
  14. i++;
  15. printf("Password: ");
  16. gets(password);
  17. strcmp(password, "PARIS");
  18. isOK = 1;
  19. };
  20. if (isOK ==1)
  21. {
  22. passwordOK();
  23. }
  24. else
  25. {
  26. printf("ERROR: 3 passwords NOT OK\n");
  27. system("PAUSE");
  28. }
  29. return 0;
  30. }
  31.  
  32. __declspec(noinline)void passwordOK()
  33. {
  34.     printf("Password OK\n ");
  35.     system("PAUSE");
  36. }

...pero solo modificando el ejecutable así:

Link de imagen




B#

805  Programación / Ingeniería Inversa / Re: Ayuda con ollydbg en: 20 Octubre 2016, 01:51 am
Revisa el código. Saltar a ése printf en particular no rompe nada pues no PUSHea nada al stack, lo usa directamente.
Ahora, si usas un CALL como pones, ahí sí romperás el stack y tendrás una excepción.

Saludos!

Si cierto, mala mía :P ahí revisé bien el código y efectivamentelo el caller se va a cualquier lado.
Poniendo el call igual muestra el mensaje pero cuando termina la rutina passwordOK explota, además que el call es más largo que el jmp short :S (5bytes vs 2bytes).
Lo compilé en mingw (sin optimizaciones) y quedó identico...
Dejo las rutinas completas:

Código
  1. 00401340 <testcode.sub_401340>       | 55                       | push ebp                                |
  2. 00401341                             | 89 E5                    | mov ebp,esp                             |
  3. 00401343                             | 83 E4 F0                 | and esp,FFFFFFF0                        |
  4. 00401346                             | 83 EC 20                 | sub esp,20                              |
  5. 00401349                             | E8 72 06 00 00           | call testcode.4019C0                    |
  6. 0040134E                             | C7 44 24 1C 00 00 00 00  | mov dword ptr ss:[esp+1C],0             |
  7. 00401356                             | C7 44 24 18 00 00 00 00  | mov dword ptr ss:[esp+18],0             |
  8. 0040135E                             | EB 4B                    | jmp testcode.4013AB                     |
  9. 00401360                             | 83 44 24 18 01           | add dword ptr ss:[esp+18],1             |
  10. 00401365                             | C7 04 24 24 30 40 00     | mov dword ptr ss:[esp],testcode.403024  | 403024:"Password: "
  11. 0040136C                             | E8 BF 08 00 00           | call <testcode.printf>                  |
  12. 00401371                             | 8D 44 24 14              | lea eax,dword ptr ss:[esp+14]           |
  13. 00401375                             | 89 04 24                 | mov dword ptr ss:[esp],eax              |
  14. 00401378                             | E8 BB 08 00 00           | call <testcode.gets>                    |
  15. 0040137D                             | C7 44 24 04 2F 30 40 00  | mov dword ptr ss:[esp+4],testcode.40302 | 40302F:"PARIS"
  16. 00401385                             | 8D 44 24 14              | lea eax,dword ptr ss:[esp+14]           |
  17. 00401389                             | 89 04 24                 | mov dword ptr ss:[esp],eax              |
  18. 0040138C                             | E8 AF 08 00 00           | call <testcode.strcmp>                  |
  19. 00401391                             | 85 C0                    | test eax,eax                            |
  20. 00401393                             | 75 0A                    | jne testcode.40139F                     |
  21. 00401395                             | C7 44 24 1C 01 00 00 00  | mov dword ptr ss:[esp+1C],1             |
  22. 0040139D                             | EB 0C                    | jmp testcode.4013AB                     |
  23. 0040139F                             | C7 04 24 35 30 40 00     | mov dword ptr ss:[esp],testcode.403035  | 403035:"Password NOT OK"
  24. 004013A6                             | E8 9D 08 00 00           | call <testcode.puts>                    |
  25. 004013AB                             | 83 7C 24 1C 00           | cmp dword ptr ss:[esp+1C],0             |
  26. 004013B0                             | 75 07                    | jne testcode.4013B9                     |
  27. 004013B2                             | 83 7C 24 18 02           | cmp dword ptr ss:[esp+18],2             |
  28. 004013B7                             | 7E A7                    | jle testcode.401360                     |
  29. 004013B9                             | 83 7C 24 1C 01           | cmp dword ptr ss:[esp+1C],1             |
  30. 004013BE                             | 75 07                    | jne testcode.4013C7                     |
  31. 004013C0                             | E8 21 00 00 00           | call <testcode.sub_4013E6>              |
  32. 004013C5                             | EB 18                    | jmp testcode.4013DF                     |
  33. 004013C7                             | C7 04 24 45 30 40 00     | mov dword ptr ss:[esp],testcode.403045  | 403045:"ERROR: 3 passwords NOT OK"
  34. 004013CE                             | E8 75 08 00 00           | call <testcode.puts>                    |
  35. 004013D3                             | C7 04 24 5F 30 40 00     | mov dword ptr ss:[esp],testcode.40305F  | 40305F:"PAUSE"
  36. 004013DA                             | E8 71 08 00 00           | call <testcode.system>                  |
  37. 004013DF                             | B8 00 00 00 00           | mov eax,0                               |
  38. 004013E4                             | C9                       | leave                                   |
  39. 004013E5                             | C3                       | ret                                     |
  40. 004013E6 <testcode.sub_4013E6>       | 55                       | push ebp                                |
  41. 004013E7                             | 89 E5                    | mov ebp,esp                             |
  42. 004013E9                             | 83 EC 18                 | sub esp,18                              |
  43. 004013EC                             | C7 04 24 65 30 40 00     | mov dword ptr ss:[esp],testcode.403065  | 403065:"Password OK\n "
  44. 004013F3                             | E8 38 08 00 00           | call <testcode.printf>                  |
  45. 004013F8                             | C7 04 24 5F 30 40 00     | mov dword ptr ss:[esp],testcode.40305F  | 40305F:"PAUSE"
  46. 004013FF                             | E8 4C 08 00 00           | call <testcode.system>                  |
  47. 00401404                             | C9                       | leave                                   |
  48. 00401405                             | C3                       | ret                                     |


B#
806  Programación / Ingeniería Inversa / Re: Ayuda con ollydbg en: 19 Octubre 2016, 07:40 am
Imagino que estoy equivocado pero mirando bien lo que me me comentáis me da la impresión que si lo cambio a
 00401393         JMP  004013EC lo que hace es mostrar por pantalla el ok pero no ejecuta la función que comentaba, no??

Salta directamente al printf de la otra función y mostrara password correcta, pero estoy casi seguro que va a fallar el programa cuando llegue a una instrucción ret


B#
807  Programación / Ingeniería Inversa / Re: Ayuda con ollydbg en: 19 Octubre 2016, 07:36 am
00401393           75 0A          JNZ SHORT pac1.0040139F

a
 00401393         JMP  004013EC
Hola!

Como ha colocado apuromafo, si modificas el salto de 00401393 para que salte siempre (cambiar el JNZ por JMP), aceptará cualquier password (incluída la correcta).

Saludos!

En mi preferencia a ese código hay que tener cuidado... sobre todo porque se salta directo ahí al printf de otra función y la stack es distinta aparentemente y cuando el caller apunte a cualquier lado puff...

yo reemplazaría ahí
Código
  1. 00401393           75 0A          JNZ SHORT pac1.0040139F
por
Código
  1. call 004013E6


B#
808  Sistemas Operativos / GNU/Linux / Re: Gnu/linux libre o no en: 1 Octubre 2016, 07:54 am
(...)Bien veamos de forma simple ¿seria bueno aprender y desarrollar en un sistema en un sistema certificado por la FSF que es completamente Open Source o usar aquellos no certificados que combinan ambos?(...)

Prueba armarte un sistema LFS/BLFS, ese lo armás desde cero a tu gusto desde código fuente completo...

http://www.linuxfromscratch.org/


B#
809  Sistemas Operativos / GNU/Linux / Re: [AYUDA] tuve mi primer problema con linux en: 1 Octubre 2016, 06:46 am
Prueba ingresar a la terminal desde el usuario que tiene el problema, escribe lo siguiente y reinica la pc:

Código
  1. sudo rm -Rf "./.gconf" "./.cache" "./.config"


B#
810  Programación / Programación C/C++ / Re: Problemas con variable "double" en: 29 Septiembre 2016, 00:44 am
Y ocurre lo mismo al asignar directamente el valor en la variable??? puede que sea más un error de asignación de memoria respecto al valor númerico por la precisión de ese rango coma flotante.
(...)
o lo que se necesitaria seria asignar ese valor como string y luego castearlo para que puedas establecer el número de digitos permitdios después del coma flotante.(...)

Es irrelevante en todos los micro-controladores/procesadores modernos se usa el estandar IEE 754 y siempre va a tener un mínimo de error de precisión dado que no se puede representar números no divisibles por 2, sin importar lenguaje de programación, tipo de arquitectura, etc...

En el caso de 0.1f:
1.0 /2-->0.5 /2-->0.25 /2-->0.125 /2-->0.0625 /2-->0.03125 /2-->0.015625 /2-->0,0078125 y podría seguir así y nunca llegar a 0.1 aunque sigas sumandos bits por derecha nunca llegarás al número exacto...


B#
Páginas: 1 ... 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 [81] 82 83 84 85 86 87 88 89 90 91 92
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines