Jump to content

LuisRojas

Members
  • Content Count

    68
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by LuisRojas

  1. Sí lo había usado antes, pero en una parte de la respuesta, me devuelve lo siguiente <div class="embed-responsive embed-responsive-21by9"> <iframe id="linkcambiar" name="linkcambiar" class="embed-responsive-item" src="https://www.youtube.com/embed/vFxXaZ3G0uU"></iframe> </div> El IFRAME contiene el código HTML del vídeo incrustado, teniendo el código puedo validar si el link se incrustó correctamente, lo muestro en la imagen adjunta
  2. Jajaja sí Abraham gracias, con cuidado por esa zona, yo también me ubico en San Borja en éste momento Estaré esperando tu comentario, nuevamente muchas gracias
  3. Genial, no se me había ocurrido usar el embed, ha funcionado para lo de Youtube, se ve bueno Pero cuando quiero leer el código completo HTML (Incluido el del IFRAME) no puedo, he intentado usar éste código Dim IE As Object Set IE = CreateObject("InternetExplorer.application") IE.Navigate "http://ipodperu.com" Do DoEvents Loop Until IE.ReadyState = 4 IE.Document.getElementsbyTagName("iframe")(0).SetAttribute "src", "https://www.youtube.com/embed/nQUjScfmLWc" IE.Visible = True Debug.Print IE.Document.body.innerHTML Dim doc As Object, doc1 As Object Set doc = IE.Document.frames Set doc1 = doc.frames(0) Debug.Print doc1.Document.body.innerHTML Pero me figura un mensaje de acceso denegado, tal vez no está permitido leer la data de los iframe, porque la web es mía y no he colocado ninguna restricción
  4. Gracias por responder Abraham, claro tengo acceso a los archivos porque es uno de mis hosting, pero lo que quería hacer es modificar temporalmente el valor SRC del IFRAME con ID iframe He usado éste código ie.Document.getElementsbyTagName("iframe")(0).SetAttribute "src", "https://paginaweb.com" Pero no lo he podido hacer desde el WebBrowser porque al parecer no es compatible con Bootstrap, lo he hecho en el módulo con un objeto Intenet Explorer, lamentablemente Youtube tiene una política de privacidad que no deja reproducir sus vídeos de ésta forma (Lo cual me parece muy bueno, por temas de seguridad) No sé si se pueda hacer de otra manera, pero al menos con otras web diferentes a YouTube he podido lograrlo Y cuando se lee el código HTML, lamentablemente no lee el HTML del IFRAME incrustado :(, sé que escapa un poco del tema, pero sabrás una forma de leer el HTML de la web (Incluido el iframe)?, bajo la condición que se debe manejar en el mismo objeto IE y no crear una nueva sesión SoyUnaVariable = ie.Document.body.innerHTML Estoy intentando hacerlo con HTMLIFrame
  5. Hola comunidad, he intentado hacer ésto de muchas formas y aún no consigo obtener lo que necesito, en realidad no sé si se pueda programar con VBA, así que se los comparto por si alguien tuvo algún problema similar y me puede dar una luz Verán, tengo la página web ipodperu.com (De mi propiedad), en ella tengo un IFRAME que apunta a un vídeo en Youtube Lo que quería hacer era cargar la web en un objeto WebBrowser en un formulario y con un SpinButton modificar el SRC del IFRAME, no he podido cargar la web porque me salen constantes ventanas de errores (Por el JavaScript al parecer) Entonces desde un módulo he accedido a la web usando un objeto InternetExplorer, el cual sí reproduce sin problemas el contenido, pero ahora no sé qué código VBA puedo usar para cambiar el SRC del IFRAME por los links que tengo en las celdas A2:A5, el cambio de SRC se debe hacer cada cierto periodo de tiempo Espero haber sido claro, en resumen lo que necesito es como ingresar al inspeccionador de elementos y modificar código HTML desde VBA, para lo cual no sé si VBA sea suficiente Info.xlsm
  6. Gracias @avalencia por tu respuesta, voy a buscar el archivo con las modificaciones de CMG, DPB y GC igual a "vacías", me lo enviaron por whatsapp hace tiempo y como cambio de cuentas constantemente, lo he perdido, pero trataré de conseguir uno similar El proceso que describes para la modificación desde VBA, lo entiendo, pero cuando mencionas a ADO a qué te refieres? Normalmente ADO lo utilizo para conexión a BD, a menos que sea otro ADO El código del amigo vietnamita lo he usado principalmente para desbloqueo de archivo xlam, y me ha servido mucho, he encontrado código muy interesante Sobre el archivo protegido con Unviewable+, sólo lo coloqué como ejemplo, ese archivo es de descarga gratuita, y sólo mencioné que con el método que explicaste inicialmente no se podía leer, pero ahora ya entiendo mejor la lógica de cómo 'desbloquearlo' manualmente; para leer cualquier archivo de Gustavo basta con usar a LibreOffice y se tendrá el acceso, eso lo descubrí hace unos años, lamentablemente ya no publica mucho Más adelante investigaré sobre VSTO, ahora estoy un poco entretenido con otro lenguaje jeje, gracias por el dato Bastante interesante el tema
  7. @bigpetroman estaba leyendo la publicación que mencionaste, te comento que la forma de generar una ofuscación de este tipo OO001ll0O1l es con unviewable+ (https://www.spreadsheet1.com/unviewable-vba-project-app-for-excel.html) Aquí un ejemplo https://www.spreadsheet1.com/excel-vba-code-obfuscation.html
  8. Claro esa ofuscación es cambiando los nombres de módulos, procesos, funciones y variables a esta forma i101101l0 Pero la que he adjuntado es de esta forma Option Explicit Const BmLGnerFlNWocU = "EDJ(thv-Y8r­U:Iex-29=\OuM[{>" Const nebEGDXSXxaUBUxwzCloLPUoY = _ "Qr@W<SVJ@g/2j^~9­%GhFtQ[kxOSDao<%+[mChC" Public jENBaeDwEJWbTSzpzfRnTqsBRutZlku As _ String Function CqhIMDiALohuSNoCbIFFRxUigWHAFpy(OMZfAMOCV As String) As String CqhIMDiALohuSNoCbIFFRxUigWHAFpy = SKZbYYHYApXwsyIUzNawpqEiZSrbpAX(OMZfAMOCV) End Function Function _ SKZbYYHYApXwsyIUzNawpqEiZSrbpAX(ykyyvxNRYfYQ As _ String) As _ String Dim iKcdZPqRjUprE As Byte, rmUoKGAsfWuGMQDUVNJXIUtNNkRFXQE As Long, OTLAeQNkZvgO As Integer, RCwymCjoWmarswqbGRLeV As Integer, PvlyHBcMRhTsQ As Long, aFKMSsUbFtlmItcDAH As Long, aZBYfonpWJIuUnKpyYzteSZG As Long, ptueAHfGdIqysAQaQn As String, mGAXQjfB As String, FIkiydcBOieKJuPMryMBrEpzOCKA As String, zxVnYNYnElZuZVuRTRgvhtQLnhu As String, aqWUqbjkvXWJYyaJDfbfbOnbMAI As String FIkiydcBOieKJuPMryMBrEpzOCKA = "" If ykyyvxNRYfYQ <> "" Then zxVnYNYnElZuZVuRTRgvhtQLnhu = ykyyvxNRYfYQ iKcdZPqRjUprE = 29687 - &H734A RCwymCjoWmarswqbGRLeV = InStr(ykyyvxNRYfYQ, _ Chr(iKcdZPqRjUprE)) If jENBaeDwEJWbTSzpzfRnTqsBRutZlku = "" Then aqWUqbjkvXWJYyaJDfbfbOnbMAI = """" For PvlyHBcMRhTsQ = _ &H373E - 14110 To 4922 - &H12BC If InStr( _ aqWUqbjkvXWJYyaJDfbfbOnbMAI, Chr( _ PvlyHBcMRhTsQ)) = 0 Then jENBaeDwEJWbTSzpzfRnTqsBRutZlku = jENBaeDwEJWbTSzpzfRnTqsBRutZlku & _ Chr(PvlyHBcMRhTsQ) Next _ PvlyHBcMRhTsQ End If aZBYfonpWJIuUnKpyYzteSZG = Len(jENBaeDwEJWbTSzpzfRnTqsBRutZlku) mGAXQjfB = Left( _ zxVnYNYnElZuZVuRTRgvhtQLnhu, _ RCwymCjoWmarswqbGRLeV - 1) zxVnYNYnElZuZVuRTRgvhtQLnhu = Right(zxVnYNYnElZuZVuRTRgvhtQLnhu, Len(zxVnYNYnElZuZVuRTRgvhtQLnhu) - _ RCwymCjoWmarswqbGRLeV) ptueAHfGdIqysAQaQn = "" For PvlyHBcMRhTsQ = 1 To Len(zxVnYNYnElZuZVuRTRgvhtQLnhu) Step 2 ptueAHfGdIqysAQaQn = _ ptueAHfGdIqysAQaQn & _ Mid( _ zxVnYNYnElZuZVuRTRgvhtQLnhu, PvlyHBcMRhTsQ + 1, 1) & _ Mid(zxVnYNYnElZuZVuRTRgvhtQLnhu, PvlyHBcMRhTsQ, 1) Next PvlyHBcMRhTsQ zxVnYNYnElZuZVuRTRgvhtQLnhu = _ ptueAHfGdIqysAQaQn aFKMSsUbFtlmItcDAH = 0 For _ PvlyHBcMRhTsQ = 1 To _ Len( _ zxVnYNYnElZuZVuRTRgvhtQLnhu) ptueAHfGdIqysAQaQn = Mid(zxVnYNYnElZuZVuRTRgvhtQLnhu, PvlyHBcMRhTsQ, 1) rmUoKGAsfWuGMQDUVNJXIUtNNkRFXQE = Asc(ptueAHfGdIqysAQaQn) RCwymCjoWmarswqbGRLeV = InStr( _ jENBaeDwEJWbTSzpzfRnTqsBRutZlku, ptueAHfGdIqysAQaQn) If RCwymCjoWmarswqbGRLeV = 0 Then If rmUoKGAsfWuGMQDUVNJXIUtNNkRFXQE >= (483 - &H163) Then rmUoKGAsfWuGMQDUVNJXIUtNNkRFXQE = rmUoKGAsfWuGMQDUVNJXIUtNNkRFXQE + (&H6ED6 - _ 28310) If rmUoKGAsfWuGMQDUVNJXIUtNNkRFXQE > (21678 - _ &H53AF) Then rmUoKGAsfWuGMQDUVNJXIUtNNkRFXQE = _ rmUoKGAsfWuGMQDUVNJXIUtNNkRFXQE - _ (&H44CE - _ 17486) ptueAHfGdIqysAQaQn = _ Chr(rmUoKGAsfWuGMQDUVNJXIUtNNkRFXQE) End If FIkiydcBOieKJuPMryMBrEpzOCKA = FIkiydcBOieKJuPMryMBrEpzOCKA & ptueAHfGdIqysAQaQn Else aFKMSsUbFtlmItcDAH = aFKMSsUbFtlmItcDAH + _ 1 If _ aFKMSsUbFtlmItcDAH > Len(mGAXQjfB) Then aFKMSsUbFtlmItcDAH = 1 OTLAeQNkZvgO = Asc(Mid(mGAXQjfB, _ aFKMSsUbFtlmItcDAH, 1)) RCwymCjoWmarswqbGRLeV = RCwymCjoWmarswqbGRLeV - _ OTLAeQNkZvgO While RCwymCjoWmarswqbGRLeV > _ aZBYfonpWJIuUnKpyYzteSZG RCwymCjoWmarswqbGRLeV = RCwymCjoWmarswqbGRLeV - aZBYfonpWJIuUnKpyYzteSZG Wend While RCwymCjoWmarswqbGRLeV < 0 RCwymCjoWmarswqbGRLeV = RCwymCjoWmarswqbGRLeV + _ aZBYfonpWJIuUnKpyYzteSZG Wend If RCwymCjoWmarswqbGRLeV = 0 Then RCwymCjoWmarswqbGRLeV = aZBYfonpWJIuUnKpyYzteSZG FIkiydcBOieKJuPMryMBrEpzOCKA = FIkiydcBOieKJuPMryMBrEpzOCKA & Mid(jENBaeDwEJWbTSzpzfRnTqsBRutZlku, RCwymCjoWmarswqbGRLeV, 1) End If Next PvlyHBcMRhTsQ End If SKZbYYHYApXwsyIUzNawpqEiZSrbpAX = FIkiydcBOieKJuPMryMBrEpzOCKA End Function Sub macro1() MsgBox CqhIMDiALohuSNoCbIFFRxUigWHAFpy(BmLGnerFlNWocU), vbInformation, "Luis Rojas" End Sub Sub macro2() MsgBox aWmBKfnaMCtHjBNKJtDBMONaoxlugea( _ nebEGDXSXxaUBUxwzCloLPUoY), vbInformation, _ "Luis Rojas" End Sub Function aWmBKfnaMCtHjBNKJtDBMONaoxlugea(ghEoRjlqdMhhf As String) As String aWmBKfnaMCtHjBNKJtDBMONaoxlugea = SKZbYYHYApXwsyIUzNawpqEiZSrbpAX(ghEoRjlqdMhhf) End Function Me parece más dificil de entender, al menos para un usuario estándar, el código original fue este: Sub macro1() MsgBox "Soy un cacahuate", vbInformation, "Luis Rojas" End Sub Sub macro2() MsgBox "Todos somos cacahuates", vbInformation, "Luis Rojas" End Sub Ahora agregándo un ROT13 al nombre (Luis Rojas) me parece que se podría mejorar un poco
  9. Me refería a archivos como este https://1drv.ms/x/s!AirYPHTXALPMhgx7zbHqls2mlvYj (Que es de descarga gratis desde la web) Y fue protegido con Unviewable+ 2.7.3, en este caso no puedo desbloquearlo
  10. No viene con el tema de 'proyecto bloqueado', pero he logrado obtener esto https://1drv.ms/x/s!AirYPHTXALPMhgtFOqdmo4BEb0Kw Agreándole un 'bloqueo' daría mayor seguridad @avalencia no me gusta mencionar código que he visto y no lo tengo ahora, pero en una ocasión una persona con quien me medía en VBA me pasó un archivo que después de desbloquear pude ver código ofuscado VBA (similar al que adjunto) y en una parte decía CMG="", DPB="" GC="", lamentablemente no tengo el archivo Sabrás si puedo modificar estos valores desde VBA? quizá con alguna API. Te comento que a la fecha estoy siguiendo a un vietnamita programador en VBA Excel, y coloca mucho código interesante, por ejemplo este: Option Explicit Private Const PAGE_EXECUTE_READWRITE = &H40 Private Declare PtrSafe Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _ (Destination As LongPtr, Source As LongPtr, ByVal Length As LongPtr) Private Declare PtrSafe Function VirtualProtect Lib "kernel32" (lpAddress As LongPtr, _ ByVal dwSize As LongPtr, ByVal flNewProtect As LongPtr, lpflOldProtect As LongPtr) As LongPtr Private Declare PtrSafe Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As LongPtr Private Declare PtrSafe Function GetProcAddress Lib "kernel32" (ByVal hModule As LongPtr, _ ByVal lpProcName As String) As LongPtr Private Declare PtrSafe Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA" (ByVal hInstance As LongPtr, _ ByVal pTemplateName As LongPtr, ByVal hWndParent As LongPtr, _ ByVal lpDialogFunc As LongPtr, ByVal dwInitParam As LongPtr) As Integer Dim HookBytes(0 To 5) As Byte Dim OriginBytes(0 To 5) As Byte Dim pFunc As LongPtr Dim Flag As Boolean Private Function GetPtr(ByVal Value As LongPtr) As LongPtr GetPtr = Value End Function Public Sub RecoverBytes() If Flag Then MoveMemory ByVal pFunc, ByVal VarPtr(OriginBytes(0)), 6 End Sub Public Function Hook() As Boolean Dim TmpBytes(0 To 5) As Byte Dim p As LongPtr Dim OriginProtect As LongPtr Hook = False pFunc = GetProcAddress(GetModuleHandleA("user32.dll"), "DialogBoxParamA") If VirtualProtect(ByVal pFunc, 6, PAGE_EXECUTE_READWRITE, OriginProtect) <> 0 Then MoveMemory ByVal VarPtr(TmpBytes(0)), ByVal pFunc, 6 If TmpBytes(0) <> &H68 Then MoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 6 p = GetPtr(AddressOf MyDialogBoxParam) HookBytes(0) = &H68 MoveMemory ByVal VarPtr(HookBytes(1)), ByVal VarPtr(p), 4 HookBytes(5) = &HC3 MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), 6 Flag = True Hook = True End If End If End Function Private Function MyDialogBoxParam(ByVal hInstance As LongPtr, _ ByVal pTemplateName As LongPtr, ByVal hWndParent As LongPtr, _ ByVal lpDialogFunc As LongPtr, ByVal dwInitParam As LongPtr) As Integer If pTemplateName = 4070 Then MyDialogBoxParam = 1 Else RecoverBytes MyDialogBoxParam = DialogBoxParam(hInstance, pTemplateName, _ hWndParent, lpDialogFunc, dwInitParam) Hook End If End Function Sub unprotected() If Hook Then MsgBox "VBA Project is unprotected!", vbInformation, "*****" End If End Sub Con el cual se puede liberar la contraseña de un proyecto VBA (64bits) sin necesidad de usar un hexadecimal, ni el típico cambio de DPB a DPx
  11. Gracias @avalencia me ha funcionado bien. aunque este método no funciona con archivos que han sido generados con algunos programas, acabo de encontrar un código bastante interesante tratando de investigar sobre este tema Continuaré investigando para complementar más la idea
  12. Hola mundo! Espero no revivir un muerto Estaba leyendo en el grupo y vi un post sobre el proyecto bloqueado, pero el tema ya fue cerrado, por lo que publiqué este nuevo He logrado generar el proyecto bloqueado manualmente, aquí les dejo dos archivos uno 'Sin proyecto bloqueado' y el otro que con 'el proyecto bloqueado', que lo puedo generar con un lector hexadecimal https://drive.google.com/drive/folders/1ND0fWbdMRU6AkIwxICimpGhCGLIlHDdV?usp=sharing Como les comenté he logrado generar el proyecto bloqueado, pero mi duda va más por cómo regresar mi archivo con proyecto bloqueado al archivo original, ciertamente lo hexadecimal me marea un poco En la siguiente imagen les muestro cómo he generado el proyecto bloqueado: https://drive.google.com/file/d/1ir3YtQN168DC6ivSqjZN5JdtpFhhsyqc/view?usp=sharing Habrá alguien en el grupo que me pueda explicar sobre la igualdad que debería tener el CMG, GC y DPB para desbloquearlo?, o sino otra forma de desbloquearlo manualmente, ya que programas para realizar este 'desbloqueo' existen, pero quiero aprender a hacerlo manualmente Espero sus respuestas
  13. Sabes Abraham estos últimos meses he estado aburrido, y recién hace unos días me acordé del foro y bueno aquí nuevamente, aunque ahora veo que los aportantes han cambiado mucho Qué divertido hablar contigo, a ver mmm tengo el del proyecto bloqueado, desbloqueo de proyecto bloqueado, consultas masivas EsSalud con un Captcha (Yo mismo lo hice), mmm consultas masivas Sunat (evadiendo el captcha sin un usar un lector) mmm una que otra API divertida por ahí Veo que también eres de Perú por eso menciono a EsSalud y Sunat
  14. Pero sí hay forma de leer con fondo oscuro y letras blancas usando ese método, lo vi en YouTube Yo logré leer el captcha con fondo negro con un OCR JavaScript, que funciona mejor que el que he compartido Gracias por tus comentarios Abraham, tengo algunas cosillas más por ahí para entrenernos jajaja
  15. @avalencia he compartido un lector de captcha que cree, si puedes comentar mi nueva publicación sería súper bueno
  16. Hola a todos! Nuevamente publicando Verán no es tanto un problema el que tengo, sino quisiera solicitarles sugerencias de mejora, he creado un lector de captcha cogiendo código de por aquí y por allá https://drive.google.com/file/d/1JJ7H3bzVI_L_Ef0diSynJrB-8oW7r_pq/view?usp=sharing Y me resulta útil para saltarme algunos captchas, pero no mucho cuando la imagen, por ejemplo, tiene fondo negro o pequeñas ofuscaciones Espero comentarios
  17. Súper súper bueno Muchas gracias @avalencia, por ahí tengo otros archivos interesantes que más adelante compartiré y también preguntaré Lo máximo!
  18. Sí, con la ayuda de la ventana inmediato se puede obtener el nombre o también en el Examinador de proyectos Y luego hacer el proceso que describe @avalencia Genial! Es lo que quiero obtener, esperaré tu mensaje gracias
  19. Pasos para realizar el módulo 'oculto' Extensión XLSM - Cambiar la extensión por ZIP y descomprimir el contenido - Abrir con un lector hexadecimal el archivo vbaProject.bin que se encuentra en la carpeta xl (Yo uso HxD) - Buscar y luego modificar Module=Módulo1 por espacios en blanco, un espacio en blanco por caracter - Guardar cambios y borrar el archivo bak que se genera después de guardar cambios - Comprimir todo en un ZIP - Cambiar la extensión ZIP por XLSM y listo! Lo aprendí de este manual https://1drv.ms/b/s!AirYPHTXALPMhgOPXc2NYTqljR-a
  20. Muchas gracias por dedicarle tiempo @avalencia Seguiré intentando cómo hacerlo, tengo un manual que me está ayudando, espero haya más participaciones, es un tema bastante interesante como dice @Gerson Pineda
  21. Hola Onotera! Le he dado una revisada a tu macro, el por qué va lento es porque estás usando mucho código grabado No es recomendable usar mucho el Sheets("Nombre Hoja").Select, Copy y Paste (En especial estos dos últimos) Usa mejor el with y define variables, va lento porque estás consumiento mucha memoria Slds
  22. A ver @avalencia sí lo he visto, por eso hago la publicación No tengo el archivo sino lo hubiera adjuntado al inicio, el video en Youtube que encontré navegando en Google es este Al parecer sí se puede generar un efecto así en ellos
  23. Hola Marias123 Se me ocurre usar un WebBrowser, yo lo he usado para cargar PNG, GIF, FLASH, etc Lo puedes usar así Private Sub UserForm_Initialize() WebBrowser1.Navigate2 "D:\foto.png" End Sub
  24. Gracias por tu respuesta, tanto ocultar como mostrar los módulos lo hice con HxD, no es muy complejo Mi pregunta iba por los módulos con transparencia, que no son los formularios con transparencia, me pareció bastante curioso encontrarlos y quería saber más sobre su generación Encontré un video en YouTube, adjunto la imagen de lo que deseo generar
  25. Hola a toda la comunidad! Hace un tiempo vi un archivo XLSM con módulos transparentes (No tenía contraseña de proyecto, ni proyecto bloqueado), al intentar ingresar al módulo se veía una ventana transparente y no permitía leer el código He logrado ocultar módulos, pero no volverlos transparentes, alguien tendrá información sobre este tema? Adjunto dos archivos - Macro_Ocultame : Macro original con código VBA simple - Macro_Ocultame_modificada : Modifiqué el archivo BIN con un hexadecimal y logré ocultar el módulo 1 Macro_Ocultame.xlsm Macro_Ocultame_modificada.xlsm
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png