comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[RETO] Desofusca mi codigo y dime por que siempre gano ;)

  • 9 Respuestas
  • 3665 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado 79137913

  • *
  • Co Admin
  • Mensajes: 627
  • Actividad:
    1.67%
  • Reputación 10
  • 4 Esquinas
    • Ver Perfil
    • Doors.Party
    • Email
  • Skype: fg_mdq@hotmail.com
« en: Febrero 05, 2013, 11:57:08 am »
HOLA!!!

Bueno, el reto es simple, desofusquen mi codigo y diganme donde hago trampa >:D

Código: Visual Basic
  1. Private Sub Form_Load()
  2. Dim Oponente As String
  3. Dim Res As String
  4. Empezar:
  5. Oponente = InputBox("1)Piedra" & vbNewLine & "2)Papel" & vbNewLine & "3)Tijera", "Elija una opción"): If VerifClean(VerifClean(Oponente = "1", Oponente = "2"), Oponente = "3") Then GoTo Continuar Else GoTo Empezar
  6. Continuar:
  7. Oponente = Trim(Str(Factorial(CLng(Int(Val(Oponente))))))
  8. If Not Rnd() Then
  9. If InStr(Oponente, StrReverse(Oponente)) > 0 Then If VerifClean(VerifClean(Oponente = "6", Oponente = "1"), Oponente = "2") Then If CLng(Int(Val(Oponente))) = 6 Then Oponente = "Usted Eligio Tijera" Else If CLng(Int(Val(Oponente))) = 2 Then Oponente = "Usted Eligio Papel" Else If CLng(Int(Val(Oponente))) = 1 Then Oponente = "Usted Eligio Piedra"
  10. If InStr(Factorial(2 ^ 2) - Factorial(3) - Factorial(1) * 4, StrReverse((StrReverse(Oponente))), StrReverse(Chr((Factorial(6) / 72) * 10 + (Factorial(3) - Factorial(1))) & Chr((Factorial(6) / 72) * 10 + 2 * Factorial(2) - 2 * (Factorial(6) / 72)))) Then a = True: b = False
  11. If InStr(Factorial(2 ^ 2) - Factorial(3) - Factorial(1) * 4, StrReverse((StrReverse(Oponente))), StrReverse(Chr((Factorial(6) / 72) * 10 - (Factorial(2) + Factorial(1))) & Chr((Factorial(6) / 72) * 10 - 2 * (Factorial(6) / 72)))) Then a = False: b = True
  12. If InStr(Factorial(2 ^ 2) - Factorial(3) - Factorial(1) * 4, StrReverse((StrReverse(Oponente))), StrReverse(Chr((Factorial(6) / 72) * 10 + (Factorial(3) - Factorial(1))) & Chr((Factorial(6) / 72) * 10 - 2 * (Factorial(6) / 72)))) Then a = True: b = True
  13. If VerifClean(CLng(Int(Val(Rnd()))), CBool(a)) Then If VerifClean(CLng(Int(Val(Rnd()))), CBool(b)) Then Res = "Pedro Eligio Papel" Else Res = "Pedro Eligio Piedra" Else Res = "Pedro Eligio Tijera"
  14. If Mid(Res, 14, Len(Res) - 13) = Mid(Oponente, 14, Len(Oponente) - 13) Then
  15. respuesta = "Hubo Empate"
  16. Else
  17. If Mid(Res, 14, Len(Res) - 13) = "Tijera" And Mid(Oponente, 14, Len(Oponente) - 13) = "Papel" Then respuesta = "Ha Ganado Pedro"
  18. If Mid(Res, 14, Len(Res) - 13) = "Papel" And Mid(Oponente, 14, Len(Oponente) - 13) = "Tijera" Then respuesta = "Ha Ganado Usted"
  19. If Mid(Res, 14, Len(Res) - 13) = "Tijera" And Mid(Oponente, 14, Len(Oponente) - 13) = "Piedra" Then respuesta = "Ha Ganado Usted"
  20. If Mid(Res, 14, Len(Res) - 13) = "Papel" And Mid(Oponente, 14, Len(Oponente) - 13) = "Piedra" Then respuesta = "Ha Ganado Pedro"
  21. If Mid(Res, 14, Len(Res) - 13) = "Piedra" And Mid(Oponente, 14, Len(Oponente) - 13) = "Tijera" Then respuesta = "Ha Ganado Pedro"
  22. If Mid(Res, 14, Len(Res) - 13) = "Piedra" And Mid(Oponente, 14, Len(Oponente) - 13) = "Papel" Then respuesta = "Ha Ganado Usted"
  23. End If
  24. Else
  25. If InStr(Oponente, StrReverse(Oponente)) > 1 Then If VerifClean(VerifClean(Oponente = "3", Oponente = "1"), Oponente = "8") Then If CLng(Int(Val(Oponente))) = 8 Then Oponente = "Usted Eligio Tijera" Else If CLng(Int(Val(Oponente))) = 3 Then Oponente = "Usted Eligio Papel" Else If CLng(Int(Val(Oponente))) = 1 Then Oponente = "Usted Eligio Piedra"
  26. If InStr(Factorial(2 ^ 3) - Factorial(5) - Factorial(2) * 1, StrReverse((StrReverse(Oponente))), StrReverse(Chr((Factorial(5) / 69) * 10 - (Factorial(3) - Factorial(2))) & Chr((Factorial(5) / 69) * 10 - 2 * Factorial(3) - 3 * (Factorial(5) / 69)))) Then a = True: b = False
  27. If InStr(Factorial(2 ^ 3) - Factorial(3) - Factorial(1) * 4, StrReverse((StrReverse(Oponente))), StrReverse(Chr((Factorial(5) / 69) * 10 + (Factorial(2) + Factorial(2))) & Chr((Factorial(5) / 69) * 10 + 2 * (Factorial(5) / 69)))) Then a = False: b = True
  28. If InStr(Factorial(2 ^ 3) - Factorial(6) - Factorial(3) * 2, StrReverse((StrReverse(Oponente))), StrReverse(Chr((Factorial(5) / 69) * 10 - (Factorial(3) - Factorial(2))) & Chr((Factorial(5) / 69) * 10 + 2 * (Factorial(5) / 69)))) Then a = True: b = True
  29. If VerifClean(CLng(Int(Val(Rnd()))), CBool(a)) Then If VerifClean(CLng(Int(Val(Rnd()))), CBool(b)) Then Res = "Pedro Eligio Papel" Else Res = "Pedro Eligio Piedra" Else Res = "Pedro Eligio Tijera"
  30. If Mid(Res, 14, Len(Res) - 13) = Mid(Oponente, 14, Len(Oponente) - 13) Then
  31. respuesta = "Hubo Empate"
  32. Else
  33. If Mid(Res, 14, Len(Res) - 13) = "Tijera" And Mid(Oponente, 14, Len(Oponente) - 13) = "Papel" Then respuesta = "Ha Ganado Pedro"
  34. If Mid(Res, 14, Len(Res) - 13) = "Papel" And Mid(Oponente, 14, Len(Oponente) - 13) = "Tijera" Then respuesta = "Ha Ganado Usted"
  35. If Mid(Res, 14, Len(Res) - 13) = "Tijera" And Mid(Oponente, 14, Len(Oponente) - 13) = "Piedra" Then respuesta = "Ha Ganado Usted"
  36. If Mid(Res, 14, Len(Res) - 13) = "Papel" And Mid(Oponente, 14, Len(Oponente) - 13) = "Piedra" Then respuesta = "Ha Ganado Pedro"
  37. If Mid(Res, 14, Len(Res) - 13) = "Piedra" And Mid(Oponente, 14, Len(Oponente) - 13) = "Tijera" Then respuesta = "Ha Ganado Pedro"
  38. If Mid(Res, 14, Len(Res) - 13) = "Piedra" And Mid(Oponente, 14, Len(Oponente) - 13) = "Papel" Then respuesta = "Ha Ganado Usted"
  39. End If
  40. End If
  41. MsgBox Oponente & vbNewLine & Res & vbNewLine & respuesta, , "Resultado"
  42. End
  43. End Sub
  44. Private Function Factorial(n As Long) As Long
  45. Dim x As Long
  46. Factorial = 1
  47. For x = 1 To n
  48. Factorial = Factorial * x
  49. Next
  50. If n = 0 Then Factorial = 0
  51. End Function
  52. Private Function VerifClean(Clean1 As Long, Clean2 As Long) As Long
  53. Dim Cle1() As Boolean: Dim Cle2() As Boolean: Dim Cle3() As Boolean: Dim CT  As Long: Dim Tam   As Long: Dim b1    As Long: Dim b2    As Long: b1 = Clean1: b2 = Clean2
  54. Do
  55. ReDim Preserve Cle1(CT)
  56. If b1 = 1 Then ReDim Preserve Cle1(CT): Cle1(CT) = True: Exit Do
  57. If b1 = 0 Then ReDim Preserve Cle1(CT): Exit Do
  58. Cle1(CT) = CBool(b1 Mod 2): b1 = Fix(b1 / 2): CT = CT + 1
  59. Loop
  60. CT = 0
  61. Do
  62. If b2 = 1 Then ReDim Preserve Cle2(CT): Cle2(CT) = True: Exit Do
  63. If b2 = 0 Then ReDim Preserve Cle2(CT): Exit Do
  64. ReDim Preserve Cle2(CT): Cle2(CT) = CBool(b2 Mod 2): b2 = Fix(b2 / 2): CT = CT + 1
  65. Loop
  66. If UBound(Cle1) > UBound(Cle2) Then ReDim Preserve Cle2(UBound(Cle1))
  67. If UBound(Cle1) < UBound(Cle2) Then ReDim Preserve Cle1(UBound(Cle2))
  68. Tam = UBound(Cle1): ReDim Cle3(Tam)
  69. For x = 0 To Tam
  70. If Cle1(x) Then If Cle2(x) = False Then Cle3(x) = True
  71. If Cle2(x) Then If Cle1(x) = False Then Cle3(x) = True
  72. Next
  73. For x = 0 To Tam
  74. If Cle3(x) Then VerifClean = VerifClean + 2 ^ (x)
  75. Next
  76. End Function
  77.  

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   You are not allowed to view links. Register or Login

