elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  BCP: Best Cactus Programmer
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: BCP: Best Cactus Programmer  (Leído 4,865 veces)
Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.164


Cheats y Trainers para todos!


Ver Perfil WWW
BCP: Best Cactus Programmer
« en: 22 Octubre 2006, 18:35 pm »

Hola gente!

Aqui presento el BCP (Best Cactus Programmer). Presento este concurso para animar a la gente que programe sencillas funciones que cumplan unos requisitos y objetivos claros. Los ganadores seleccionados serán  añadidos como "Colaboradores" en la ventana de "About" y en el "Leame" del nuevo Cactus Joiner, añadiendo su nick, mail y pagina web como motivo de agradecimiento.

Para ello voy a formular a lo largo de esta semana unas cuantas preguntas sobre programación. El primer usuario que responda mi problema correctamente se añadirá su código en el cactus y pondré su nick en los creditos.



Primera pregunta:

Tengo una variable con una ruta completa de un archivo, necesito sacar el nombre del archivo completo y su extensión. El nombre del archivo no tiene una longitud estática. Y la estensión del archivo suele ser de 3 carácteres, aunque podría tener más o menos carácteres. Pido una sencilla función con un solo parámetro de entrada (la ruta completa del archivo) y 2 variables de salida: El nombre del archivo y su extensión.

TERMINADO: Hendrix y WarGhost
FUNCIÓN:

Código:
Public Function ExtraerCadena(cadena As String, l As Long) As String
Dim FullName As String
FullName = Mid(cadena, InStrRev(cadena, "\") + 1)
Select Case l
Case 1
ExtraerCadena = Mid(FullName, 1, InStrRev(FullName, ".") - 1)
Case 2
ExtraerCadena = Mid(FullName, InStrRev(FullName, ".") + 1)
Case 3
ExtraerCadena = FullName
End Select
End Function

Citar
1 = Devuelve el nombre
2 = Devuelve la extesion
3 = Devuelve el FullName



Segunda pregunta:

Necesito una función para cifrar programas. No se puede usar la función XOR ya que nos puede aparecer el carácter Chr(0) (fin de cadena).

1) La función no puede ser muy extensa y no tiene que consumir muchos recursos.
2) Aparte tiene que ser recursiva (que sirva tanto para cifrar/descifrar opcional)
3) Si ciframos un virus con esa función, los AV no tienen que detectarlo

TERMINADO: Hendrix
FUNCIÓN:

Código:
Public Function crypt(cadena As String) As String
crypt = StrReverse(cadena)
End Function



Tercera pregunta:

Necesito una función (o varias) que me devuelvan el nombre completo y su extensión del propio programa que estamos ejecutando. Por ejemplo: Si el programa se llama 'hola.exe' que devuelva 'hola.exe' si se llama 'adios.bat' que devuelva 'adios.bat'. La variable App.EXEName solo devuelve el nombre del ejecutable, pero no su extensión.

TERMINADO: Lympex[/b]
FUNCION:[/b]

Código:
Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long

Private Sub Form_Load()
Dim nombre As String
nombre = String$(255, Chr$(0))

GetModuleFileName 0, nombre, Len(nombre)
MsgBox nombre
End Sub


« Última modificación: 29 Octubre 2006, 12:30 pm por ||MadAntrax|| » En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Ayuda para el cactus 2.5
« Respuesta #1 en: 22 Octubre 2006, 18:51 pm »

Aki esta:

Código:
Public Function Sacarext(cadena As String) As String
Dim a As Variant
Dim cont As Integer
Dim b As String

For i = 1 To Len(cadena)
b = Mid(cadena, i, 1)
If b = "." Then
cont = cont + 1
End If
Next

a = Split(cadena, ".")
Sacarext = a(cont)
End Function

Public Function Sacarnombre(cadena As String) As String
Dim a As Variant
Dim cont As Integer
Dim b As String

For i = 1 To Len(cadena)
b = Mid(cadena, i, 1)
If b = "\" Then
cont = cont + 1
End If
Next

a = Split(cadena, "\")
Sacarnombre = a(cont)
End Function

Private Sub Form_Load()
Dim cadena As String
Dim ruta As String
Dim ext As String

cadena = "C:\Hendrix\programa.exe"
ruta = Sacarnombre(cadena)
ext = Sacarext(cadena)

MsgBox ruta
MsgBox ext

End Sub

Salu2



En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.164


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Ayuda para el cactus 2.5
« Respuesta #2 en: 22 Octubre 2006, 18:57 pm »

Muchas grácias por el código Hendrix. Lo he probado y funciona de maravilla. Aunque creo que puede ser simplificado y mejorado en tan solo una sola función. Voy a dejar a ver si otro usuario se anima ha hacer lo mismo en una sola función.

De todas formas, por ser el primero y de haberte tomado la smolestias incluiré tu Nick en la sección de colaboradores del Cactus :)

