jueves, 4 de septiembre de 2008

Wallpaper

CHenry

Veremos aquí, como con un simple programa podremos cambiar el fondo de pantalla de nuestro sistema.

Archivos relacionados

WallPaper.zip

Continuar leyendo

miércoles, 3 de septiembre de 2008

Respuesta al Ejercicio BH 64

José Enrique

He aquí la respuesta que en contró José Enrique para el ejercicio que se publicó en la edición #64.

Archivos relacionados

Respuesta BH 64.zip

Continuar leyendo

martes, 2 de septiembre de 2008

Ejercicio BH 66

Halle todos los números de dos cifras que cumplen las siguientes propiedades:
  • Las cifras de las decenas deben ser 3 unidades menor que las de las unidades.
  • Si ese número se le sustrae al número que se obtiene de invertir sus cifras se obtiene 27.
  • El número debe ser par.

Continuar leyendo

lunes, 1 de septiembre de 2008

Arreglando el registro de Windows

DR3X [lanleyva@infomed.sld.cu]

Cree un archivo .bat ycopie el código a continuación:

echo "Para limpiar el registro de posibles virus"

echo "Eliminar registro de archivos infectados"
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\msconfig.exe" /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\regedit.exe" /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\regedt32.exe" /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\cmd.exe" /f
echo "Reactivar la protección del firewall y protección"
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List" /v C:\WINDOWS\lsass.exe /f
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List" /v C:\WINDOWS\lsass.exe /f
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl002\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List" /v C:\WINDOWS\lsass.exe /f

Echo habilitar farchivos ocultos
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden /t REG_DWORD /d "00000001" /f

Echo mostrar carpetas y archivos del sistema operativo
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSuperHidden /t REG_DWORD /d "00000001" /f

Echo habilitar el taskmanager
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskmgr /t REG_DWORD /d "00000000" /f

Echo habilitar el editor del registro
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /t REG_DWORD /d "00000000" /f

Echo habilitar opciones de carpeta
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoFolderOptions /t REG_DWORD /d "00000000" /f

Echo ver las extensiones de los archivos
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v HideFileExt /t REG_DWORD /d "00000000" /f

Echo habilitar la consola (MS-DOS).
REG add HKCU\Software\Policies\Microsoft\Windows\System /v DisableCMD /t REG_DWORD /d "00000000" /f

Continuar leyendo

jueves, 28 de agosto de 2008

Plasma

h0aX [blackhat4all@gmail.com]

Hoy propongo un código para simular efecto plasma dinámicamente con instrucciones matemáticas. No se equieren recursos adicionales o dependencias a archivos de imagenes externos. Podrás encontrar una demostración de la utilización de la clase CPlasma en el archivo relacionado, al final de este artículo.

[Hagamos algo de arte en nuestro monitor]

//CPlasma.h
/****************************************************************************
**
** $Nombre: CPlasma
**
** $Autor: h0aX
**
** $Fecha: 24/agosto/2008
**
** $Descripción: Módulo para generación de texturas dinámicas
** con reproducción de efecto plasma. Este código
** está basado en uno de los demos de Jan Horn (http://www.sulaco.co.za)
**
****************************************************************************/

#ifndef CPlasmaH
#define CPlasmaH

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <glaux.h>
#include <math.h>

typedef struct
{
  BYTE R;
  BYTE G;
  BYTE B;
}
CPixel;

class CPlasma
{
  private:
    GLuint PlasmaTex;
    char *Plasma;
    int Sr[8];
    int Sc[8];
    int sinHalfTable[512];
    int sinOneTable[512];
    int sinTwoTable[512];
    int sinFourTable[512];
    GLuint CreateTexture(int Width, int Height, GLvoid *pData);
  
  public:
    CPlasma();
    ~CPlasma();
    void UpdateTexture();
};

#endif

//CPlasma.cpp
#include "CPlasma.h"

GLuint CPlasma::CreateTexture(int Width, int Height, GLvoid *pData)
{
  GLuint Texture;

  if (NULL == pData)
  {
    MessageBox(NULL, "Error creando texturas", "Plasma Module", MB_ICONERROR);
    return 0;
  }

  glGenTextures(1, &Texture);
  glBindTexture(GL_TEXTURE_2D, Texture);
  glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  glTexImage2D(GL_TEXTURE_2D, 0, 3, Width, Height, 0, GL_RGB, GL_UNSIGNED_BYTE, pData);

  return Texture;
}

