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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 ... 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [55] 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 ... 122
541  Programación / Programación C/C++ / Ejercicios C en: 21 Agosto 2010, 21:20 pm
El mensaje 'Ejercicios C  ' fue bloqueado
No se hacen tareas
Leer reglas:
http://foro.elhacker.net/reglas
542  Programación / Programación C/C++ / Re: [Source]Modificacion de procesos (libreria con utilidades) en: 21 Agosto 2010, 07:50 am
El "solo falla" queda bastante chico, las situaciones que mencionas son de los mas normales.

Es normal que un usuario no utilice una cuenta con privilegios, mas aun si hablamos de versiones posteriores a Windows XP.
Utilizar PROCESS_ALL_ACCESS sin mas preámbulo te va a garantizar errores en la mayoría de los casos, por varios motivos:

1) El carácter del flag es variable a lo largo de las distintas versiones de Windows.
2) Algunos procesos necesitan si o si el privilegio de depuración para tales acciones.
3) Ciertos modos de acceso pueden estar restringidos.

De hecho en Windows XP, los únicos procesos que no podes depurar con el privilegio de depuración son el inactivo y el de sistema, y solamente porque no tienen representación en el modo usuario. El resto, casi seguro que no tendrías problemas, exceptuando por supuesto los casos de los procesos protegidos por un driver.

Ahora bien, no es tan especial que un driver proteja un proceso, mas bien eso sucede en casi toda aplicacion de protección. Protecciones de juegos, antivirus, firewall, etc. Igualmente en ese caso obtener o no los privilegios es irrelevante, fallara de cualquier manera mientras la protección no sea vulnerada.

Citar
general solo basta con tener el mismo nivel de acceso del programa al que querés obtener privilegios...

Con niveles de acceso no se a lo que te referís específicamente, ya que el modelo de acceso cambia bastante desde NT 6.0 en adelante, o dicho mas claro, difiere bastante si comparamos Windows XP y Windows Vista, por ejemplo.

De cualquier forma, ya que mencionas los niveles, el IL para la mayoría de los procesos por defecto es No-Write-Up + No-Read-Up. Lo cual implica que no podes leer ni escribir al menos que estés en el mismo nivel de integridad, incluso si el DACL lo autoriza.
Esta claro que, en la mayoría de los casos, no vas a estar en el nivel de integridad deseado por defecto.

En conclusión, utilizar PROCESS_ALL_ACCESS es una mala practica cuando no se esta seguro si se va a obtener dichos privilegios ni se chequea la posibilidad de obtenerlos.

Lo ideal es utilizar los flags que exclusivamente vas a necesitar, y luego chequear y solicitar los privilegios requeridos en caso de no tenerlos (u escalarlos a la fuerza, dependiendo de lo que estemos hablando). Eso es lo que corresponde para una correcta ejecución.

Saludos
543  Programación / Programación C/C++ / Re: ¿Que le está pasando a este Programa? [C++] en: 21 Agosto 2010, 06:20 am
Esta claro que depende del caso, por supuesto. Al utilizar esas "grandes librerías" también posiblemente estés usando librerías con "grandes" testeos, y eso influye en el resultado final.

Utilizar la STL o no con un detalle depende exclusivamente de la importancia del detalle, pero igualmente también depende de si te sentís cómodo o no utilizándola.

La realidad es que nadie codifica en poco tiempo métodos existentes en la STL que posean la misma estabilidad y el mismo rendimiento. Como poder, se puede, pero te vas a tomar el trabajo solo si es estrictamente necesario ya sea porque necesitas un control interno que la STL no te permite, porque queres implementar detalles extras, y por otros tantos motivos que posiblemente sean validos.

Lo que vos puedas darle como uso a una determinada herramienta es relativo y depende del programador. Vos pones como ejemplo de una mala practica utilizar un vector STL para manejar un vector estático, el tema es que quien lo usa puede hacer una transición a un vector dinámico fácilmente, mientras que para que vos hagas lo mismo tenes que realizar toda la implementación del manejo de memoria dinámica. Sera igual de estable? sera igual de rápida? bueno, eso varia, si no en el foro no se verían tantos post con errores de segmentación.

Pero en fin, cada caso es un mundo y obviamente la STL no aplica para todos. Lo que si estoy seguro es que no es ni un cuchillo, ni un destornillador, mas bien es una navaja suiza, ahora depende de uno saber utilizarla.

Saludos
544  Programación / Programación C/C++ / Re: [C]Calcular pi en: 21 Agosto 2010, 03:32 am
Claro pero, repito, no es una decisión, es una sugerencia que el compilador es libre de ignorar por completo, y de hecho lo hacen en mas de una oportunidad.

Lo aclaro para que no quede la falsa idea que utilizar variables locales register si o si mejora el rendimiento de un programa, ya que esto solo ocurriría en ciertas oportunidades y solamente cuando el compilador lo decida. En el peor de los casos, demasiadas variables register podrían empeorar el rendimiento del programa final.

Saludos

545  Media / Juegos y Consolas / Re: Battlefield Bad Company 2 - Jugar Multiplayer, como ? en: 21 Agosto 2010, 00:14 am
Efectivamente, es imposible. Por el momento no hay forma así que tendrás que esperar, a la larga obviamente se podrá por medios como Garena y demas.

