martes, 5 de julio de 2011

Lista de repositorios de Mails de Universidades Argentinas y algo mas.....

Holas haciendo un par de busquedas eh encontrado los siguientes repositorios de mails que a mas de alguno le pueden llegar a ser útiles:

http://listas.unam.edu.ar/pipermail/sensores/ Universidad Nacional de Misiones
http://listas.unam.edu.ar/cgi-bin/mailman/listinfo

http://listas.filo.uba.ar/cgi-bin/mailman/listinfo Facultad de Filosofía y Letras de la Universidad de Buenos Aires
http://listas.filo.uba.ar/cgi-bin/mailman/listinfo

http://listas.fi.uba.ar/pipermail/ Facultad de Ingenieria de la Universidad de Buenos Aires

https://listas.uns.edu.ar/pipermail/ Universidad Nacional del Sur
https://listas.uns.edu.ar/mailman/listinfo/


http://listas.uncoma.edu.ar/pipermail/ Universidad Nacional del Comahue
https://webmail.crub.uncoma.edu.ar/pipermail/ Centro Regional Universitario Bariloche - Universidad Nacional del Comahue

http://mrtg.unt.edu.ar/pipermail/ Universidad Nacional de Tucumán
http://listas.fceia.unr.edu.ar/pipermail/ Universidad Nacional de Rosario
http://listas.unnoba.edu.ar/pipermail/ Universidad Nacional del Nordeste de Bs AS
http://hum.unne.edu.ar/pipermail/ Universidad Nacional del Nordeste
http://noc.uncu.edu.ar/pipermail/ Universidad Nacional de Cuyo
http://mailman.fsoc.uba.ar/pipermail/ Facultad de Cencias Sociales - Universidad de BS AS

http://listas.fcq.unc.edu.ar/cgi-bin/mailman/listinfo Facultad de Ciencias Químicas - Córdoba Argentina
http://listas.fcq.unc.edu.ar/pipermail/

https://www.fcaglp.unlp.edu.ar/pipermail/ Facultad de Ciencias Astronómicas y Geofísicas
Universidad Nacional de La Plata



http://listas.ute.org.ar/pipermail/ Unión de Trabajadores de la Educación


http://listas.msal.gov.ar/pipermail/ Ministerio de Salud de la Nacion
http://listas.cultura.gov.ar/pipermail/ Secretaria de Cultura

ftp://ftp.mincyt.gov.ar/ Ministerio de ciencia, Tecnología e Innovación Productiva

http://www.concejomdp.gov.ar/cgi-bin/mailman/listinfo Concejo Deliberante de General Pueyrredon
http://www.concejomdp.gov.ar/pipermail/

http://www.madryn.gov.ar/pipermail/ Sitio Oficial de Puerto Madryn


Apuntes y demas Balseiro :
2010 - http://mail.ib.cnea.gov.ar/


http://www.lifia.info.unlp.edu.ar/~casco/ Laboratorio de investigacion y formacion en informática avanzada

Saludos!!!!

martes, 29 de diciembre de 2009

Obtener musica y videos de paginas con reproductores multimedia hechos en flash

Holas hace mucho que no posteo asi que hoy me decidi compartir
algo que si bien no es un gran hallazgo les puede servir a mas de uno para descargarse un par de archivos de musica o video de cualquier pagina.
Bueno como ya saben hay muchas paginas que venden videos y musica, en las cuales puedes escuchar el tema pero si lo quieres descargar tienes que pagar o simplemente no te dan la opcion de descargarlo, por ejemplo una pagina que frecuento mucho es www.peliculasid.com pero como tiene mucha publicidad por alli esas publicidades hacen ruido y la peli no se puede escuchar bien .... o sea medio molesto, bueno basandome en esta pagina voy a tratar de explicar como bajarse la peli a la compu sin tener que verla obligadamente desde esa pagina llena de publicidad jeje.
Como todos saben un reproductor para reproducir algo necesita la ruta del archivo o la ruta de la lista de reproduccion (playlist) bueno en el 90% de los casos para los rep, hechos en flash se usan playlist en formato xml o sea solo basta con abrir la pagina y ver su codigo, como no siempre es asi no se confien buscando ".xml" aunque la mayoria de las veces acierta, pero no siempre, ya que a veces es un archivo solo y se linkea directamente el archivo en si y no por medio de playlist. En fin aca vamos por ejemplo busco en mi pagina la pelicula "Avatar" , la cual se divide en cuatro partes.
El link seria: http://www.peliculasid.com/peliculas/avatar.html
bueno ahi vemos el reproductor donde tiene al costado la lista de reproduccion que dice latino1, latino2, latino3, latino4.

Aqui lo que hacemos es click con el boton derecho del mouse y selecionamos "Ver codigo fuente" automaticamente se abre el bloc de notas con todo el codigo de la pagina, alli buscamos hasta llegar a el siguiente codigo:



aqui vemos la direccion de el reproductor en si que es:

http://www.imagenesid.com/mediaplayer.swf

y la de la playlist que es:

http://www.imagenesid.com/pid/xmls/avatar.xml

como ven no es tan dificil y si quisieramos usar ese reproductor en nu8estro blog o pagina solo tendriamos que copiar el bloque y pegarlo en modo html y configurar la playlist a gusto jeje, se supone que la playlist hay que descargarla y subirla en algun host para que el reproductor la pueda leer, en fin como esto no va al caso sigo con lo que queria explicar, tomamos la direccion de la playlist y la pegamos en la barra de direcciones y le damos enter, nos va a aparecer una pagina con un codigo asi:



el codigo comp0leto son cuatro partes, yo solo pegue dos, pero alli encontrarán la direccion real de cada fragmento de la pelicula, el primer fragmento como ven es:
http://d4.ac-videos.myspacecdn.com/videos02/123/vid_da4093a987624bbd83e07bbfee7ac16b.flv

basta con copiar esa direccion y pegarla en la barra de direcciones y dar enter para que empieze la descarga.
En el caso de que la peli sea solo un archivo en donde esta el codigo que da la direccion de la playlist:
file=http://www.imagenesid.com/pid/xmls/avatar.xml
en vez de ver el nombre de archivo con extension .xml veran el link al video directamente o sea algo asi:

file=http://d4.ac-videos.myspacecdn.com/videos02/123/vid_da4093a987624bbd83e07bbfee7ac16b.flv

