Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#4321
.NET (C#, VB.NET, ASP) / Re: Recortar caracteres
23 Octubre 2015, 10:56 AM
Entiendo lo que pretendes decir pero tecnica o estrictamente hablando usar comas o punto y comas es indiferente ya que ambos se consideran un delimitador de campos, por ende ambos entrarían dentro de lo que se conoce como "formato", en las especificaciones del formato.



De todas formas no llegariamos a nada con este debate por que si bien es cierto que no hay un estándar global... para mi es una cosa y para ti otra cosa o variación distinta xD. Dejemoslo en que ambos tenemos parte de razón.

Fuente:
Comma-separated values - Wikipedia

Saludos!
#4322
Cita de: elqueteconte en 19 Octubre 2015, 16:33 PMme está dando este error:
An unhandled exception of type 'System.IO.IOException' occurred in mscorlib.dll

Additional information: The process cannot access the file 'C:\Users\liderapp\Documents\Scripts\Octubre2015\CM.TXT' because it is being used by another process.
Eso sucede justo aqui:

File.AppendAllText(Path.Combine(topDir.FullName, curFilename), sr.ReadToEnd, Encoding.Default)


Cuando ya ha hecho el barrido de todas las carpetas.

Cita de: elqueteconte en 19 Octubre 2015, 16:33 PMSe debe a que el archivo ya está abierto y entonces al intentar abrirlo de nuevo da el error?

Exactamente se debe a eso que has deducido. El archivo "...\topdir\xxx.txt" se procesa de forma inesperada en la iteración, es decir, se abre el archivo en modo lectura pero se intentan guardar/adjuntar datos en modo escritura. Esto sucede por que como escribí el código al vuelo cometí un pequeño fallo en esta linea:
Citar
Código (vbnet) [Seleccionar]
...
For Each txtfile As FileInfo In topDir.GetFiles("*.txt", SearchOption.AllDirectories)
...

Modifica topDir por subDir

Lo siento por ese pequeño descuido. Con esa amodificación ya debería funcionarte como es esperado.




Cita de: elqueteconte en 21 Octubre 2015, 14:09 PM
Investigando un poco en la nube; me sugieren que use este comando:


               Using loFileStream As System.IO.FileStream = New FileStream(lcFile, FileMode.Create)
                   loStreamWriter = New StreamWriter(loFileStream, cEncoding)
                   loStreamWriter.Write(cString)
                   loStreamWriter.Close()
               End Using


Q opinas al respecto?
Como lo adapto a nuestro script?

Una vez hayas corregido el fallo que comenté entonces no hay necesidad de hacer nada más. Aparte, en el código que has mostrado lo apropiado sería manejar la accesibilidad de un objeto StreamWriter para manipular texto, ya que un FileStream se utiliza más bien para escribir secuencias de bytes (y entonces tendrías que obtener los bytes del texto que quieres añadir), es completamente innecesario un FileStream en este escenario, además, le estás pasando el flag FileMode.Create el cual sobreescribirá el archivo en cada iteración que hagas, en lugar de adjuntar texto al archivo que ya estaba creado.

De todas formas te muestro como sería la adaptación de un FileStream, pero como ya digo es completamente innecesario:
Código (vbnet) [Seleccionar]
...
Dim enc As Encoding = Encoding.Default
Dim byteData As Byte()

Using sr As StreamReader = txtfile.OpenText

   Using fs As New FileStream(Path.Combine(topDir.FullName, curFilename),
                              FileMode.Append, FileAccess.Write, FileShare.None, 128)

       byteData = enc.GetBytes(sr.ReadToEnd & Environment.NewLine)
       fs.Write(byteData, 0, byteData.Length)

   End Using ' fs

End Using ' sr
...





Prueba el siguiente código. Lo he refactorizado bastante.

Código (vbnet) [Seleccionar]
Public Sub MergeFiles(ByVal sourceDir As String)

   Dim fileNames As String() =
       {
           "CM.txt", "GL.txt",
           "IMP6000.txt", "IMP6001.txt", "IMP6002.txt", "IMP6003.txt"
       }

   Dim curFilename As String = String.Empty

   For Each topDir As DirectoryInfo In New DirectoryInfo(sourceDir).GetDirectories("*", SearchOption.TopDirectoryOnly)

       ' Elimino los archivos principales ("...\topDir\CM.txt", "...\topDir\GL.txt", etc...) de sesiones anteriores.
       For Each txtfile As FileInfo In topDir.GetFiles("*.txt", SearchOption.TopDirectoryOnly)
           If fileNames.Contains(txtfile.Name, StringComparer.OrdinalIgnoreCase) Then
               txtfile.Delete()
           End If
       Next txtfile

       For Each subDir As DirectoryInfo In topDir.GetDirectories("*", SearchOption.AllDirectories)

           For Each txtfile As FileInfo In subDir.GetFiles("*.txt", SearchOption.AllDirectories)

               If fileNames.Contains(txtfile.Name, StringComparer.OrdinalIgnoreCase) Then

                   curFilename = fileNames.First(Function(filename) filename.Equals(txtfile.Name, StringComparison.OrdinalIgnoreCase))

                   Using sr As StreamReader = txtfile.OpenText

                       Using sw As New StreamWriter(Path.Combine(topDir.FullName, curFilename), append:=True, encoding:=Encoding.Default, bufferSize:=128)
                           sw.WriteLine(sr.ReadToEnd)
                       End Using ' sw

                   End Using ' sr

               End If

           Next txtfile

       Next subDir

   Next topDir

End Sub


NOTA: SI TE SURGEN MÁS DUDAS SOBRE VB.NET POR FAVOR CREA UN POST EN LA SECCIÓN DEDICADA A LA PLATAFORMA .NET
http://foro.elhacker.net/net-b62.0/

Saludos
#4323
Cita de: rockhevy1000 en 23 Octubre 2015, 06:49 AMEDITO: Ya hice el bat pero no me funciono, te dejo la captura de pantalla...

El código lo escribí al vuelo sin testearlo, lo siento, me faltó añadir el backslash a la ruta:
PUSHD "%HomeDrive%\"

Con esa modificación ya funciona.




Cita de: rockhevy1000 en 23 Octubre 2015, 06:49 AMen el remoto caso de que tenga dos o mas archivos llamados "ut3.exe" es posible especificar en que carpeta (no se, por ejemplo %ProgramFiles(x86)%? en vez de "%HomeDrive%"?

Si, simplemente modifica esa ruta. El comando PUSHD lo que hace es modificar el directorio de trabajo, y entonces el For se procesa en el directorio de trabajo actual (que hemos modificado previamente) para buscar el archivo de forma recursiva dentro de ese directorio.

Código (dos) [Seleccionar]
@Echo OFF

If Exist "%ProgramFiles(x86)%" (
PUSHD "%ProgramFiles(x86)%"
) Else (
PUSHD "%ProgramFiles%"
)

For /R %%# In ("*ut3.exe") Do (
Start /Wait "Unreal Tournament 3" "%%~f#"
)

POPD

Pause&Exit /B 0


Saludos
#4324
Cita de: Yaldabaotno soy de los que molesta por cada nada

Personálmente no creo que molestes, tienes dudas y necesitas respuestas nada más (aunque llego un poco tarde a responderlas xD).




Cita de: Yaldabaot en 22 Octubre 2015, 23:31 PMCon respecto al end, ese código es de un botón el cuál es para salir del programa, el END es para salir, talvez el orden esté mal, si lo está pues estoy anuente a recibir opiniones o críticas-

El keyword End es para salir, si, pero mejor dicho es para finalizar la ejecución de la aplicación de forma inmediata o anómala.

Cita de: https://msdn.microsoft.com/en-us/library/0wt87xba.aspx

No se debería utilizar End sin una razón de peso, en WinForms lo apropiado siempre es cerrar el form principal llamando al método Form.Close (o en su defecto utilizar el método Application.Exit el cual cierra todos los Forms abiertos de forma normal). Si por alguna razón no se cierra, se debe tratar de averiguar el por qué y corregirlo en lugar de ignorarlo por las malas con End.

De todas formas yo te hice aquél comentario entre paréntesis por que si finalizas la ejecución de la app entonces no tiene sentido añadir más instrucciones despues de la orden End simplemente por que no se van a procesar.




Cita de: Yaldabaot en 22 Octubre 2015, 23:31 PMno entiendo tu código, viste que lo que utiliza es una clase?, lo que lleno son sus atributos, al final ocupo utilizar ese objeto pues todo el proyecto utiliza ese objeto.

Código (vbnet) [Seleccionar]

   Dim excelApp as Excel.Application = objeto_excel.xApplication
   
   Dim workbooks As ...? = excelApp.Workbooks
   Dim workbook As Excel.Workbook = workbooks.Open(Arch)
   
   Dim xWorkBook As Excel.Workbook = excelApp.XWorkBook
   Dim worksheets As Excel.Worksheets = xWorkBook.Worksheets
   Dim worksheet As Excel.Worksheet = worksheets.Item(1)



Con ese código solo intentaba indicarte las referencias que debes manejar por separado (6 objetos distintos), no como debes hacerlo. Obviamente lo deberías adaptar a la estructura que tienes montada en tu class.

Me alegro que lo hayas solucionado, aunque no has seguido esa indicación que hice pero no importa. Solo revisa que en el administrador de tareas realmente no se queda el proceso del excel corriendo de forma "invisible", y si pasa entonces aplica eso que dije.

Saludos
#4327
Cita de: maguei en 22 Octubre 2015, 22:56 PMlos borraron porque solo pregunto y busco ayuda :(

Cita de: magueiComo puedo hacer un keylogger especificando que datos quiero que me envie al email osea
no quiero que me envíe cosas como una conversación  o cosas innecesarias
quiero uno especificando que datos debe de guardar y enviar por ejemplo quiero solo datos de una página en especial y los datos tienen que ser  los correos y contraseñas
quiero que el keylogger envía solo lo que sea correo, claves y de una pagina en especial  (solo esa pagina) y (solo correos y claves)
Se puede y como
que codigos
si se  puede y alguien sabe le agradezco la Informacion puedo acreditar por la informacion gracias

Ese post probablemente te lo borraron por que basicamente estás pidiendo una tarea. Lee las reglas del foro como ya te ha comentado el compañero @Simorg.

La pregunta "¿qué códigos?" denota una falta de experiencia mínima y está muy mal vista en el ámbito de la programación por que insinua vagancia (y para preguntas vagas ya está Google).

Intenta formular las preguntas adecuadas, preguntas específicas, y formularlas en la sección correcta. Aquí te podemos ayudar a que desarrolles tu keylogger desde cero por tus propios medios ayudándote a entender o mostrándote ejemplos de terceros (que puedes encontrar Googleando...), pero no te vamos a entregar un trabajo hecho por la cara.




Cita de: magueiQuiero un Generador de CASH Para un Juego Online
Pago la cantidad que sea la ideal para el Trabajo
El Juego es Online y para tener Cash o punto para comprar cosas hay que depositar pero esta muy caro la verga y quiero un hack tipo GENERADOR
Que al poner la ID (USUARIO) y la Cantidad de dinero que quiero la Genere a la Cuenta
Les Recuerdo es Un Trabajo y Ando Pagando x El
SALUDOS
Gracias :)

Probablemente también te lo borraron por pedir una tarea, además de ser una pregunta no ética (algo prohibido en el foro).

Aparte, recuerda que ElHacker.net es un foro de hacking ético destinado al estudio de dicha temática, no es busco-trabajo.com

Saludos!
#4328
Dudas Generales / Re: [Duda] Archivos PDF
23 Octubre 2015, 08:39 AM
Imagino que es broma un poco troll, pero de todas formas para quien no lo sepa... :

Portable Document Format - Wikipedia

Cierro el tema. La pedofilia es un tema sensible y también tabboo dentro de las reglas del foro, del que no tenemos motivo por el cual seguir hablando sin una razón de peso...

Saludos!
#4329
Windows / Re: Carpeta FL
23 Octubre 2015, 08:36 AM
Presiona botón derecho del ratón sobre la carpeta, marca la casilla "Oculto" y ya no te molestará más (a menos que actives la visibilidad de archivos y carpetas ocultas).

Otra solución y en caso de que realmente forme parte del FruityLoops, sería revisar las opciones del programa para localizar y modificar la ruta de esa carpeta... eso puede hacerlo cualquiera :P.

Saludos.
#4330
No me manejo con la inter-operabilidad de Office, pero en general lo que estás haciendo es incorrecto, creo que el fallo lo cometes en estas dos órdenes:

Citar
Código (vbnet,4,5) [Seleccionar]
objeto_excel = New LibroExcel() 'Crea un nuevo libro
objeto_excel.xApplication = New Excel.Application() 'Crea una nueva aplicación
objeto_excel.xApplication.DisplayAlerts = False
objeto_excel.XWorkBook = objeto_excel.xApplication.Workbooks.Open(Arch) 'Realiza una nueva aplicación con un nuevo libro a abrir.
objeto_excel.XWorksheet = objeto_excel.XWorkBook.Worksheets.Item(1) 'Asigna la hoja de excel
objeto_excel.ficheros = fichero

Al usar órdenes de ese tipo con llamadas a más de un miembro (referencia.miembro1.miembro2()) estás generando residuos/objetos RCW (Runtime Callable Wrapper) tanto para el primero como para el segundo, y estos deberías liberarlos al terminar con Excel, pero sin una referencia al objeto no puedes liberarlos.



Por ende, la forma en la que se debe trabajar un objeto COM, en tu caso la interop de Office/Excel, sería la siguiente:

Código (vbnet) [Seleccionar]
Dim excelApp as Excel.Application = objeto_excel.xApplication

Dim workbooks As ...? = excelApp.Workbooks
Dim workbook As Excel.Workbook = workbooks.Open(Arch)

Dim xWorkBook As Excel.Workbook = excelApp.XWorkBook
Dim worksheets As Excel.Worksheets = xWorkBook.Worksheets
Dim worksheet As Excel.Worksheet = worksheets.Item(1)


Reemplaza "...?" por lo correspondiente, como ya digo yo no uso Office, pero esto es aplicable de forma general.

Una vez hayas corregido eso, guardas los cambios en el archivo y seguidamente cierras de forma normal:
Código (vbnet) [Seleccionar]
xWorkBook.Save()
xWorkBook.Close(SaveChanges:=False)
excelApp.Quit()


Y por último, liberas los objetos:
Código (vbnet) [Seleccionar]
Marshal.ReleaseComObject(workbook)
Marshal.ReleaseComObject(workbooks)

Marshal.ReleaseComObject(worksheet)
Marshal.ReleaseComObject(worksheets)
Marshal.ReleaseComObject(xWorkBook)

Marshal.ReleaseComObject(excelApp)





Citar
Código (vbnet) [Seleccionar]
Try
   If IsFileOpen(fichero) = False Then
       End
       GC.Collect()
   Else

       obj_excel.XWorksheet = Nothing
       GC.Collect()

       obj_excel.XWorkBook.Close()
       obj_excel.XWorkBook = Nothing

       GC.Collect()

       obj_excel.xApplication.Quit()
       obj_excel.xApplication = Nothing

       GC.Collect()

       obj_excel.ficheros = Nothing

       GC.Collect()

       releaseObject(obj_excel)

       End
   End If

Catch ex As Exception
   MsgBox("Hubo un problema cerrando el programa y/o el archivo.")
   End
End Try

Por si no ha quedado claro, ten en cuenta que no debes invocar al GarbageCollector a lo loco como estás haciendo (y hacerlo despues de un "End", ¿en serio para qué? xD), ya que eso no te servirá para nada positivo y menos con código no administrado...

En todo caso prueba así:

Código (vbnet) [Seleccionar]
Try
   If IsFileOpen(fichero) Then
           xWorkBook.Save()
   xWorkBook.Close(SaveChanges:=False)
   excelApp.Quit()
   End If

Catch ex As Exception
   MsgBox("Hubo un problema cerrando el programa y/o el archivo." & Environment.NewLine & ex.toString)

Finally
Marshal.ReleaseComObject(workbook)
Marshal.ReleaseComObject(workbooks)
Marshal.ReleaseComObject(worksheet)
Marshal.ReleaseComObject(worksheets)
Marshal.ReleaseComObject(xWorkBook)
Marshal.ReleaseComObject(excelApp)

   Me.Close() ' Cierra el Form principal de forma normal... no uses el keyword "End".

End Try


Espero que esto te pueda servir para solucionar el problema.

Saludos!




Fuente(s):