Gracias por colaborar!! ::)
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Ayuda para el cactus 2.5
« Respuesta #3 en: 22 Octubre 2006, 19:01 pm »

Aki esta remodelada:

Código:
Dim ruta As String
Dim ext As String

Public Function Sacartodo(cadena As String)
Dim a As Variant
Dim c As Variant
Dim cont As Integer
Dim cont2 As Integer
Dim b As String

For i = 1 To Len(cadena)
b = Mid(cadena, i, 1)
If b = "\" Then
cont = cont + 1
End If
If b = "." Then
cont2 = cont2 + 1
End If
Next

a = Split(cadena, "\")
ruta = a(cont)

a = Split(cadena, ".")
ext = a(cont2)
End Function


Private Sub Form_Load()
Dim cadena As String

cadena = "C:\Hendrix\torero\programa.exe"

Sacartodo cadena

MsgBox ruta
MsgBox ext

End Sub

Salu2

En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Ayuda para el cactus 2.5
« Respuesta #4 en: 22 Octubre 2006, 19:08 pm »

bueno aquí la dejo mi aportación:

Código:
Public Function ExtraerCadena(cadena As String, l As Long) As String
Dim FullName As String
FullName = Mid(cadena, InStrRev(cadena, "\") + 1)
Select Case l
Case 1
ExtraerCadena = Mid(FullName, 1, InStrRev(FullName, ".") - 1)
Case 2
ExtraerCadena = Mid(FullName, InStrRev(FullName, ".") + 1)
Case 3
ExtraerCadena = FullName
End Select
End Function

Citar
1 = Devuelve el nombre
2 = Devuelve la extesion
3 = Devuelve el FullName

;D Salu2, David
« Última modificación: 22 Octubre 2006, 19:09 pm por WarGhost » En línea

¿Qué culpa tengo yo de tener la sangre roja y el corazón a la izquierda?
Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.164


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Ayuda para el cactus 2.5
« Respuesta #5 en: 22 Octubre 2006, 19:17 pm »

Bueno, Hendrix se ha tomado la molestian en responder el primero y encima mejorar su código. Y WarGhost ha hecho una función sencilla, rapida y eficaz, sin FOR ni SPLIT.

En esta primera prueba saldrán Hendrix y WarGhost como colaboradores de el cactus. Felicidades!!
« Última modificación: 22 Octubre 2006, 19:32 pm por ||MadAntrax|| » En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: BCP: Best Cactus Programmer
« Respuesta #6 en: 22 Octubre 2006, 19:39 pm »

Segunda parte

Asi a bote pronto te e echo esto:

Código:
Public Function crypt(cadena As String) As String
crypt = StrReverse(cadena)
End Function

xD xD xD es reversible....aunke es facililla de ver los AV's no lo cantarian...

Salu2

En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.164


Cheats y Trainers para todos!


Ver Perfil WWW
Re: BCP: Best Cactus Programmer
« Respuesta #7 en: 22 Octubre 2006, 19:42 pm »

Ok, esto serviría, de momento te apunto y dejo el tema abierto a ver si alguien se le ilumina la bombilla y nos saca otra función :rolleyes:

Felicidades. Ojo que voy a ir trabajando sobre el primer post, si podreis ver que preguntas estan abiertas o cerradas y quienes con los actuales ganadores
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
NYlOn


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: BCP: Best Cactus Programmer
« Respuesta #8 en: 22 Octubre 2006, 22:56 pm »

Lo unico que podes lograr cifrando el codigo es que los AVs no detecten el exe bindeado. Al momento que desencriptes el bicho y lo ejecutes el AV lo va a detectar.

Si todavia necesitas cifrar, podes usar el metodo Huffman que ademas de cifrar reduce el codigo, haciendo el ejecutable final mas liviano.

Saludos.-
En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: BCP: Best Cactus Programmer
« Respuesta #9 en: 22 Octubre 2006, 23:08 pm »

lo de la encriptacion huffman también se lo dije.

Lo unico que podes lograr cifrando el codigo es que los AVs no detecten el exe bindeado. Al momento que desencriptes el bicho y lo ejecutes el AV lo va a detectar.

ya pero si también adjuntas un Av-killer indetectable pues ya as sirve de algo.

;D Salu2
En línea

¿Qué culpa tengo yo de tener la sangre roja y el corazón a la izquierda?
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
I'm a programmer [Comic] « 1 2 »
Foro Libre
[D4N93R] 16 32,294 Último mensaje 30 Enero 2011, 14:51 pm
por anonimo12121
Cactus VBS Crypter 1.0 « 1 2 »
Análisis y Diseño de Malware
Mad Antrax 12 11,789 Último mensaje 9 Diciembre 2014, 04:24 am
por .BrutuS
ZL4PRG-Programmer-universal « 1 2 3 »
Hardware
Hason 23 7,354 Último mensaje 26 Febrero 2017, 16:27 pm
por Randomize
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines