WINTXCODERS Terminal
[visitante@wintxcoders-pc ~]:$ Bienvenido a la comunidad
Recuerda que puedes participar en nuestra comunidad registrándote

Manual #1 | Un poco de programación.

Iniciado por PAYASAKX, Enero 11, 2015, 04:39:14 PM

« anterior - próximo »

PAYASAKX

Maestro

  • Desconectado

  • #1 | Un poco de programación.


    Índice
    1. Algoritmos                                                                                                       2.1 Componentes del diagrama de flujo
    1.1 Estructura del Algoritmo                                                                                2.2 Aplicación
    1.2 Variables                                                                                                        3. Lenguajes de Programación
    1.3 Operadores Aritméticos, Lógicos y Relacionales                                            3.1 Interpretados


    Todo buen hacker debe tener, por lo menos, algunos conocimientos de programación. De lo contrario, no se le valorará más que como un script kiddie, incapaz de crear sus propios escáneres y encontrar sus propios exploits. Debemos ser conscientes de que los métodos aplicados para la seguridad no cesan de evolucionar, y que se hace cada vez más difícil encontrar buenas herramientas en Internet. Nuestro propósito no es el de transformarte en un experto en programación, sino el de enseñar las técnicas y lenguajes de programación más utilizados, para que puedas adaptar tus proyectos a cualquier situación. Este tema abordará por encima cuestiones como los algoritmos, y hará una introducción a los lenguajes de programación más utilizados.

    1. Algoritmos
    El algoritmo se puede definir de diversas formas. Se puede entender como una receta genérica, que puede utilizarse en la creación de cualquier programa, en cualquier lenguaje. Cuenta con una serie de operaciones elementales que deben estar interrelacionadas. Estudiaremos aquí, pues, la estructura básica de los algoritmos, así como sus componentes y organización.

    1.1 Estructura del Algoritmo
    Los algoritmos presentan una estructura básica, con el fin de que no haya confusión en caso de que sea necesario cambiar algo:
    Citar
    AlgoritmoNombre del algoritmo creado
    VariableÁrea para la declaración de las variables
    ProcedimientosDeclaración de los procedimientos utilizados
    FuncionesDeclaración de las funciones utilizadas
    InicioCuerpo del Algoritmo
    FinConclusión del algoritmo

    1.2 Variables
    Son las unidades de almacenamiento de información para un algoritmo. Existen diversos formatos, especialmente concebidos para funciones específicas:
    Citar
    Entero: cualquier número entero, negativo, nulo o positivo.
    Real: cualquier número real, negativo, nulo o positivo.
    Carácter: cualquier conjunto de caracteres alfanuméricos.
    Lógico: tipo especial de variable que almacena sólo los valores V y F, donde
    V representa VERDADERO, y F, FALSO.

    Las variables tienen que ser declaradas en el inicio, para que los programas puedan interpretarlas. Para ese fin vamos a utilizar la siguiente notación: nombre : formato.

    1.3 Operadores Aritméticos, Lógicos y Relacionales.
    Durante la ejecución de un programa, los valores de muchas variables se van a ir modificando, en función de los operadores:
    Citar
    Aritméticos
    + = Suma
    - = Resta
    * = Multiplicación
    / = División

    Cociente = Cociente de división de enteros

    Resto = Resto de división de enteros

    EXP(a,b) = Potencia ab

    Operadores relacionales
    = - igual
    1 - diferente
    < - menor
    > - mayor
    £ - menor o igual
    3 - mayor o igual
    Operadores lógicos
    y – y lógico, o conjunción
    o – o lógico, o disyunción
    no – negación

    1.4 Comandos de entrada y salida y de control de flujo Entrada y Salida.
    Son los comandos responsables de transmitir la información entre la máquina y los medios externos, como impresoras y monitores, y presentan la siguiente estructura:
    Citar
    Entrada de datos
    Lee (variable1, variable2...)

    Salida de datos
    Imprime (variable1, variable2...)

    Control de flujo

    Son los pasos que se deben seguir para solucionar los problemas planteados
    por el programador. Los comandos de control de flujo se organizan de la siguiente manera: secuencia, selección y repetición.

    Secuencia – Son ejecutados exactamente en el orden descrito por el programador.

    Inicio
    Comando 1
    ...
    Comando n
    Fin


    Selección– Son utilizados en la toma de decisiones, una vez creadas las condiciones.

    Si (Expresión Lógica)
    Entonces hacer Instrucción 1
    Repetición – Utilizados para repetir un conjunto de acciones
    Mientras (Expresión Lógica) hacer Instrucción
    Para valor inicial hasta valor final hacer Instrucción
    Repita
    Instrucción
    Hasta (Expresión Lógica)

    1.5 Proyección de un Algoritmo.
    Un algoritmo surge a partir de un problema. Debemos analizar el problema, y crear una situación en la que la solución sea posible de forma lógica. Partamos de una situación frecuente, como el cambio de un neumático pinchado.

    Cambiando el neumático:
    Si el neumático estuviera pinchado, entonces hacer:
    – Abrir el maletero
    – Sacar la rueda de repuesto
    – Sacar las herramientas
    – Aflojar las tuercas con la llave
    – Levantar el coche
    – Sacar las tuercas
    – Cambiar la rueda
    – Apretar las tuercas
    – Guardar las herramientas y la rueda sustituida

    1.6 Consideraciones sobre los Algoritmos.
    Los algoritmos pueden estructurarse de diversas formas. Esto depende básicamente de la experiencia de cada cual. El ejemplo anterior del cambio de un neumático podría escribirse de diversas formas, pero manteniendo el mismo enfoque inicial. Otro factor importante que influye en su creación es el patrón impuesto por las empresas, ya que cada una tiene sus métodos para el manejo de la documentación. Al hacker siempre le resultaría interesante descubrir estos métodos, ya que pueden proporcionarle una valiosa información. Concluimos aquí nuestra sección sobre algoritmos. Obviamente, el tema desborda estás líneas, pero hemos decidido tratar el tema superficialmente para no apartarnos del propósito central del libro, que es el universo hacker.

    2. Diafragmas de Flujo.
    Básicamente, el diagrama de flujo es la representación gráfica de un algoritmo, utilizada para la comprensión del control del flujo. Tiene varios elementos que representan, desde la una de datos, hasta las acciones que serán ejecutadas. Es una herramienta indispensable para la visualización de procesos, como veremos a continuación.

    2. Componentes del diafragmas de Flujo.
    El diagrama de flujo se integra por varios elementos, y cada uno de ellos representa una función dentro del algoritmo. Aquí sólo abordaremos la simbología básica:

    La utilización del diagrama de flujo nos permite comprender cuáles serán los caminos que seguirá el programa, dependiendo de las condiciones impuestas por quien lo ha concebido. Su visualización permite la corrección de errores, así como mostrar los medios de optimización del programa. A continuación veremos el diagrama de flujo del siguiente problema:
    Seleccione un número y muestre la palabra
    "OK" si este número es superior a 10.

    3. Lenguajes de Programación.
    La existencia de diversos lenguajes de programación no es ninguna novedad para los hackers. El problema está en seleccionar uno de ellos, dependiendo de lo que quieras hacer. A pesar de las semejanzas en su desarrollo, algunos poseen recursos propios, como una mejor adaptación para determinado tipo de entorno, o rutinas más apropiadas para el programador. La plataforma más utilizada para la producción de los programas utilizados por los hackers es Unix, ya que su eficiencia, y la posibilidad de contar con más recursos la hacen perfecta para la ejecución de los programas más variopintos. Ciertos lenguajes, como PHP y Perl, eran exclusivos de Unix, pero con el tiempo Windows también
    ha ganado espacio y han aparecido herramientas que permiten el desarrollo de esos lenguajes, en ese ambiente. A continuación estudiaremos algunos de los más populares lenguajes de programación, clasificados en compilados o interpretados.
    La principal diferencia entre ambos tipos consiste en que, con el primero, hace falta la utilización de un compilador para que el ordenador sea capaz de ejecutar las tareas deseadas, mientras que el segundo puede ser escrito en un archivo de texto común (script), ya que su interpretación no requiere ningún tipo de traducción intermedia para que la máquina lo entienda (por eso son ideales para dar tus primeros pasos en el mundo del código fuente).

    3.1 Interpretados.
    Lenguajes interpretados son los que no necesitan ser compilados, pues son interpretados directamente como fueron escritos.


    Manual #1 | Un poco de programación.
    Este es el primer manual sobre esto, bien completo, pronto subiré Manual #2 Con más información y prácticas sobre programación.

    ToChucky

    Visitante

  • Desconectado

  • AlexIniva

    Visitante

  • Desconectado
  • alguien podría facilitar manual en español? O es mucho pedir? Sino pues en english pero que fuera específico y no de varios modelos como el que e visto por ahí, gracias y un saludo.

    Enviado desde mi D6503 mediante Tapatalk

    Hysst

    Colaborador

  • Desconectado
  • You are not allowed to view links. Register or Login
    alguien podría facilitar manual en español? O es mucho pedir? Sino pues en english pero que fuera específico y no de varios modelos como el que e visto por ahí, gracias y un saludo.

    Enviado desde mi D6503 mediante Tapatalk
    Para entender un poco como funciona la programación te recomendaría primero algo más visual como un curso, aquí te recomiendo uno gratuito: You are not allowed to view links. Register or Login