Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-ley 13/2012. Si continúa navegando consideramos que acepta el uso de cookies.

Aceptar Más información
WINTXCODERS Terminal
[[email protected] ~]:$ Bienvenido a la comunidad
Recuerda que puedes participar en nuestra comunidad registrándote

Autor Tema:  Manual #1 | Un poco de programación.  (Leído 579 veces)

0 Usuarios y 1 Visitante están viendo este tema.

PAYASAKX

  • Moderador Global
  • Desconectado
  • *
  • 461
    279
    12
  • Texto personal
    KNOWLEDGE is FREE.
Manual #1 | Un poco de programación.
« en: Enero 11, 2015, 04:39:14 pm »

#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

Re:Manual #1 | Un poco de programación.
« Respuesta #1 en: Marzo 23, 2021, 05:02:05 pm »
Gracias.

 

Powered by Advanced Topic Prefix Pro