solo copiar el link y descargarlo ja.
Este metodo lo eh usado con infinidad de paginas, inclusive de paginas que cobran para descargar su musica o videos, ya que la mayoria te reproduce una muestra del origin al y en un 80% esa muestra son una fraccion de el tema o video, lo cual extrae del original solo que no lo reproduce completo, pero si descargas la mayoria de las veces sera el tema o el video completo. bueno espero les sirva.
Suerteeeee, y Feliz Año Nuevo.




    sábado, 6 de junio de 2009

    Despedida de Fravia, traducida por google y un poquito por mi. (Un poco trade pero en fin...). - Adios a un grande

    Bueno, por lo que todas las curas que tuve que sufrir durante casi dos años: dos añoscompletos y los ciclos de quimioterapia muy debilitantes, 4 operaciones, muchas biopsias, incontables exploraciones de PET y MRIS, meses pasados dentro de una clínica de ... no funcionó.
    La metástasis se escapó de la garganta: mi profesor neerlandés lograron detener todo pero no el tumor del hígado, y mi hígado está implosionando. Por lo tanto,es una cuestión de semanas, no meses.
    Mis opciones restantes son para morir en una clínica, a morir en casa, o solicitar la eutanasia (el último, por supuesto, voy a hacer si surgen necesidades ... afortunadamente este es un país civilizado y no posee pensamientos religiosos secos -al menos por ahora- suficientes para anular mis derechos sólo para apaciguar y aplacar los supuestos deseos dudosos de "Godzilla").

    Voy a ir para casa: al parecer (de nuevo: esta "parece" ubicua ) voy a morir durante el sueño. Voy "sólo" a tenerlos más débiles (amarillentos, caramba: nada como un tumor terminal para ser realmente feo) hasta que un día no voy a despertar más. Si es así, bastante justo: usted va con un suave soplo en su último viaje, una experiencia que suele ser, por cierto, como único e irrepetible :-)

    De todos modos, si el universo y el tiempo son realmente infinito (me queda alguna duda), entonces la combinación casi "idéntica metempsicoticamente" de las neuronas se volverá a aparecer de nuevo en alguna parte, por ejemplo, en otra galaxia y otro planeta ... esperemos que con menos imbéciles.

    Más realista, lamento no tener el tiempo para acompañar a mis hijos cuando entran a la universidad pronto. Una parte de mí que vivo a través de ellos, sin embargo, y creo que no consiguen darles algun potente arma y paracaídas (véase más abajo) para preparar el feo momento que cualquier persona con un cerebro por encima de la berenjena puede ahora ver fácilmente en contra del horizonte: Las facultades que de nuestra sociedad "tan buena" han logrado provocar la pirámide más grande en la historia económica (FMI, 21/04/2009: pérdidas bancarias en EE.UU. casi 3 billones; total mundial de 4 billones las pérdidas bancarias .. . cacahuetes que no pequeña!) con todo el dinero que -ça va sans dire- pobres y esclavos se han de reparar y devolver!
    Como una ventaja adicional en la media de tiempo que también logró destruir irremediablemente-probablemente-la totalidad del ecosistema del planeta :-|

    Ahora, con el coral ensordecedor de sus corruptos políticos y medios de comunicación estática coribantes, la única solución que proponen todos los felices (perdiendo aún más por su propio bien cientos de miles de millones que en realidad le pertenece a usted), es poner en marcha nuevamente el mismo ciclo de moronic forzoso de crédito | forzado consum ... en lugar de cuestionar un modelo de desarrollo totalmente fracasado y que ya está ahora (y con razón) mordiendo todos en el culo.
    Pero por desgracia esto no es nada: me temo que las masacres, las guerras y los campos de concentración de las próximas décadas tendrá a nosotros recordar los horrores de la primera mitad del siglo XX con leve nostalgia. Nuestra "tan bonita y tan democrática" sociedad (donde hoy en día sólo soubrettes, el cuerpo de constructores, propietarios de medios de comunicación y "los más ricos en el estanque Bozo" tienden a ser elegidos por una población de esclavos felices y zombificados para correr como conejillos dentro de ruedas) están dirigidos a toda velocidad sobre una empinada pendiente resbaladiza hacia el abismo, donde se llevará a cabo-como de costumbre-a final como un salto mortal de tres y media vueltas invertido, entre los vivas! y viva! de sus medios de comunicación pagados, lacayos ... en voz alta ante las salpicaduras sobre el pavimento debajo de la realidad concreta.


    Dulce ~ ~

    Suficiente mensaje de castigo: para estar enojado, porque su muerte sólo sería infantil. Y, de hecho, ni siquiera estoy enfadado, simplemente analizo y canalizo en voz alta.
    De todos modos (aunque débiles) las armas para defenderse a sí mismo, están a la vista de los que, esparcidos en la web profunda, son nuestra insondable cornucopia de conocimientos.
    Lo más poderoso, en mi humilde opinión, es un buen conocimiento de la retórica (Nota 2)
    Especialmente eufemismos, que en la actualidad puede traicionar hasta una sarcastica historieta ... y la exégesis, y quizás también algunos escucharon (si es áspero y de fabricación casera) el "Reality Cracking".
    La poesía-y, más generalmente, una buena cultura general, son también muy útiles armaduras.
    Aprenda a encontrar buenos libros (ver más abajo para algunas sugerencias), usted necesita-al igual que en el medievo, los monjes hicieron una vez un tiempo-mientras que los bárbaros queman todo y todos a la vista fuera de los muros.
    Más en general, todas las ciencias nunca subestiman "en decadencia", que a menudo son muy poderosos re, consumir consumir y consumir ... perdiendo toda tu vida con el fin de poder comprar un coche un poco antes, de un color diferente.

    Otros dos son posibles paracaídas, saber utilizar técnicas de ingeniería inversa de software (cuyo papel en nuestras sociedades, y de sus pequeños, está obligado a aumentar de manera espectacular los intentos de censuras), y un sonido de más, de aprendizaje "de sólo una" lengua extranjera. Estos "paracaídas" podría permitir a muchos lectores (quizás) estar en los pies.
    Buena suerte de todos modos. Yo deseo todo lo mejor a cualquier persona con un cerebro.

    Sin embargo, mis más queridos asesoramiento a todos los amigos es la siguiente: aprender a disfrutar de su contingente actual, no se obsesione por el futuro. Carpe diem, disfrutar de lo actual y las emociones: un cielo estrellado, un nuevo viento, los depósitos a la orilla del mar, su amor a su lado en la noche, una larga charla en la noche de penumbra con un amigo, la sonrisa de sus hijos. * * Que sustituir con un TV o una pantalla de computadora-es una muy mala negociación ... que es una de las pocas cosas que ahora estoy bastante seguro .

    Adiós a todos mis lectores, un fuerte abrazo a los muchos amigos que hice en todo el mundo. Una gran experiencia para mí! Voy a continuar como lo que yo manejo, voy a intentar incluso celebrar una última charla en Colonia a finales de mayo, pero dudo que voy a manejar, de todos modos y pronto mis sitios no se actualizará más, a menos que mis amigos cuidará y elaboraran algún tipo de wiki / blog (y la vigilancia y las instalaciones correccionales) para permitir esto. Vamos a ver.
    Pero no se preocupe en lo más mínimo: si no aprenden a búsqueda encontrará otros buenos recursos de todos modos. Hay abundancia de todo, después de todo.
    Sí! Hay buena información en la web, aunque oculto y enterrado detrás o debajo de viscosa morasses de adornos inútiles, se desplazan las dunas de basura comercial y una increíble cantidad de contenido vacío y totalmente inútil "cebo" sitios de publicidad.
    Sin embargo, la estructura misma web se hizo para compartir, no para la acumulación y seguramente no para "vender", que nunca olvidará! Por lo tanto, los usuarios pueden tomar ventaja de este ... Un buen conocimiento de los principales protocolos de la Web, un buen navegador y nuestra confianza Wireshark y nadie va a detener de un poderoso buscador para encontrar lo que fantaseas :-)

    Concedido hay de hecho un montón de cosas sobre searchlores obsoletos, y-como ya se ha dicho-la-bizantino laberíntica estructura del sitio que se han racionalizado desde hace mucho tiempo.
    Sin embargo, aunque en parte obsoleto (pero rara vez es verdadero conocimiento obsoleto, ¿no?) He decidido dejar en línea todos los que se reunieron y ofrecieron a lo largo de muchos años como es, y en la medida en que permanecerá en la web, porque creo que aún hay una gran riqueza de conocimiento libre de la búsqueda aquí, a la espera de esos entre mis visitantes que estén interesados en aprender y dominar el difícil arte de dos búsquedas en la web y la inversión de todo lo que encuentran.

    Si-como dicen algunos-la gente de todo nuestro planeta hizo uso de aprender lo que ofrece, mi vida no se desperdicia: =)

    http://penelope.uchicago.edu/Thayer/E/Roman/Texts/Rhetorica_ad_Herennium/home.html

    jueves, 9 de abril de 2009

    De nuevo aqui con el brute

    Hola gente aqui dejo el brute force que habia posteado hace un tiempo, si bien no lo he mejorado mucho, algo le he cambiado... debido a mi falta de tiempo y un poco de vagancia ja... le he mejorado un poco al brute en si y le he agregado un port scanner.
    Bueno el port scanner esta mas o menos comentado, creo que ya sabran que es un escaneador de puertos... en fin andar anda ja, eh hecho las siguientes pruebas y me han dado resultados. Probe con mi router la velocidad de respuesta, aunque parezca ilogico fue mas lenta que la velocidad de respuesta del server de mi isp :S... eso no lo entiendo todavia... Probe con el server de mi isp.. o sea para probar con 1 salto (o sea mi router), y luego con un server de cti para probar con mas de un salto. En todos logre respuesta en algunos puertos dandome los siguientes resultados:

    Victima: Mi router
    Puertos abiertos: 23,21,80
    Respuesta:
    21 : login

    23 : Welcom to Vulcan ....

    80: sin respuesta (esta bloqueado por configuración)
    --------------------------------------------------------------
    Victima: ns1.riotel.com.ar

    Puertos abiertos:

    22 Respuesta: SSH-2.0-OpenSSH_3.6.1p2

    25 Respuesta: 220 smtp.riotel.com.ar ESMTP Postfix (Debian/GNU)

    53 Sin Respuesta

    80 no revise bien pero me dio sin respuesta a simple vista

    110 Respuesta: +OK Hello there.

    ------------------------------------------------------------
    Victima: claro.com.ar

    Puertos abiertos:
    21 y 80
    Respuesta:

    21: sin respuesta

    80: pagina web

    ------------------------------------------------------------

    En fin aca les dejo la descarga:


    martes, 17 de febrero de 2009

    Algunos articulos y manuales de algoritmica, programacion, compiladores y programación orientada a objetos

    Bueno aqui dejo algunos artículos y tutoriales que vi en un espacio:

















    Bueno esto son la introducción para aprender a programar, luego ire posteando lenguajes y un poco mas avanzados.

    domingo, 18 de enero de 2009

    Códigos anti debug para VB6


    Pues eso aca dejo algunos codigos antidebugging que se usar para mis aplicaciones:

    Para VB6:

    Debug.Print 1 / 0

    Esta sentencia genera una exepción de división por cero cuando la aplicación es debugueda.

    ____________________________________________________________________________


    Public Declare Function IsDebuggerPresent Lib "kernel32" () As Long
    Private Sub Form_Load()
    If IsDebuggerPresent Then
    ........
    End Sub

    Ejemplo de como detectar un debugger con la rutina de kernel32, IssDebuggerPresent

    ____________________________________________________________________________

    Public Declare Function OutputDebugStringA Lib "kernel32" (ByVal lpString As String) As Long

    Private Sub Form_Load()
    Dim AA As String
    Dim i As Integer

    For i = 1 To 200
    AA = AA & "%s"
    Next i

    MsgBox OutputDebugStringA(AA)
    End Sub

    Este code genera una exepción de desbordamiento de pila en algunos debuggers, mas específicamente el olly 1.10.Lo hace entrar en Deadlock
    ____________________________________________________________________________


    '---------------------------------------------------------------------------------------
    ' Module : mGetProcAddress
    ' DateTime : 06/10/2008 20:06
    ' Author : Cobein
    ' Mail : cobein27@hotmail.com
    ' WebPage : http://www.advancevb.com.ar
    ' Member of : http://hackhound.org/
    ' Purpose : GetProcAddress alternative function
    ' Usage : At your own risk
    ' Requirements: None
    ' Distribution: You can freely use this code in your own
    ' applications, but you may not reproduce
    ' or publish this code on any web site,
    ' online service, or distribute as source
    ' on any media without express permission.
    '
    ' Reference : Based on ExtremeCoder sample [http://www.rohitab.com/discuss/lofiversion/index.php/t30773.html]
    '
    ' History : 06/10/2008 First Cut....................................................
    ' 06/10/2008 Minor change in buffer size to increase speed................
    '---------------------------------------------------------------------------------------
    Option Explicit

    Private Declare Function LoadLibraryA Lib "kernel32" (ByVal lpLibFileName As String) As Long
    Private Declare Sub GetMem4 Lib "msvbvm60" (ByVal Addr As Long, RetVal As Long)
    Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
    Private Declare Function SysAllocString Lib "oleaut32.dll" (ByVal pOlechar As Long) As String

    Public Function GetProcAddressAlt(ByVal sLib As String, ByVal sMod As String) As Long
    Dim lLib As Long
    Dim i As Long

    lLib = LoadLibraryA(sLib)

    If Not lLib = 0 Then
    Dim dwNumberOfNames As Long
    Dim dwNamesOffset As Long
    Dim dwNameRVAs As Long
    Dim dwFuncOffset As Long
    Dim dwFuncRVAs As Long

    GetMem4 (lLib + &H3C), i
    GetMem4 (lLib + i + &H78), i

    GetMem4 (lLib + i + &H18), dwNumberOfNames
    GetMem4 (lLib + i + &H20), dwNamesOffset
    GetMem4 (lLib + i + &H1C), dwFuncOffset

    Dim sBuff As String * 128
    Dim sName As String

    For i = 0 To dwNumberOfNames - 1
    GetMem4 (lLib + dwNamesOffset + i * &H4), dwNameRVAs
    GetMem4 (lLib + dwFuncOffset + i * &H4), dwFuncRVAs

    sBuff = SysAllocString(lLib + dwNameRVAs)
    sName = Left$(sBuff, lstrlen(sBuff))

    If sName = sMod Then
    GetProcAddressAlt = lLib + dwFuncRVAs
    Exit Function
    End If
    Next
    End If

    End Function

    Este modulo sirve para buscar nombre de procesos tales como: ollydbg, snd, etc.
    Con el pueden saber si se ha cargado X programa, se puede mejorar el modulo para que detecte si la cadena ingresada se encuentra en una porción del modulo con el cual esta siendo comprobada, en ese caso detectaria algunas variantes de olly, ya que la mayoria agregan por ejemplo: Yoda's - olldbg. Entonces si comparamos con olly nos daría que son distintas pero si lo hacemos como si fuera un Like, o sea q sea igual o este contenida nos devolvería ese proceso sospechoso tbn.


    ____________________________________________________________________________
    Private Declare Function OutputDebugStringA Lib "kernel32" (ByVal lpString As String) As Long

    Private Sub Form_Load()
    If IsDebuggerActive Then
    MsgBox "Debugger Present"
    End If
    End Sub

    Private Function IsDebuggerActive() As Boolean
    IsDebuggerActive = Not (OutputDebugStringA("=)") = 1)
    End Function

    Otro ejemplo con OutputDebugStringA pero en este caso genera una exepción.

    ____________________________________________________________________________

    Option Explicit

    Private Declare Function CheckRemoteDebuggerPresent Lib "kernel32.dll" (ByVal hProcess As Long, fResult As Long) As Long

    Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
    Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

    Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF


    Private Sub Form_Load()

    Dim fResult As Long
    Dim hProcess As Long

    hProcess = OpenProcess(ByVal PROCESS_ALL_ACCESS, ByVal 0&, ByVal GetCurrentProcessId)
    Call CheckRemoteDebuggerPresent(hProcess, fResult)
    CloseHandle hProcess
    .........

    End Sub


    En este caso testeamos remotamente q nuestro programa no sea debuggeado, si es debuggeado fResult nos dara 1 como valor.
    ____________________________________________________________________________

    'IsDbgCrss
    Private Declare Function CsrGetProcessId Lib "ntdll.dll" () As Long
    Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

    '---------------------------------------------------------------------------------------
    ' Procedure : IsDbgCsrss
    ' Author : Karcrack
    ' Date : 30/12/2008
    ' Purpose : Check if our app is being debugged
    ' Usage : If IsDbgCrss = True Then MsgBox "I'm Debugged"
    ' Tested On : OllyDbg v2.0 ß
    ' Reference : http://www.piotrbania.com/all/articles/antid.txt
    '---------------------------------------------------------------------------------------
    '
    Public Function IsDbgCsrss() As Boolean
    IsDbgCsrss = CBool(OpenProcess(&H1F0FFF, 0, CsrGetProcessId)) '&H1F0FFF = PROCESS_ALL_ACCESS
    End Function

    Este codigo detecta si se esta debugueando nuestra aplicación.
    ____________________________________________________________________________


    Option Explicit

    Private Const ANYSIZE_ARRAY = 1
    Private Const TOKEN_ADJUST_PRIVILEGES = &H20
    Private Const TOKEN_QUERY = &H8
    Private Const SE_PRIVILEGE_ENABLED = &H2

    Private Type LUID
    LowPart As Long
    HighPart As Long
    End Type
    Private Type LUID_AND_ATTRIBUTES
    pLuid As LUID
    Attributes As Long
    End Type
    Private Type TOKEN_PRIVILEGES
    PrivilegeCount As Long
    Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES
    End Type


    Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
    Private Declare Function LookupPrivilegeValue Lib "advapi32" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLUID As LUID) As Long
    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
    Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long



    Public Const SE_DEBUG_NAME As String = "SeDebugPrivilege"


    Public Declare Function RtlSetProcessIsCritical Lib "ntdll.dll" (ByVal NewValue As Boolean, ByVal OldValue As Boolean, ByVal WinLogon As Boolean)

    Public Function ObtenerPrivilegios(ByVal privilegio As String) As Long

    Dim lpLUID As LUID
    Dim lpToken As TOKEN_PRIVILEGES
    Dim lpAntToken As TOKEN_PRIVILEGES
    Dim hToken As Long
    Dim hProcess As Long
    Dim res As Long

    hProcess = GetCurrentProcess()
    res = OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hToken)
    If res = 0 Then
    Exit Function
    End If
    res = LookupPrivilegeValue(vbNullString, privilegio, lpLUID)
    If res = 0 Then
    Exit Function
    End If
    With lpToken
    .PrivilegeCount = 1
    .Privileges(0).Attributes = SE_PRIVILEGE_ENABLED
    .Privileges(0).pLuid = lpLUID
    End With

    res = AdjustTokenPrivileges(hToken, False, lpToken, Len(lpToken), lpAntToken, Len(lpAntToken))
    If res = 0 Then
    Exit Function
    End If
    ObtenerPrivilegios = res
    End Function






    '*************************************************************************
    '*************************************************************************
    ' Uso de RtlSetProcessIsCritical para setear nuestro proceso, como proceso
    ' critico del sistema: del mismo modo que csrss.exe o winlogon
    ' XcryptOR - Made In Colombia
    '**************************************************************************
    '*************************************************************************
    Private Sub Form_Load()
    On Error Resume Next
    ObtenerPrivilegios SE_DEBUG_NAME ' obtiene privilegios de Debugeo
    Call RtlSetProcessIsCritical(0, 0, 1) ' setea nuestro proceso como Proceso Critico
    End Sub




    Bueno como dice el comentario para setear a nuestra aplicación privilegios.

    ____________________________________________________________________________



    Y por ultimo algunos trucos para dificultar un poco mas:



    App.TaskVisible = False

    App.Title = ""



    Saludos