Yo he optado por comprarlo, y te recomendaría que hagas lo mismo, te puedo asegurar que no te vas a arrepentir.
546  Programación / Programación C/C++ / Re: [C]Calcular pi en: 20 Agosto 2010, 23:42 pm
En realidad el especificador register no es mas que una "sugerencia", en todo caso es el compilador el que decide si hacer caso o no a esa "sugerencia".

En otras épocas se utilizaba, pero en la actualidad la complejidad subyacente es otra por tanto el compilador hace un mejor trabajo optimizando código que nosotros, por lo menos en la gran mayoría de los casos.

De hecho, Visual Studio ni siquiera acepta la sugerencia:

Citar
The compiler does not accept user requests for register variables; instead, it makes its own register choices when global register-allocation optimization (/Oe option) is on. However, all other semantics associated with the register keyword are honored.

y GCC lo ignora en caso que la dirección de la variable se solicite en cualquier punto del programa.

Saludos
547  Programación / Programación C/C++ / Re: [Source]Modificacion de procesos (libreria con utilidades) en: 20 Agosto 2010, 23:25 pm
En este caso, porque el programa esta siendo probado en una cuenta donde el proceso tiene los privilegios necesarios.

Como bien dijiste cada proceso tiene un contexto, un propio espacio de direcciones, ahora eso no implica que nunca puedas acceder a la memoria de otro proceso. En este caso funciona por lo antes mencionado, pero en la mayoría de los casos como mínimo necesitas obtener privilegios de depuración para que OpenProcess con PROCESS_ALL_ACCESS no falle.

Igualmente formas hay muchas, un ejemplo básico por ejemplo seria inyectar código para ejecutarte en el contexto del proceso que necesitas acceder. Lo primordial es tener en claro como funcionan los derechos de acceso y los atributos de seguridad de cada proceso.

Saludos
548  Informática / Hardware / Re: Caso extraño: PC no apaga D: en: 20 Agosto 2010, 22:39 pm
Citar
Pero si lo que le pasa es que el pc no se apaga ¿? Tu respuesta me hace pensar que has entendido justo lo contrario ¿o no?

Si, el PC no se apaga, eso fue lo que entendí. Los motivos para que eso suceda son los que mencione  ;D



A mi todas las veces que me ha pasado esto fue por problemas con la fuente, pero me paso hace 2 días con un procesador que tenia el cooler flojo (70 grados en el inicio  ;-)).
Igualmente también podrían ser fallos internos en el mother, digamos que ese modelo en especifico no se caracteriza por su durabilidad.

Si tenes ganas también podes utilizar algún soft como Sandra para hacer trabajar un poco el PC y mientras ir monitoreando temperaturas, eso simplemente para que veas si algun componente levanta temperatura demasiado o si se te congela el PC. Seria redundante ya que esta claro que el problema es de hardware pero a lo mejor sacas algun dato interesante.

Si te podes conseguir una fuente para probar te vas a ahorrar mucho tiempo, una de 400w+ como mínimo. Si la que tenes ahora no es de marca, seria muy normal que este tonteando, mas si ya tiene un buen tiempo de uso.

Saludos
549  Programación / Programación C/C++ / Re: ¿Que le está pasando a este Programa? [C++] en: 20 Agosto 2010, 09:20 am
Igualmente los beneficios de utilizar la STL no pasan solamente por la abstracción de código. En gran parte de los casos se obtiene una mejora de rendimiento notable (sobre todo en grandes volúmenes de datos) y una mayor estabilidad.

En cuanto al código inicial, no se si has decidido implementar un vector de strings por algún motivo en particular u solo por probar, pero no creo que sea la mejor forma ya que estas usando un vector de cadenas para manipular una sola cadena.

Para resolver el error lo mejor que podes hacer es depurarlo, a simple vista el error no se ve, he incluso lo he probado con unas 200 cadenas y no me ha dado ningún error. Por el mensaje que te da cuando falla, el error claramente es en el manejo de memoria dinámica, así que con esos datos podes empezar a depurar.

En cuanto a la STL, bueno, con 3 lineas podes hacer algo como:

Código
  1. for(;;;)//La condicion que gustes.
  2. {
  3. rotate(str.begin(),str.end()-1,str.end());//#include <algorithm>
  4. cout<<a;
  5. system("cls");//Si ya estas usando WINAPI, tenes varias formas de limpiar la pantalla y te ahorras la llamada a system.
  6. }

Saludos
550  Informática / Hardware / Re: Caso extraño: PC no apaga D: en: 20 Agosto 2010, 08:21 am
Chequeaste temperaturas? lo primero que se me ocurre es que la temperatura del procesador esta por las nubes. Revisa todas las temperaturas pero principalmente revisa la del procesador, si esta alta procura cambiar la pasta térmica.
La temperatura del procesador la puedes ver desde el BIOS, ya que de esa forma el dato es mas certero, pero no apenas inicias el PC, si no luego de utilizarlo algunos minutos.

Si las temperaturas están bien, lo segundo seria revisar las memorias, memtest toda una noche a ver si se producen errores. Lo ideal es dejar correr el test unas cuantas horas, pero si hay demasiados errores posiblemente aparezcan rápido.

Si las memorias están bien, o bien la fuente no da lo que tiene que dar, o el mother esta fallando. Podes probar quitarle la pila un tiempo y volver a intentar a ver si el error continua, en lo posible iniciando solamente con los dispositivos indispensables conectados.

Prueba eso y nos cuentas.

Saludos
Páginas: 1 ... 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [55] 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 ... 122
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines