|
9782
|
Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Snippets !! (Posteen aquí sus snippets)
|
en: 3 Febrero 2013, 05:07 am
|
Calcular el hash MD5 de un archivo: #Region " Get MD5 Of File Function " ' [ Get MD5 Of File Function ] ' ' Examples : ' ' MsgBox(Get_MD5_Of_File("C:\Test.txt")) Private Function Get_MD5_Of_File (ByVal File As String) As String Using MD5_Reader As New System. IO. FileStream(File, IO. FileMode. Open, IO. FileAccess. Read) Using MD5 As New System.Security.Cryptography.MD5CryptoServiceProvider Dim MD5_Byte() As Byte = MD5.ComputeHash(MD5_Reader) Dim MD5_Hex As New System.Text.StringBuilder(MD5.ComputeHash(MD5_Reader).Length * 2) For Number As Integer = 0 To MD5_Byte.Length - 1 : MD5_Hex.Append(MD5_Byte(Number).ToString("X2")) : Next Return MD5_Hex.ToString().ToLower End Using End Using End Function #End Region
Calcular el hash MD5 de un string: #Region " Get MD5 Of String Function " ' [ Get MD5 Of String Function ] ' ' Examples : ' ' MsgBox(Get_MD5_Of_String("C:\Test.txt")) Private Function Get_MD5_Of_String(ByVal str As String) As String Dim MD5_Hex As String = Nothing Dim MD5 As New System.Security.Cryptography.MD5CryptoServiceProvider() Dim MD5_Byte = System.Text.Encoding.UTF8.GetBytes(str) Dim MD5_Hash = MD5.ComputeHash(MD5_Byte) MD5.Clear() For Number As Integer = 0 To MD5_Hash.Length - 1 : MD5_Hex &= MD5_Hash(Number).ToString("x").PadLeft(2, "0") : Next Return MD5_Hex End Function #End Region
Obtener la ID de la placa base: #Region " Get Motherboard ID Function " ' [ Get Motherboard ID Function ] ' ' Examples : ' ' Dim Motherboard_ID As String = Get_Motherboard_ID() ' MsgBox(Get_Motherboard_ID()) Private Function Get_Motherboard_ID() As String For Each Motherboard As Object In GetObject("WinMgmts:").InstancesOf("Win32_BaseBoard") : Return Motherboard.SerialNumber : Next Motherboard Return Nothing End Function #End Region
Obtener la ID del procesador: #Region " Get CPU ID Function " ' [ Get CPU ID Function ] ' ' Examples : ' ' Dim Processor_ID As String = Get_Motherboard_ID() ' MsgBox(Get_CPU_ID()) Private Function Get_CPU_ID() As String For Each CPU_ID As Object In GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery("Select * from Win32_Processor") : Return CPU_ID.ProcessorId : Next CPU_ID Return Nothing End Function #End Region
|
|
|
9783
|
Programación / Programación General / Re: crear ejecutable que detecte modificaciones de archivos?
|
en: 3 Febrero 2013, 04:51 am
|
7.- gracias por tomarte el tiempo de leer, espero que me puedas ayudar Hombre, yo más que nada sólo he añadido comentarios a la respuesta del usuario engelx, que es quien te ha dado la idea de que calcules el MD5 de el/los archivo(s)... creo que esa ya es toda la ayuda posible que necesitas xD, sácale el MD5, sinó sabes como hacerlo, te dejo un snippet para VB.NET: #Region " Get MD5 Of File Function " ' [ Get MD5 Of File Function ] ' ' Examples : ' ' MsgBox(Get_MD5_Of_File("C:\Test.txt")) Private Function Get_MD5_Of_File (ByVal File As String) As String Using MD5_Reader As New System. IO. FileStream(File, IO. FileMode. Open, IO. FileAccess. Read) Using MD5 As New System.Security.Cryptography.MD5CryptoServiceProvider Dim MD5_Byte() As Byte = MD5.ComputeHash(MD5_Reader) Dim MD5_Hex As New System.Text.StringBuilder(MD5.ComputeHash(MD5_Reader).Length * 2) For Number As Integer = 0 To MD5_Byte.Length - 1 : MD5_Hex.Append(MD5_Byte(Number).ToString("X2")) : Next Return MD5_Hex.ToString().ToLower End Using End Using End Function #End Region
Saludos.
|
|
|
9784
|
Programación / .NET (C#, VB.NET, ASP) / Re: Necesito anclar mi APP ?
|
en: 3 Febrero 2013, 03:04 am
|
Imagino que con el número de serie de la BIOS será más que suficiente... wmic.exe BASEBOARD get serialnumber
http://www.vb-helper.com/howto_net_get_cpu_serial_number_id.htmlhttp://social.msdn.microsoft.com/forums/en-US/Vsexpressvb/thread/f393708f-d7e3-4aa3-a624-7e8c6662f343/O tambien puedes crear tu propia GUID como indican aquí (El code está en C#): http://stackoverflow.com/questions/3823394/how-to-get-unique-identifier-of-systemNo creo que haya nada más efectivo... pero no soy un experto en el tema. PD: Ahora, que algo incrackeable no creo que lo consigas, porque ni los de Sony ni los de Adobe pueden... xD. Saludos. Edito: quizás esto te sirva... son los códigos de arriba pero los he simplificado. El número de serie de la placa base se puede modificar, pero yo creo que como protección standard está muy bien... ya si quieres puedes obtener todos los serials del hardware pc para mayor seguridad X'D
Obtener la ID de la placa base: #Region " Get Motherboard ID Function " ' [ Get Motherboard ID Function ] ' ' Examples : ' ' Dim Motherboard_ID As String = Get_Motherboard_ID() ' MsgBox(Get_Motherboard_ID()) Private Function Get_Motherboard_ID() As String For Each Motherboard As Object In GetObject("WinMgmts:").InstancesOf("Win32_BaseBoard") : Return Motherboard.SerialNumber : Next Motherboard Return Nothing End Function #End Region
Obtener la ID del procesador: #Region " Get CPU ID Function " ' [ Get CPU ID Function ] ' ' Examples : ' ' Dim Processor_ID As String = Get_Motherboard_ID() ' MsgBox(Get_CPU_ID()) Private Function Get_CPU_ID() As String For Each CPU_ID As Object In GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery("Select * from Win32_Processor") : Return CPU_ID.ProcessorId : Next CPU_ID Return Nothing End Function #End Region
|
|
|
9786
|
Programación / Scripting / Re: [RUBY] script para loguearse en una web e ir a una url
|
en: 2 Febrero 2013, 15:27 pm
|
Bienvenido al foro e-pepillo, pero hay unas reglas que seguir... no está permitido revivir posts antiguos para hacer preguntas, lo correcto es que crees un nuevo post para formular tu pregunta, y debes usar el botón "Insertar código" para postear codes.
Yo no sé mucho de programación web, en php no puedo ayudarte.
Tema cerrado.
|
|
|
9787
|
Programación / Programación General / Re: crear ejecutable que detecte modificaciones de archivos?
|
en: 2 Febrero 2013, 08:11 am
|
1. El juego se llama Grand Theft Auto - San andras.
2. Lo que tu comentas es una modificación del juego (no un juego en sí, porque para ejecutarlo se necesita disponer del San Andreas, por eso se llama "MOD"), y el nombre oficial de la modificación es "San Andreas Multiplayer", su acortación es "SA:MP".
3. La modificación existe desde el año 2005, no desde el 2007 como comentaste.
4. Ya existen MUCHOS anticheats para esa mod, y mejores que lo que tú puedas llegar a hacer, sin ánimo de ofender, pero es que no eres el primero que ha tenido la idea (Han pasado 9 años desde su lanzamiento... es más que lógico).
Bien, habiendo aclarado esos puntos (los cuales era trabajo tuyo aclararlos para que alguien pudiera comprender mejor tu problema, pero bueno...) seguiré comentando acerca del problema:
Como en todos los juegos, existen varias versiones oficiales del juego (v1.0, v1.1, v1.2, etc) aparte de actualizaciones, y como en cada versión del juego, existe un executable principal para esa versíon y distintas versiones de los archivos que esos cheats modifiquen...
En definitiva, como tampoco has querido aclararnos que archivos son los que se modifican, no te puedo decir más, pero si fuesen archivos que fuesen distintos para cada versión del GTA SA, eso significa tamaños diferentes, y eso significaría que necesitas calcular el MD5 de cada archivo que los cheats modifiquen, de cada versión oficial del juego, porque sinó, vaya chapuza sería, sólo le iría el anticheat a quien disponga de tu "KPS-RIP".
Todo esto asumiendo cosas que no sé, porque no has explicado.
Saludos, y suerte con eso.
|
|
|
9788
|
Programación / .NET (C#, VB.NET, ASP) / ¿Como monitorizar unidades de dispositivos PENDRIVE?
|
en: 1 Febrero 2013, 23:44 pm
|
Bueno, llevo tiempo intentando hacer una aplicación para monitorizar pendrives (en modo oculto) y copiar todos los datos A OTRO PENDRIVESólo tengo hecha un poco la interfaz y cuatro tonterías más. PD: Es un WPF, por si tiene importancia.  Para avanzar en la aplicación, necesito información sobre: - como monitorizar las unidades que se conectan al PC (Tando su inserción como su extracción)
- saber si el mismo método de monitorización serviría para Win XP / VISTA / 7 (si se tuviera que monitorizar con APIs...)
- como saber si la unidad conectada se trata de un pendrive
- como obtener la letra del pendrive conectado, la etiqueta (nombre/label), entre otros datos útiles que se puedan obtener sobre el dispositivo conectado.
PD: Imagino que para lo penúltimo y último podría usar WMI, ¿NO?, no sé si quizás habrá algo más sencillo/rápido/eficaz... Y por último, para este proyecto necesito una ayudita en este post: Como aplicar cambios al registro y refrescar el sistema sin tener que reiniciar?Gracias por leer.
|
|
|
9789
|
Programación / .NET (C#, VB.NET, ASP) / [APORTE] Filmen (versión ALPHA sin terminar)
|
en: 1 Febrero 2013, 23:05 pm
|
By Elektro H@ckerEsta aplicación es un organizador de películas, se distingue de entre otros organizadores por sus opciones particulares y digamos "avanzadas", tiene pocas opciones porque son las únicas que necesito yo, así de claro xD, aunque no me importaría añadir alguna opción más si alguien me sugiere alguna y me pareciera interesante y útil. Bueno, aunque en las imagenes ponga "versión 1.0", lo cierto es que es una versión alpha y no está acabada, pero llevo 2 meses con este proyecto y creo que ya va siendo hora de compartirlo, porque hay muchas cosas por mejorar tanto en el diseño como en la estructura dle código, y alguna función por acabar (como la de lanzar un script), pero no hay errores por arreglar (al menos ningún arreglo de un fallo grave), es un programa "usable" aunque no esté acabado todavía, así que lo empiezo a compartir para que testeen y la prueben con gusto, y cuando avanze bastante más con la APP ya actualizaré el post... Acepto ideas o sugerencias, consejos, críticas constructivas (pero tengan en cuenta que la APP no está acabada...), bugs, y lo que séa será bien recibido! Gracias por leer. PD: Y gracias en especial a Kubox por las enseñanzas que me dió para poder hacer esta aplicación. Descarga: http://ElektroStudios.tk/Filmen.rar
Imagenes:    
Y para los programadores más exquisitos, aquí dejo la versión de la aplicación que tenia hecha en Batch xD (es lo que me motivó a hacer la APP  ): @Echo OFF Title Film Organizer v2.0 REM by Elektro H@cker Mode con cols=90 lines=50 chcp 1252 >NUL color 07
:: ########################### :: ### Film Organizer v2.0 ### :: ########################### :: :: FASES: :: :: 1. Elimina los atributos de los archivos. :: (oculto, sistema, solo lectura, indizado, almacenamiento) :: :: 2. Genera listas de reproducción. :: :: 3. Busca pistas de audio AC-3, DTS, y WAV. :: :: 4. Busca videos con multipistas de audio. :: :: 5. Elimina los metadatos de los videos.
SET "VIDEOS=F:\Videos" SET "DOCUMENTALES=F:\Videos\Documentales" SET "PELIS_REAL=F:\Videos\Películas\Acción real" SET "PELIS_ANIM=F:\Videos\Películas\Animación" SET "SERIES=F:\Videos\Series" SET "SERIES_REAL=F:\Videos\Series\Acción real" SET "SERIES_ANIM=F:\Videos\Series\Animación"
Set "FORMATS=*.avi;*.divx;*.flv;*.mkv;*.mp4;*.mpg;*.mpeg;*.ogm;*.wmv"
Set "APPS=Colous.exe DetectDuplicates.exe MediaInfo.exe NirCMD.exe"
:::::::::::::::::::::: :: :: :: FASE 0 :: :: :: :: COMPROBACIONES :: ::::::::::::::::::::::
:COMPROBACIONES :::::::::::::::
CALL :LOGO "0" "COMPROBACIONES"
Echo+ Echo+ Echo: [+] Comprobando carpetas ... | MORE | MORE
(For /R %%a in (*) do (call set /A "FILM_FILES_TOTAL+=1"))
PUSHD "%DOCUMENTALES%" || (Call :ERROR_FOLDER "%DOCUMENTALES%") For /D %%a in (*) do (call set /A "SUBFOLDER_FILM_TOTAL+=1") Colous writesec "[10]OK[7] %DOCUMENTALES%"
PUSHD "%PELIS_REAL%" || (Call :ERROR_FOLDER "%PELIS_REAL%") For /D %%a in (*) do (call set /A "SUBFOLDER_FILM_TOTAL+=1") Colous writesec "[10]OK[7] %PELIS_REAL%"
PUSHD "%PELIS_ANIM%" || (Call :ERROR_FOLDER "%PELIS_ANIM%") For /D %%a in (*) do (call set /A "SUBFOLDER_FILM_TOTAL+=1") Colous writesec "[10]OK[7] %PELIS_ANIM%"
PUSHD "%SERIES%" || (Call :ERROR_FOLDER "%SERIES%") For /D %%a in (*) do (call set /A "SUBFOLDER_FILM_SERIES_TOTAL+=1") Colous writesec "[10]OK[7] %SERIES%"
PUSHD "%SERIES_REAL%" || (Call :ERROR_FOLDER "%SERIES_REAL%") For /D %%a in (*) do (call set /A "SUBFOLDER_FILM_TOTAL+=1") Colous writesec "[10]OK[7] %SERIES_REAL%"
PUSHD "%SERIES_ANIM%" || (Call :ERROR_FOLDER "%SERIES_ANIM%") For /D %%a in (*) do (call set /A "SUBFOLDER_FILM_TOTAL+=1") Colous writesec "[10]OK[7] %SERIES_ANIM%"
Echo+ Echo+ Echo: [+] Comprobando aplicaciones ... | MORE | MORE FOR %%A IN (%APPS%) DO ( If not exist "%WINDIR%\System32\%%A" ( Colous writesec "[12] ERROR CRITICO" Echo. Colous writesec "[7] No se encuentra la aplicacion: [14]%*" Echo. | MORE Colous writesec "[8] Presione una tecla para salir del programa..." Pause >nul Exit ) ELSE ( Colous writesec "[10]OK[7] %%A" ) ) CALL :OK
:::::::::::::::::::::: :: :: :: FASE 1 :: :: :: :: ATRIBUTOS :: ::::::::::::::::::::::
:ATRIBUTOS ::::::::::
CALL :LOGO "1" "ATRIBUTOS" Echo: [+] Eliminando los atributos de los archivos ... | MORE | MORE Echo: Porfavor, espere... | MORE PUSHD "%VIDEOS%" || (Call :ERROR_FOLDER "%VIDEOS%") For /D %%a in (*) do ( Call Colous Writesec "[7][10]OK[7] %%a" Echo+ attrib -A -R -S -H -I /S "%%a\*.*" >nul ) attrib +H /S "*.ico" >nul attrib +H -R /S "*.ini" >nul CALL :OK
:::::::::::::::: :: :: :: FASE 2 :: :: :: ::::::::::::::::
:Playlist :::::::::
CALL :LOGO "2" "PLAYLISTS" Set /A "FOLDER_COUNT=0" Echo: [+] Generando listas de reproduccion ... | MORE | MORE
PUSHD "%SERIES%" || (Call :ERROR_FOLDER "%SERIES%")
For /D %%a in (*) do ( Call Set /A "FOLDER_COUNT+=1" Call Colous Writesec "[2] (%%FOLDER_COUNT%% de %%SUBFOLDER_FILM_SERIES_TOTAL%%): [7]%%a" PUSHD "%%a" Echo+ For /F "Tokens=*" %%a in ('Dir /B /AD') Do ( Call Colous Writesec "[6] %%a" PUSHD "%%a" if /I exist "*Temporada" ( For /F "Tokens=*" %%z in ('Dir /B /AD') Do ( Echo #EXTM3U>".\%%z\_%%a %%z.m3u" For /F "Tokens=*" %%j in ('dir /B /A-D-H ".\%%z\" ^| find /V /i ".m3u"') Do (Echo .\%%j>> ".\%%z\_%%a %%z.m3u") REM Start /B cmd /C "".\%%z\_%%a %%z.m3u"" ) ) ELSE ( Echo #EXTM3U>"_%%a TODO.m3u" For /F "Tokens=*" %%x in ('dir /B /A-D-H ^| find /V /i ".m3u"') Do (Echo .\%%x>>"_%%a TODO.m3u") REM Start /B cmd /C ""_%%a TODO.m3u"" ) POPD ) POPD Echo+
) CALL :OK
:::::::::::::::: :: :: :: FASE 3 :: :: :: ::::::::::::::::
:AC3 ::::
CALL :LOGO "3" "AC-3, DTS, WAV" Set /A "FOLDER_COUNT=0" Echo: [+] Buscando pistas AC-3, DTS y WAV ... | MORE | MORE PUSHD "%VIDEOS%" || (Call :ERROR_FOLDER "%VIDEOS%") DEL /Q "%TEMP%\pista_ac3_dts_wav.txt" >NUL 2>&1
For /R %%_ in (%FORMATS%) do ( Call Set /A "FOLDER_COUNT+=1" Mediainfo "%%_" | FIND /I /V "Movie name" | FINDSTR /I "AC-3 DTS WAV" >NUL && Mediainfo "%%_" >> "%TEMP%\pista_ac3_dts_wav.txt" && ( Call Colous Writesec "[12] (%%FOLDER_COUNT%% de %%FILM_FILES_TOTAL%%): [6] %%~nx_" ) || (Call Colous Writesec "[2] (%%FOLDER_COUNT%% de %%FILM_FILES_TOTAL%%): [7]%%~nx_") )
If exist "%TEMP%\pista_ac3_dts_wav.txt" (start /B notepad "%TEMP%\pista_ac3_dts_wav.txt") CALL :OK
:::::::::::::::: :: :: :: FASE 4 :: :: :: ::::::::::::::::
:MULTIPISTA :::::::::::
CALL :LOGO "4" "BUSCANDO MULTIPISTAS" Set /A "FOLDER_COUNT=0" Echo: [+] Buscando multipistas ... | MORE | MORE PUSHD "%VIDEOS%" || (Call :ERROR_FOLDER "%VIDEOS%") Del /Q "%TEMP%\multipista.txt" 2>NUL
For /R %%_ in (%FORMATS%) do ( Call Set /A "FOLDER_COUNT+=1" For /F "tokens=*" %%@ in ('mediainfo "%%_" ^| findstr /I "^Audio$" ^| FIND /C /V ""') DO ( IF NOT "%%@" EQU "1" ( Call Colous Writesec "[12] (%%FOLDER_COUNT%% de %%FILM_FILES_TOTAL%%): [6] %%~nx_" Mediainfo "%%_" >> "%TEMP%\multipista.txt" ) ELSE ( Call Colous Writesec "[2] (%%FOLDER_COUNT%% de %%FILM_FILES_TOTAL%%): [7]%%~nx_" ) ) )
If exist "%TEMP%\multipista.txt" (start /B notepad "%TEMP%\multipista.txt") CALL :OK
:::::::::::::::: :: :: :: FASE 5 :: :: :: ::::::::::::::::
:METADATOS ::::::::::
CALL :LOGO "5" "BUSCANDO METADATOS" Set /A "FOLDER_COUNT=0" Echo: [+] Buscando metadatos ... | MORE Echo (INAM^) (title^) | MORE | MORE PUSHD "%VIDEOS%" || (Call :ERROR_FOLDER "%VIDEOS%") RD /Q "%TEMP%\Converted FILMS" >NUL 2>&1
For /R %%# in (%FORMATS%) do ( Call Set /A "FOLDER_COUNT+=1" ffmpeg -y -i "%%#" -f ffmetadata "%TEMP%\%%~nx#_metadata.txt" >NUL 2>&1 Type "%TEMP%\%%~nx#_metadata.txt" | FINDSTR /I "^INAM ^title" >NUL && ( Call Colous Writesec "[12] (%%FOLDER_COUNT%% de %%FILM_FILES_TOTAL%%): [6]%%~nx#" Echo TAGS encontrados... Echo Convirtiendo el archivo... | MORE MKDIR "%TEMP%\Converted FILMS\%%~p#" >NUL 2>&1 start /W CMD /K "ffmpeg -y -i "%%#" -c copy -map_metadata -1 "%TEMP%\%%~nx#" && EXIT || (Echo ERROR CONVIRTIENDO EL ARCHIVO! & PAUSE&EXIT)" MOVE /Y "%TEMP%\%%~nx#" "%TEMP%\Converted FILMS\%%~p#" >NUL ) || (Call Colous Writesec "[2] (%%FOLDER_COUNT%% de %%FILM_FILES_TOTAL%%): [7]%%~nx#") Del /Q "%TEMP%\%%~nx#_metadata.txt" >NUL 2>&1 )
IF exist "%TEMP%\Converted FILMS" (start /B explorer "%TEMP%\Converted FILMS") CALL :OK
:::::::::::::::: :: :: :: FIN :: :: :: ::::::::::::::::
:FIN ::::
TITLE Film Organizer v2.0 [FINAL] CLS Echo+ | MORE Colous writesec "[8] ###########################" Colous writesec "[8] ## ##" Colous writesec "[8] ## [14] Film Organizer v2.0 [8]##" Colous writesec "[8] ## ##" Colous writesec "[8] ###########################" Echo+ | MORE Colous writesec "[7] Organizacion completada." Echo+ | MORE Colous writesec "[8] Presione una tecla para salir del programa..." pause >nul exit
:LOGO CLS TITLE Film Organizer v2.0 [FASE %~1 de 5] [%~2] Echo+ | MORE Colous writesec "[8] ########################### ##############" Colous writesec "[8] ## ## ## ##" Colous writesec "[8] ## [14] Film Organizer v2.0 [8]## FASE %~1 " Colous writesec "[8] ## ## ## ##" Colous writesec "[8] ########################### ##############" Colous writesec "[8] %~2" Echo+ | MORE nircmd wait 1000 GOTO:EOF
:OK Echo+ | MORE Colous writesec "[10] OK !!" Echo+ TIMEOUT /T 3 GOTO:EOF
|
|
|
|
|
|
|