bueno sere preve en este post, les quiero invitar a visitar mi otro blog
www.sistemasweb.com.ve alli conseguiran la misma informacion proporcionada aqui, les invito a visitar el foro y postear.
Pablo
Publicado por pabloacastillo en Mayo 16, 2009
bueno sere preve en este post, les quiero invitar a visitar mi otro blog
www.sistemasweb.com.ve alli conseguiran la misma informacion proporcionada aqui, les invito a visitar el foro y postear.
Pablo
Publicado en 1 | Deja un Comentario »
Publicado por pabloacastillo en Marzo 22, 2008
Gregory R. Panakkal público hace bastante tiempo el código fuente de una aplicación que puedes compilar en Visual C++ >7 y obtiene la clave del MSN que queda almacenada en tu pc cuando tildas la opción “guardar contraseña” cuando vas a hacer login.
Tambien es posible hacer otras cosas, claro hay que ser bien malo y mal intencionado para hacerlo y además tener el tiempo…
posteo el código. SOURCE CODE
/**
** Windows Live Messenger v8.0 Password Finder for Windows XP & 2003
** (Compiled-VC++ 6.0 SP6, tested on WinXP SP2, Windows Live Messenger
8.0.0812.00)
** – Gregory R. Panakkal
** http://www.crapware.tk/
** http://www.infogreg.com/
**/
#define WIN32_LEAN_AND_MEAN
#include “stdafx.h”
#include “windows.h”
#include “stdio.h”
#include “tchar.h”
//Following definitions taken from wincred.h
//[available only in Oct 2002 MS Platform SDK / LCC-Win32 Includes]
typedef struct _CREDENTIAL_ATTRIBUTEA {
LPSTR Keyword;
DWORD Flags;
DWORD ValueSize;
LPBYTE Value;
}
CREDENTIAL_ATTRIBUTEA,*PCREDENTIAL_ATTRIBUTEA;
typedef struct _CREDENTIALA {
DWORD Flags;
DWORD Type;
LPSTR TargetName;
LPSTR Comment;
FILETIME LastWritten;
DWORD CredentialBlobSize;
LPBYTE CredentialBlob;
DWORD Persist;
DWORD AttributeCount;
PCREDENTIAL_ATTRIBUTEA Attributes;
LPSTR TargetAlias;
LPSTR UserName;
} CREDENTIALA,*PCREDENTIALA;
typedef CREDENTIALA CREDENTIAL;
typedef PCREDENTIALA PCREDENTIAL;
////////////////////////////////////////////////////////////////////
typedef BOOL (WINAPI *typeCredEnumerate)(LPCTSTR, DWORD, DWORD *,
PCREDENTIAL **);
typedef VOID (WINAPI *typeCredFree)(PVOID);
typeCredEnumerate pfCredEnumerate = NULL;
typeCredFree pfCredFree = NULL;
////////////////////////////////////////////////////////////////////
void showBanner()
{
_tprintf(_T(”Windows Live Messenger Password Finder for Windows XP & 2003\n”));
_tprintf(_T(” – Gregory R. Panakkal, http://www.infogreg.com\n\n”));
}
////////////////////////////////////////////////////////////////////
int main()
{
PCREDENTIAL *CredentialCollection = NULL;
HMODULE hAdvapi32DLL = NULL;
DWORD dwCount = 0;
DWORD dwTempIndex = 0;
BOOL bOK = FALSE;
showBanner();
do
{
hAdvapi32DLL = LoadLibrary(_T(”advapi32.dll”));
if(NULL == hAdvapi32DLL)
{
_tprintf(_T(”Error loading advapi32.dll\n”));
break;
}
#ifdef _UNICODE
pfCredEnumerate =
(typeCredEnumerate)GetProcAddress(hAdvapi32DLL,”CredEnumerateW”);
#else
pfCredEnumerate = (typeCredEnumerate)GetProcAddress(hAdvapi32DLL,”CredEnumerateA”);
#endif
pfCredFree = (typeCredFree)GetProcAddress(hAdvapi32DLL,”CredFree”);
if( pfCredEnumerate == NULL||
pfCredFree == NULL )
{
_tprintf(_T(”Error loading Cred APIs\n”));
break;
}
//Get an array of ‘credential’, satisfying the filter
bOK = pfCredEnumerate(_T(”WindowsLive:name=*”),0,&dwCount,&CredentialCollection);
if(FALSE == bOK)
{
_tprintf(_T(”Error enumerating credentials\n”));
break;
}
for(dwTempIndex=0; dwTempIndex
{
_tprintf(_T(“Username : %s\n”),CredentialCollection[dwTempIndex]->UserName);
_tprintf(_T(”Password : %s\n\n”),CredentialCollection[dwTempIndex]->CredentialBlob);
}
//Free credential collection
pfCredFree(CredentialCollection);
} while(false);
//Free lib
if(NULL != hAdvapi32DLL)
{
FreeLibrary(hAdvapi32DLL);
}
return TRUE;
}
Publicado en 1, ASP.NET, C#, News, Noticias, Personal, Reverse Engineering, Technology, Tecnología, dotnet, tutoriales | Deja un Comentario »
Publicado por pabloacastillo en Marzo 3, 2008
Continuamos con la parte III de este tutor!
Vamos a crear un stored procedure que inserte en la base de datos los datos de los usuarios. Usaremos el Visual Studio 2008 para ello, en la pantalla de nuestro dataset agregamos un query:

Una vez ya realizado eso aparecerá una pantalla como esta:

Creamos el nuevo procedimiento almacenado:

Al hacer clic en Next le damos clic al botón Query Builder.

Ojo eso lo tenemos que hacer nosotros, tampoco es tan automatico.
Le damos clic en OK.

Le ponemos nombre InsertarUsuario

Next, next y luego finish. Se acabo el proceso y luego observamos nuestro query creado.

Observen que el tableadapter se llama rrhhTableAdapter.
Ahora nos vamos a la capa de negocio y creamos nuestra función:
Importante agregar el tableadapter en la capa intermedia:

Ahora observemos el código, pues desde la capa solo insertaremos pero sin hacer validaciones ya que solo nos interesa saber como comunicarnos entre las capas (por lo menos en este tutor)

Ojo le agregamos lo sombreado a nuestra clase ya que no es un namespace todavía.

Ojo observen que la declaración de la clase rrhh va afuera de la clase bll, olvide cambiar eso ya aquí sale cambiado:

Ahora en nuestro WebForm agregamos el namespace bll y llamamos a nuestra función:

Y ya tenemos una comunicación entre las capas, pero aun le faltan los detalles de validación y depuración, así que si compilan verán que funciona bien inserta y todo pero si colocan los parámetros de fecha y solo cadenas string.
Si introducen otro tipo de valor arrojara un error faltan las validaciones.
Continuaremos con esos detalles en la parte IV de este tutorial.
Gracias por leerme.
Pablo
http://www.sistemasweb.com.ve/pablo
Publicado en 1, ASP.NET, C#, Technology, dotnet, tutoriales | 5 Comentarios »
Publicado por pabloacastillo en Febrero 27, 2008
Publicado en 1, Technology | Deja un Comentario »
Publicado por pabloacastillo en Febrero 27, 2008
Ayer estaba en mi pc y observe que sin tener nada abierto tenía mucha RAM consumida y bueno luego de ver que procesos consumían recursos observe el dep, asi que decidi desactivarlo haciendo lo siguiente ejecutándolo como administrador.
Me metí en el símbolo del sistema.

Y teniendo ya la pantallita negra escribi:
bcdedit.exe /set {current} nx AlwaysOff
Tal cual y arroja un mensaje que dice que listo y tal, luego reinicias la pc y notarás una mejora en el rendimiento de tu pc, pero un riesgo enorme de seguridad. Yo lo desactivo porque no conecto mucho el laptop a internet ni abro cosas en el, ni le inserto pendrives ajenos, solo programo son el.
Además también lo desactive en mi pc desktop porque el juego dungeon siege 2 no se ejecutaba (ni se ejecuta) asi que ando viendo que le hago para poder correrlo en vista.
Publicado en 1, Technology, tutoriales | Deja un Comentario »
Publicado por pabloacastillo en Febrero 27, 2008
Hoy luego de llegar muy cansado del trabajo decidí escribir la parte dos de este tutorial que espero se extienda lo más posible hasta que la gente que no tiene idea (así como estaba yo ß) los aprenda a hacer y sin leer los miles de tutores que existen que explican explican y explican y uno queda en lo mismo :S.
Primero repasaremos:
Cuantos niveles a emplear???? UNO porque lo hago en mi laptop todo jeje.
Ahora comencemos, mi propuesta es hacer una aplicación que realice lo siguiente:
“Se desea una aplicación que actualice los datos de los empleados, los empleados ingresen sus datos y den la opción de actualizarlos con la idea de tener los datos de RRHH al día etc etc etc….”
Lo primero que vamos a diseñar es nuestra base de datos BIEN SENCILLA porque nuestro tutor consiste en aprender las capas y tener la idea de cómo hacerlo e implementarlo con nuestros proyectos.
Los campos de nuestra única tabla son
| Documento de identidad. |
| Número de carnet. |
| Fecha de nacimiento. |
| Nombres y apellidos. |
Entonces nos vamos al sqlserver y creamos manualmente la tablita.

A la tabla le puse como nombre RRHH…!
Ahora al Visual Studio 2008, creamos un proyecto web , seleccionamos framework 3.5 y C#, cuando ya tengamos el proyecto creado agregamos una carpeta App_code que es donde crearemos nuestra DAL (capa de datos) y BLL (capa de negocio o intermedia).

Para la BLL agregamos un archivo de clases de C# y lo llamamos bll.cs

Esa clase bll.cs tendrá el siguiente código pero si lo compilas te dará error porque aún le falta:
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
///
<summary>
/// Summary description for bll
///
</summary>
public class bll
{
public bll()
{
//
// TODO: Add constructor logic here
//
}
public sealed class RRHH
{
public RRHH()
{
//
}
public static int insertar(datos dt)
{
int Valor;
return Valor;
}
}
}
Luego crearemos otro archivo de clases y le colocaremos la siguiente declaración:
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
///
<summary>
/// Summary description for factory
///
</summary>
public struct datos
{
public string documento;
public string carnet;
public DateTime fechanac;
public string nombres;
}
Ya veremos el para que de esto
…!
Ahora procederemos a crear nuestra DAL.
Agregaremos a nuestro proyecto un dataset con nombre rrhh.xsd

Una vez ya agregado veremos el archivo creado en nuestra carpeta App_code

Ahora crearemos un tableadapter para acceder a nuestra base de datos. Para ello haremos clic derecho en
La pantalla anterior y se mostrará un menú desplegable.

Ahora se mostrará un wizard de conexión, cuando lleguemos a la pantalla siguiente:

Le diremos create “new stored procedures”
Ahora clic en Query Builder

Ahora en la pantalla de colocar los querys.

Una vez dado al botón de NExt aparecerá otra pantalla para colocar los nombres de los querys, yo les voy a poner nombres descriptivos.
Ahora le damos next next finish hasta que finalize el asistente y veamos algo asi.

Luego continuaré con la parte III siendo sincero estoy un poco cansado y necesito descansar. Prometo terminar esta semana es decir continuar con la construcción de la capa DAL y BLL que son bien sencillas.
Pablo.
No olviden visitar mi otro blog: www.sistemasweb.com.ve/pablo
Publicado en 1, ASP.NET, C#, Technology, dotnet, tutoriales | Deja un Comentario »
Publicado por pabloacastillo en Febrero 23, 2008
A veces cuando codificamos nuestros programas nos encontramos con que nombres le colocaremos a nuestras variables, label’s, textbox’s y demás, nosotros como programadores siempre elegimos la notación húngara para hacer esto;
Un label: lblNombreEstudiante
Un TextBox: txtNombre
Sin embargo, el documento de patrones y prácticas de .NET nos indica que NO usemos notación húngara en nuestros programas, la razón que entendí al leer el documento tenía que ver con algo al compilar el programa y el framework (dieron una explicación técnica de los nombres que se generan automáticamente y algo similar que no llegue a comprender bien)
Ellos recomiendan Pascal y Camel para la notación.
| • | Utilice sustantivos, sintagmas nominales o abreviaturas de nombres al asignar nombres a campos estáticos. |
| • | Utilice el estilo de Mayúsculas y minúsculas Pascal. |
| • | No utilice un prefijo de notación húngara en nombres de campos estáticos. |
| • | Se recomienda utilizar propiedades estáticas en lugar de campos estáticos públicos cada vez que sea posible. |
Publicado en 1, ASP.NET, C#, Technology, dotnet, tutoriales | Deja un Comentario »
Publicado por pabloacastillo en Febrero 22, 2008
Yo siempre dije que cuando aprendiera a usar las capas bien escribiría un tutor, pero la cuestión que siempre he estado muy ocupado entonces no pude, pero voy a empezar con la primera parte explicando lo básico pero sin indicar muchos detalles técnicos para evitar que personas que se están iniciando en esto lo puedan comprender muy bien y usando la facilidad del Visual Studio 2008. La programación por capas en teoría consiste en lo siguiente:
Publicado en 1, ASP.NET, C#, Technology, dotnet, tutoriales | Deja un Comentario »
Publicado por pabloacastillo en Abril 15, 2006
Por fin he logrado descargar desde MSDN mi Visual Studio y esto me llevo 3 días conectado a la internet
[imagen removida]
Publicado en Office 2007 | Deja un Comentario »