void CPlasma::UpdateTexture()
{
  WORD x[4], xCount[4], y[4], yCount[4];
  int i, j, c;
  CPixel *Pixel;

  for (c=0; c<4; c++)
    y[c] = Sr[c+4];

  for (c=0; c<4; c++)
  {
    xCount[c] = Sc[c];
    yCount[c] = Sc[c+4];
  }

  for (i=0; i<64; i++)
  {
    for (c=0; c<4; c++)
      x[c] = Sr[c];
    for (c=0; c<4; c++)
    {
      xCount[c] = (Sc[c] + i*2) % 512;
      yCount[c] = (Sc[c+4] + i*2) % 512;
    }

    for (j=0; j<64; j++)
    {
      Pixel = (CPixel *)(Plasma + (3*(i*64 + j)));
      Pixel->R=((sinHalfTable[x[0]]+sinOneTable[x[1]]+sinTwoTable[x[2]]+sinFourTable[x[3]])+(sinHalfTable[y[0]]+sinOneTable[y[1]]+sinTwoTable[y[2]]+sinFourTable[y[3]]))>>3;       Pixel->G=((sinHalfTable[x[2]]+sinOneTable[x[3]]+sinTwoTable[x[0]]+sinFourTable[x[1]])+(sinHalfTable[y[2]]+sinOneTable[y[3]]+sinTwoTable[y[0]]+sinFourTable[y[1]]))>>3;
      Pixel->B=((sinHalfTable[x[3]]+sinOneTable[x[0]]+sinTwoTable[x[1]]+sinFourTable[x[2]])+(sinHalfTable[y[1]]+sinOneTable[y[2]]+sinTwoTable[y[3]]+sinFourTable[y[0]]))>>3;
      for (c=0; c<4; c++)
      {
        x[c] = ((x[c] + (sinTwoTable[xCount[c]])/32 -4 + 512)) % 512;
        xCount[c] = (xCount[c] + 2) % 512;
      }
    }

    for (c=0; c<4; c++)
      y[c] = (y[c] + (sinOneTable[yCount[c]])/32 -4 + 512) % 512;
  }

  for (c=0; c<8; c++)
  {
    Sr[c] = (Sr[c] + (sinTwoTable[Sc[c]])/32 -4 + 512) % 512;
    Sc[c] = (Sc[c] + 2) % 512;
  }

  glTexImage2D(GL_TEXTURE_2D, 0, 3, 64, 64, 0, GL_RGB, GL_UNSIGNED_BYTE, Plasma);
}

CPlasma::CPlasma()
{
  GLfloat temp;
  Plasma = new char[64*64*3];
  memset(Plasma, 255, 64*64*3);
  PlasmaTex = CreateTexture(64, 64, Plasma);
  UpdateTexture();

  for (int i=0; i<8; i++)
  {
    Sr[i] = random(256);
    Sc[i] = Sr[i];
  }

  for (int i=0; i<512; i++)
  {
    temp = 4 * M_PI * i / 512;
    sinHalfTable[i] = (sin(temp/2)*128 + 128);
    sinOneTable[i] = (sin(temp )*128 + 128);
    sinTwoTable[i] = (sin(temp*2)*128 + 128);
    sinFourTable[i] = (sin(temp*4)*128 + 128);
  }
}

CPlasma::~CPlasma()
{
  delete[] Plasma;
}

Archivos relacionados

Plasma.zip

Continuar leyendo

miércoles, 27 de agosto de 2008

Autorun

JKS [jksware@gmail.com]

Se encuentra tras este link, un programa que ayudará a crear esos archivos autoejecutables que a veces tanta falta nos hacen para... bueno, para usarlos, xD

Archivos relacionados

Autorun.zip

Continuar leyendo

martes, 26 de agosto de 2008

Huffman

CHenry [chenry@lab.matcom.uh.cu]

Si de métodos de compreción se trata, entonces sin lugar a duda Huffman tiene ganado ya amplio terreno en este aspecto.

Archivos relacionados

Huffman.zip

 

Continuar leyendo