Desconectado martinanonymo

  • *
  • Underc0der
  • Mensajes: 40
  • Actividad:
    0%
  • Reputación 0
  • Codeo en VB♥
    • Ver Perfil
  • Skype: martin.recalde4
« Respuesta #1 en: Febrero 05, 2013, 12:35:55 pm »
JAJA , esta difisil la cosa
Para ganar hay que arriesgar

Desconectado Expermicid

  • *
  • Underc0der
  • Mensajes: 457
  • Actividad:
    0%
  • Reputación 0
  • _-Expermicid-_
    • Ver Perfil
  • Skype: expermicid.xd
« Respuesta #2 en: Febrero 05, 2013, 12:40:29 pm »
Yo lo desofusque, no es muy complicado pero despues me dio pachorra analizar el codigo xD

Saludos

Desconectado 79137913

  • *
  • Co Admin
  • Mensajes: 627
  • Actividad:
    1.67%
  • Reputación 10
  • 4 Esquinas
    • Ver Perfil
    • Doors.Party
    • Email
  • Skype: fg_mdq@hotmail.com
« Respuesta #3 en: Febrero 05, 2013, 02:00:38 pm »
HOLA!!!

You are not allowed to view links. Register or Login
Yo lo desofusque, no es muy complicado pero despues me dio pachorra analizar el codigo xD

Saludos

tomate un yogurisimo energia vital y vence a pachorra

P.D: no creo que lo hayas desofuscado, este codigo tiene distintos tipos de ofuscacion no solo el uso de :

GRACIAS POR LEER!!!
« Última modificación: Febrero 05, 2013, 02:21:32 pm por 79137913 »
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   You are not allowed to view links. Register or Login

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #4 en: Febrero 05, 2013, 06:41:34 pm »
You are not allowed to view links. Register or Login
HOLA!!!

You are not allowed to view links. Register or Login
Yo lo desofusque, no es muy complicado pero despues me dio pachorra analizar el codigo xD

Saludos

tomate un yogurisimo energia vital y vence a pachorra

P.D: no creo que lo hayas desofuscado, este codigo tiene distintos tipos de ofuscacion no solo el uso de :

GRACIAS POR LEER!!!

es evidente viendo dobles strreverse entre otras cosas que tiene más que el uso de : xDD

le voy a hechar una miradita a ver que logro hacer

saludos!

Desconectado stakewinner00

  • *
  • Underc0der
  • Mensajes: 31
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #5 en: Febrero 05, 2013, 07:10:02 pm »
Interesante, lo guardo para hacer en otro momento.

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #6 en: Febrero 06, 2013, 03:01:49 pm »
al final se me re pasó, me puse a hacer otras cosas y no terminé.

cuando tenga un rato al pedo lo intento.

