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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: [1]
1  Seguridad Informática / Seguridad / ¿Qué clase de VPN usar? en: 27 Noviembre 2014, 22:19 pm
Para explicar mejor mi pregunta, me refiero a que si es mejor usar un servicio VPN de paga o en tu host local construyendo tu servidor con OpenVPN.
2  Programación / Ingeniería Inversa / ¿Cuál es la mejor forma de usar NASM? en: 29 Octubre 2014, 03:38 am
Estoy aprendiendo ensamblador con NASM (Netwide Assembler) bajo Linux, tengo como herramientas los compiladores gcc, g++ también el enlazador ld que es usado de manera interna por estos compiladores, también para hacer ingeniería inversa o disassembly utilizo bokken y objdump para leer las extensiones .o, .out.

Si se pudiese dar una explicación más exhaustiva de ¿Cuál es la mejor forma de usarlo?

Un ejemplo mediante la arquitectura IA-32 para hacer operaciones como de lectura y escritura se tienen dos alternativas:

  • System calls de linux.
  • Usar las funciones externas de C como printf, scanf.

Usando las system calls o llamadas del sistema sería:

Código
  1. section .data
  2.    msg: db "Coding in asm", 10, 0 ;define a string
  3.    smsg: equ msg                       ;length of msg
  4.  
  5. section .text
  6.   global _start:
  7.  
  8.   ;define a macro for print
  9.   %macro print 2
  10.        mov eax, 4       ;call to the O.S. for write
  11.        mov ebx, 1       ;file descriptor
  12.        mov ecx, %1    ;put the msg
  13.        mov edx, %2    ;put the length of msg
  14.        int 80h            ; generate one interruption
  15.  
  16.        mov eax, 1       ;call to the system out
  17.        mov ebx, 0       ;pass one parameter
  18.        int 80h
  19.   %endmacro
  20.  
  21.    _global:
  22.         print msg, smsg

Para generar el código objeto y ejecutarlo se usa los sisguientes comandos
nasm -f elf msg.asm
ld -m elf_i386 -s -o msg msg.o
./msg

Usando las funciones externas de C

Código
  1. section .data
  2.    msg: db "Coding in asm", 10, 0 ;define a string
  3.  
  4. section .text
  5.    extern printf ;include the printf function in asm program
  6.    global main
  7.  
  8.    main:
  9.        push ebp        
  10.        mov ebp, esp   ;pass the reference of reg esp to ebp
  11.        push msg
  12.        call printf        ;print the current element in the stack
  13.        mov esp, ebp
  14.        pop ebp          ;free the stack
  15.        ret

3  Seguridad Informática / Seguridad / ¿Qué es lo recomendable implementar para navegar de manera segura por internet? en: 12 Julio 2014, 00:24 am
Actualmente utilizo un servidor proxy squid con el firewall ip-tables, estoy viendo otras opciones,
¿Creen qué sea seguro?; en caso contrario que me recomiendan implementar.
4  Programación / Programación General / Duda sobre el patrón MVC en: 10 Junio 2014, 23:53 pm
Cuando programo generalmente implemento el patrón mvc, creando únicamente el modelo y el controlador como clases, ahora cuando yo uso el controlador instancio internamente el modelo con un patrón Singletoon, es recomendable hacer eso, por que una alternativa podría ser extender la clase del controlador con la del modelo, ¿Qué es más recomendable y por qué?, justifique su respuesta con argumentos válidos.

Muchas gracias, que tengan buena tarde.
5  Programación / Programación C/C++ / Operadores ->, ::, . en: 20 Mayo 2014, 05:22 am
La pregunta es la siguiente, ¿Cuándo puedo utilizar los operadores ->, :: o .?, ¿cual sería su uso correcto para una estructura (struct) o para una clase?.
6  Programación / Programación C/C++ / Memoría dinámica en: 19 Mayo 2014, 06:16 am
La memoria dinámica es aquella que se puede cambiar en tiempo de ejecución, el stdlib (la librería estándar de C++) nos permite usar funciones como malloc, calloc, realoc, free, ahora estoy estudiándolo para estructuras de datos que se ejecutan en la memoria dinámica, pero en C++ a diferencia de C, yo puedo usar el puntero inteligente (Smart pointer) new y delete como un free.

Ahora la cuestión es: Será mejor usar las funciones de la librería stl o los operadores new y delete.
Básicamente new puede trabajar con cualquier tipo de dato (Esto nos dice que trabaja con el tipo de dato void).
7  Seguridad Informática / Análisis y Diseño de Malware / VIrus con inteligencia artificial en: 25 Junio 2013, 17:06 pm
Mi pregunta es: ¿podría darse el caso de implantar inteligencia artificial en un virus de computadora?.
Si es así: ¿tendría la capacidad de aprender y evitar ser detectado, identificando vulnerabilidades y vectores de ataque?
8  Programación / Programación General / ¿Por qué son importantes las estructuras de datos? en: 21 Abril 2013, 05:10 am
Se que nos ayudan mucho en el manejo de datos, la construcción de compiladores modernos en un nivel patrón de diseño (Back-end y Front-end); en la construcción de parsers y lexers.

Pero mi argumento tácito es, el por qué son importantes, las Data Structs.
¿Qué otras aplicaciones se les puede dar?
9  Programación / Desarrollo Web / ¿por qué usar xml en vez de json? en: 8 Abril 2013, 06:19 am
Sabemos que son para utilizarse en el caso de xml con el estandar xmlHttpRequest, al igual que json me permite cargar contenido en un sitio de manera dinámica y sin necesidad de recargar la página web.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines