Jump to content

LuisRojas

Members
  • Content Count

    68
  • Joined

  • Last visited

  • Days Won

    2

LuisRojas last won the day on February 5 2016

LuisRojas had the most liked content!

About LuisRojas

  • Rank
    Advanced Member
  • Birthday 11/12/1992

Converted

  • Campos
    ,

Recent Profile Visitors

833 profile views
  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
×
×
  • Create New...

Important Information

Privacy Policy