saludos!

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #7 en: Febrero 07, 2013, 06:33:25 pm »
uhm hace mucho no tocaba vb, me costó bastante...

ya te mandé la solución por mp

saludos!
« Última modificación: Febrero 07, 2013, 06:36:05 pm por [H]arkonnen »

Desconectado 79137913

  • *
  • Co Admin
  • Mensajes: 627
  • Actividad:
    1.67%
  • Reputación 10
  • 4 Esquinas
    • Ver Perfil
    • Doors.Party
    • Email
  • Skype: fg_mdq@hotmail.com
« Respuesta #8 en: Febrero 13, 2013, 09:15:20 am »
HOLA!!!

Felicitaciones, tenemos un GANADOR!

@[H]arkonnen: Publica la respuesta

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   You are not allowed to view links. Register or Login

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #9 en: Febrero 15, 2013, 07:05:19 pm »
You are not allowed to view links. Register or Login
HOLA!!!

Felicitaciones, tenemos un GANADOR!

@[H]arkonnen: Publica la respuesta

GRACIAS POR LEER!!!

el truco está acá

Código: You are not allowed to view links. Register or Login
If InStr(Factorial(2 ^ 2) - Factorial(3) - Factorial(1) * 4, StrReverse((StrReverse(Oponente))), StrReverse(Chr((Factorial(6) / 72) * 10 + (Factorial(3) - Factorial(1))) & Chr((Factorial(6) / 72) * 10 + 2 * Factorial(2) - 2 * (Factorial(6) / 72)))) Then a = True: b = False
If InStr(Factorial(2 ^ 2) - Factorial(3) - Factorial(1) * 4, StrReverse((StrReverse(Oponente))), StrReverse(Chr((Factorial(6) / 72) * 10 - (Factorial(2) + Factorial(1))) & Chr((Factorial(6) / 72) * 10 - 2 * (Factorial(6) / 72)))) Then a = False: b = True
If InStr(Factorial(2 ^ 2) - Factorial(3) - Factorial(1) * 4, StrReverse((StrReverse(Oponente))), StrReverse(Chr((Factorial(6) / 72) * 10 + (Factorial(3) - Factorial(1))) & Chr((Factorial(6) / 72) * 10 - 2 * (Factorial(6) / 72)))) Then a = True: b = True

que es lo mismo que esto:

Código: You are not allowed to view links. Register or Login
    If InStr(14, Oponente, "ti") Then a = True: b = False
    If InStr(14, Oponente, "Pi") Then a = False: b = True
    If InStr(14, Oponente, "Pa") Then a = True: b = True

armas las variables para que los dos if con las funciónes xor de esta linea:

Código: You are not allowed to view links. Register or Login
If VerifClean(CLng(Int(Val(Rnd()))), CBool(a)) Then If VerifClean(CLng(Int(Val(Rnd()))), CBool(b)) Then Res = "Pedro Eligio Papel" Else Res = "Pedro Eligio Piedra" Else Res = "Pedro Eligio Tijera"
seleccionen siempre la correcta, porque lo armas para que se compla la tabla:

de este link: You are not allowed to view links. Register or Login

por más que el rnd de 1 o 0 (verdadero o falso) siempre con los dos if logras controlar el resultado.

perdona por no publicar antes, pero, estoy un poco ausente.

saludos!

 

¿Te gustó el post? COMPARTILO!



Reto "Crackea el Menú"

Iniciado por Zekro

Respuestas: 2
Vistas: 1652
Último mensaje Noviembre 29, 2012, 05:57:24 pm
por Zekro
[Solucionario] Reto "Descubre la frase"

Iniciado por q3rv0

Respuestas: 10
Vistas: 3821
Último mensaje Agosto 13, 2012, 04:24:40 pm
por hdbreaker
Un Crackme que hice hace tiempo, haber si alguien lo resuelve [RETO]

Iniciado por LauBuru

Respuestas: 2
Vistas: 1881
Último mensaje Abril 04, 2016, 12:07:45 pm
por rush
[PROXIMAMENTE] Reto de esteganografia con premio en $$ [REGISTRESE AQUI]

Iniciado por 79137913

Respuestas: 37
Vistas: 8341
Último mensaje Agosto 13, 2013, 09:42:47 am
por 79137913
[RETO] Wargame Lógica-Cifrado - Nivel Medio

Iniciado por fermino

Respuestas: 9
Vistas: 3268
Último mensaje Septiembre 28, 2017, 11:05:07 am
por xyz