|
231
|
Programación / Scripting / Re: Mi primer proyecto de python
|
en: 27 Agosto 2020, 03:22 am
|
Hola, lo 1º es que estoy de acuerdo con el de arriba en numerosas cosas (principalmente en lo del código redundante). 2º Si llevas solo dos semanas estudiando y ya has conseguido sacar este proyecto tu solo desde cero, sin duda has aprovechado bastante bien el tiempo en mi opinión. 4º Por lo de la dislexia no te preocupes, te recomiendo usar el traductor de google o word para corregir las faltas a grosso modo, te lo recomiendo porque personalmente también tuve ciertos problemas parecidos y me fue muy bien. 5º Este código lo hice hace bastante tiempo, es más corto y es para una contraseña y usuario predefinido con un limite de tres intentos. contador =
usuario = input("introduzca el nombe de usuario:") Contraseña2 = input("introduzca la contraseña:")
while contador != 3: if usuario == "root": pass if Contraseña2 == "toor": print("bienvenido") break if usuario != "root": contador = contador + 1 print("quedan " + str(int(contador)) + " intentos") break
Hola tu código es muy bueno,hice una pequeña modificación.Que lo que hace es que te da 3 intentos y así. No tengo idea si la forma en la que lo hice fue la correcta.Pero me sorprendió que lo pensé y rápidamente logre hacerlo. ¿Que opinas? contador = 4 loop = True user = input("introduzca el nombre de usuario:") contra = input("introduzca la contraseña:") while loop: if user == "root": if contra == "123": print("Bienvenido") break if user != "root": if contra != "123": contador = contador - 1 print ("Quedan " + str(int(contador)) + " intentos!") user = input("Ingrese su usuario:") contra = input("Ingrese su contraseña:") if contador == 1: print("Saliendo...") break
|
|
|
232
|
Programación / Scripting / Re: Mi primer proyecto de python
|
en: 25 Agosto 2020, 03:00 am
|
hola: ¿lo has probado?, ¿realmente crees que a los usuarios les gusta esperar por qué si? tiene muchas cosas mal de lógica, otras innecesarias u otras faltan, código reduntante, y errores de ortografía o sintaxis(más vale que podés escribir como quieras, pero está bueno que el resultado final este cuidado). Te recomendaría que busques códigos de esto mismo, hay por toneladas en la red y compares que querés hacer y que hace realmente.Lee más sobre bucles y condicionales como mínimo. Como aprendizaje se nota terriblemente la falta de conocimientos. No es con intención de ofender ni desmoralizar, práctica más, busca info de manejo de errores y trata de simplificar, en todo caso plantea dudas, hay muchos que saben y mientras no esperes todo hecho ni sea algo que pueda ser malicioso, seguro te ayudarán.
Claro,obvio que lo probé.Y lo de "Esperar" es por que quería reanimar otro proyecto.Que tenia en PSeint este Funcion Otromenu2 <- Otromenu22 (Otromenu222) Escribir '**************************' Escribir '1:Menu Cálculo *' Escribir '2:Jogo adivinhar o numbe *' Escribir '3:Ta Te Ti *' Escribir '4:Hanoi *' Escribir '**************************' Leer Menu2 Segun Menu2 Hacer 1: Escribir CALCULOPORTU(CONVERPORTU) 2: intentos <- 10 num_secreto <- azar(100)+1 Escribir 'Adivinha o número (de 1 a 100):' Leer num_ingresado Mientras num_secreto<>num_ingresado Y intentos>1 Hacer Si num_secreto>num_ingresado Entonces Escribir 'Muito baixo' SiNo Escribir 'Muito alto' FinSi intentos <- intentos-1 Escribir 'Ele saiu ',intentos,' Tentativas:' Leer num_ingresado FinMientras Si num_secreto=num_ingresado Entonces Escribir 'Exato! Você adivinha em ',11-intentos,' Tentativas.' SiNo Escribir 'O número era: ',num_secreto FinSi 3: Dimension Tab1[3,3] Dimension Tab2[3,3] Para i<-1 Hasta 3 Hacer Para j<-1 Hasta 3 Hacer Tab1[i,j]<-0 Tab2[i,j]<-' ' FinPara FinPara TurnoJugador1 <- verdadero Terminado <- Falso Ganador <- Falso CantTurnos <- 0 Mientras NO Terminado Hacer Borrar Pantalla Escribir ' ' Escribir ' || || ' Escribir ' ',Tab2[1,1],' || ',Tab2[1,2],' || ',Tab2[1,3] Escribir ' 1|| 2|| 3' Escribir ' =====++=====++======' Escribir ' || || ' Escribir ' ',Tab2[2,1],' || ',Tab2[2,2],' || ',Tab2[2,3] Escribir ' 4|| 5|| 6' Escribir ' =====++=====++======' Escribir ' || || ' Escribir ' ',Tab2[3,1],' || ',Tab2[3,2],' || ',Tab2[3,3] Escribir ' 7|| 8|| 9' Escribir ' ' Si NO Ganador Y CantTurnos<9 Entonces Si TurnoJugador1 Entonces Ficha <- 'O'; Valor <- 1; Objetivo <- 1 Escribir 'A vez do jogador 1 (X)' SiNo Ficha <- 'X'; Valor <- 2; Objetivo <- 8 Escribir 'A vez do jogador 2 (O)' FinSi Escribir 'Digite a posição (1-9):' Repetir Leer Pos Si Pos<1 O Pos>9 Entonces Escribir 'Posição incorreta, entre novamente: ' Pos <- 99 SiNo i <- trunc((Pos-1)/3)+1 j <- ((Pos-1) MOD 3)+1 Si Tab1[i,j]<>0 Entonces Pos <- 99 Escribir 'Posição incorreta, entre novamente: ' FinSi FinSi Hasta Que Pos<>99 CantTurnos <- CantTurnos+1 Tab1[i,j]<-Valor Tab2[i,j]<-Ficha aux_d1 <- 1; aux_d2 <- 1 Para i<-1 Hasta 3 Hacer aux_i <- 1; aux_j <- 1 aux_d1 <- aux_d1*Tab1[i,i] aux_d2 <- aux_d2*Tab1[i,4-i] Para j<-1 Hasta 3 Hacer aux_i <- aux_i*Tab1[i,j] aux_j <- aux_j*Tab1[j,i] FinPara Si aux_i=Objetivo O aux_j=Objetivo Entonces Ganador <- verdadero FinSi FinPara Si aux_d1=Objetivo O aux_d2=Objetivo Entonces Ganador <- verdadero SiNo TurnoJugador1 <- NO TurnoJugador1 FinSi SiNo Si Ganador Entonces Escribir 'Vencedor: ' Si TurnoJugador1 Entonces Escribir 'Jogador 1!' SiNo Escribir 'Jogador 2!' FinSi SiNo Escribir 'Draw!' FinSi Terminado <- verdadero FinSi FinMientras 4: Dimension torres[3,10],cant_discos[3] Escribir 'Ingrese el nro de discos (1-8):' Leer discos Mientras discos<1 O discos>8 Hacer Escribir 'El numero de discos debe ser mayor a 0 y menor a 5:' Leer discos FinMientras cant_discos[1] <- discos cant_discos[2] <- 0 cant_discos[3] <- 0 Para i<-1 Hasta discos Hacer torres[1,i]<-discos-i+1 FinPara cant_movs <- 0 Mientras cant_discos[3]<>discos Hacer Borrar Pantalla Para i<-1 Hasta 3 Hacer Escribir 'Torre ',i Si cant_discos[i]=0 Entonces Escribir '' SiNo Para j<-cant_discos[i] Hasta 1 Con Paso -1 Hacer Segun torres[i,j] Hacer 1: Escribir ' XX' 2: Escribir ' XXXXXX' 3: Escribir ' XXXXXXXXXX' 4: Escribir ' XXXXXXXXXXXXXX' 5: Escribir ' XXXXXXXXXXXXXXXXXX' 6: Escribir ' XXXXXXXXXXXXXXXXXXXXXX' 7: Escribir ' XXXXXXXXXXXXXXXXXXXXXXXXXX' 8: Escribir ' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' FinSegun FinPara FinSi Escribir ' ----------------------------------' Escribir '' FinPara Escribir 'Mover desde la torre: ' Leer t1 Escribir 'hacia la torre: ' Leer t2 Si t1<1 O t1>3 O t2<1 O t2>3 Entonces Escribir 'Movimiento invalido' Esperar Tecla SiNo Si cant_discos[t1]=0 Entonces Escribir 'Movimiento invalido' Esperar Tecla SiNo disco_a_mover <- torres[t1,cant_discos[t1]] puede_mover <- verdadero Si cant_discos[t2]<>0 Entonces Si torres[t2,cant_discos[t2]]<disco_a_mover Entonces puede_mover <- Falso FinSi FinSi Si puede_mover Entonces cant_movs <- cant_movs+1 cant_discos[t2] <- cant_discos[t2]+1 torres[t2,cant_discos[t2]]<-disco_a_mover cant_discos[t1] <- cant_discos[t1]-1 SiNo Escribir 'Movimiento invalido' Esperar Tecla FinSi FinSi FinSi FinMientras Borrar Pantalla Escribir 'Juego finalizado en ',cant_movs,' movimientos!' De Otro Modo: Escribir 'Operação inválida' FinSegun FinFuncion Funcion Otromenu1 <- Otromenu11 (Otromenu111) Escribir '**************************' Escribir '1:Calculation Menu *' Escribir '2:Game guess the number *' Escribir '3:Ta Te Ti *' Escribir '4:Hanoi *' Escribir '**************************' Leer Menu2 Segun Menu2 Hacer 1: Escribir CALCULOINGLES(CONVERINGLES) 2: intentos <- 10 num_secreto <- azar(100)+1 Escribir 'Guess the number (from 1 to 100):' Leer num_ingresado Mientras num_secreto<>num_ingresado Y intentos>1 Hacer Si num_secreto>num_ingresado Entonces Escribir 'Very low' SiNo Escribir 'Very high' FinSi intentos <- intentos-1 Escribir 'He has left ',intentos,' Attempts:' Leer num_ingresado FinMientras Si num_secreto=num_ingresado Entonces Escribir 'Exact! You guess in ',11-intentos,' Attempts.' SiNo Escribir 'The number was: ',num_secreto FinSi 3: Dimension Tab1[3,3] Dimension Tab2[3,3] Para i<-1 Hasta 3 Hacer Para j<-1 Hasta 3 Hacer Tab1[i,j]<-0 Tab2[i,j]<-' ' FinPara FinPara TurnoJugador1 <- verdadero Terminado <- Falso Ganador <- Falso CantTurnos <- 0 Mientras NO Terminado Hacer Borrar Pantalla Escribir ' ' Escribir ' || || ' Escribir ' ',Tab2[1,1],' || ',Tab2[1,2],' || ',Tab2[1,3] Escribir ' 1|| 2|| 3' Escribir ' =====++=====++======' Escribir ' || || ' Escribir ' ',Tab2[2,1],' || ',Tab2[2,2],' || ',Tab2[2,3] Escribir ' 4|| 5|| 6' Escribir ' =====++=====++======' Escribir ' || || ' Escribir ' ',Tab2[3,1],' || ',Tab2[3,2],' || ',Tab2[3,3] Escribir ' 7|| 8|| 9' Escribir ' ' Si NO Ganador Y CantTurnos<9 Entonces Si TurnoJugador1 Entonces Ficha <- 'O'; Valor <- 1; Objetivo <- 1 Escribir 'Players turn 1 (X)' SiNo Ficha <- 'X'; Valor <- 2; Objetivo <- 8 Escribir 'Players turn 2 (O)' FinSi Escribir 'Enter the Position (1-9):' Repetir Leer Pos Si Pos<1 O Pos>9 Entonces Escribir 'Incorrect position, enter again: ' Pos <- 99 SiNo i <- trunc((Pos-1)/3)+1 j <- ((Pos-1) MOD 3)+1 Si Tab1[i,j]<>0 Entonces Pos <- 99 Escribir 'Incorrect position, enter again: ' FinSi FinSi Hasta Que Pos<>99 CantTurnos <- CantTurnos+1 Tab1[i,j]<-Valor Tab2[i,j]<-Ficha aux_d1 <- 1; aux_d2 <- 1 Para i<-1 Hasta 3 Hacer aux_i <- 1; aux_j <- 1 aux_d1 <- aux_d1*Tab1[i,i] aux_d2 <- aux_d2*Tab1[i,4-i] Para j<-1 Hasta 3 Hacer aux_i <- aux_i*Tab1[i,j] aux_j <- aux_j*Tab1[j,i] FinPara Si aux_i=Objetivo O aux_j=Objetivo Entonces Ganador <- verdadero FinSi FinPara Si aux_d1=Objetivo O aux_d2=Objetivo Entonces Ganador <- verdadero SiNo TurnoJugador1 <- NO TurnoJugador1 FinSi SiNo Si Ganador Entonces Escribir 'Winner: ' Si TurnoJugador1 Entonces Escribir 'Player 1!' SiNo Escribir 'Player 2!' FinSi SiNo Escribir 'Tie!' FinSi Terminado <- verdadero FinSi FinMientras 4: Dimension torres[3,10],cant_discos[3] Escribir 'Enter the number of disks (1-8):' Leer discos Mientras discos<1 O discos>8 Hacer Escribir 'The number of discs must be greater than 0 and less than 5:' Leer discos FinMientras cant_discos[1] <- discos cant_discos[2] <- 0 cant_discos[3] <- 0 Para i<-1 Hasta discos Hacer torres[1,i]<-discos-i+1 FinPara cant_movs <- 0 Mientras cant_discos[3]<>discos Hacer Borrar Pantalla Para i<-1 Hasta 3 Hacer Escribir 'Tower ',i Si cant_discos[i]=0 Entonces Escribir '' SiNo Para j<-cant_discos[i] Hasta 1 Con Paso -1 Hacer Segun torres[i,j] Hacer 1: Escribir ' XX' 2: Escribir ' XXXXXX' 3: Escribir ' XXXXXXXXXX' 4: Escribir ' XXXXXXXXXXXXXX' 5: Escribir ' XXXXXXXXXXXXXXXXXX' 6: Escribir ' XXXXXXXXXXXXXXXXXXXXXX' 7: Escribir ' XXXXXXXXXXXXXXXXXXXXXXXXXX' 8: Escribir ' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' FinSegun FinPara FinSi Escribir ' ----------------------------------' Escribir '' FinPara Escribir 'Move from the tower: ' Leer t1 Escribir 'towards the tower: ' Leer t2 Si t1<1 O t1>3 O t2<1 O t2>3 Entonces Escribir 'Invalid movement' Esperar Tecla SiNo Si cant_discos[t1]=0 Entonces Escribir 'Invalid movement' Esperar Tecla SiNo disco_a_mover <- torres[t1,cant_discos[t1]] puede_mover <- verdadero Si cant_discos[t2]<>0 Entonces Si torres[t2,cant_discos[t2]]<disco_a_mover Entonces puede_mover <- Falso FinSi FinSi Si puede_mover Entonces cant_movs <- cant_movs+1 cant_discos[t2] <- cant_discos[t2]+1 torres[t2,cant_discos[t2]]<-disco_a_mover cant_discos[t1] <- cant_discos[t1]-1 SiNo Escribir 'Invalid movement' Esperar Tecla FinSi FinSi FinSi FinMientras Borrar Pantalla Escribir 'Game over in ',cant_movs,' movements!' De Otro Modo: Escribir 'Invalid operation' FinSegun FinFuncion
Funcion MENUDECALCULOPORTU <- CALCULOPORTU (CONVERPORTU) Repetir Escribir '*************************' Escribir '* MENU DE CÁLCULO *' Escribir '*************************' Escribir '*1:Vá de MB para KB *' Escribir '*2:Vá de KB para MB *' Escribir '*3:Vá de MB para GB *' Escribir '*4:Menu inicial *' Escribir '*Escolha uma opção (1-4)*' Escribir '*************************' Leer Menu_de_calculoIngles Segun Menu_de_calculoIngles Hacer 1: Repetir Escribir 'Digite o valor que deseja converter de MB para KB' Leer MBAKB respultado <- MBAKB*1024 Borrar Pantalla Escribir 'a quantidade é KB ',respultado Escribir 'Repetir?' Escribir '1:sim' Escribir '2:Não' Leer repetirMBAKB Hasta Que repetirMBAKB=2 Escribir 'Pressione Enter para continuar' Esperar Tecla Borrar Pantalla 2: Repetir Escribir 'Digite o valor que você deseja transformar de KB para MB' Leer KBAMB respultado <- KBAMB/1024 Borrar Pantalla Escribir 'a quantidade é MB ',respultado Escribir 'Repetir?' Escribir '1:sim' Escribir '2:Não' Leer repetirMBAKB1 Hasta Que repetirMBAKB1='2' Escribir 'Pressione Enter para continuar' Esperar Tecla Borrar Pantalla 3: Repetir Escribir 'Digite o valor que você deseja transformar de MB para GB' Leer MBAGB respultado <- MBAGB/1024 Borrar Pantalla Escribir 'a quantidade é GB ',respultado Escribir 'Repetir?' Escribir '1:sim' Escribir '2:não' Leer repetirMBAKB2 Hasta Que repetirMBAKB2='2' Escribir 'Pressione Enter para continuar' Esperar Tecla Borrar Pantalla 4: Escribir 'VOLTAR AO MENU INICIAL' Borrar Pantalla De Otro Modo: Escribir 'OPERAÇÃO NÃO VÁLIDA' FinSegun Hasta Que Menu_de_calculo=4 FinFuncion
Funcion MENUDECALCULOINGLES <- CALCULOINGLES (CONVERINGLES) Repetir Escribir '************************' Escribir '* CALCULATION MENU *' Escribir '************************' Escribir '*1:Go from MB to KB *' Escribir '*2:Move from KB to MB *' Escribir '*3:Go from MB to GB *' Escribir '*4:Initial menu *' Escribir '*Choose an option (1-4)*' Escribir '************************' Leer Menu_de_calculo Segun Menu_de_calculo Hacer 1: Repetir Escribir 'Enter amount you want to convert from MB to KB' Leer MBAKB respultado <- MBAKB*1024 Borrar Pantalla Escribir 'the amount is KB ',respultado Escribir 'To repeat?' Escribir '1:Yes' Escribir '2:No' Leer repetirMBAKB Hasta Que repetirMBAKB=2 Escribir 'Press enter to continue' Esperar Tecla Borrar Pantalla 2: Repetir Escribir 'Enter amount you want to transform from KB to MB' Leer KBAMB respultado <- KBAMB/1024 Borrar Pantalla Escribir 'the amount is MB ',respultado Escribir 'To repeat?' Escribir '1:Yes' Escribir '2:no' Leer repetirMBAKB1 Hasta Que repetirMBAKB1='2' Escribir 'Press enter to continue' Esperar Tecla Borrar Pantalla 3: Repetir Escribir 'Enter amount you want to transform from MB to GB' Leer MBAGB respultado <- MBAGB/1024 Borrar Pantalla Escribir 'the amount is GB ',respultado Escribir 'To repeat?' Escribir '1:Yes' Escribir '2:no' Leer repetirMBAKB2 Hasta Que repetirMBAKB2='2' Escribir 'Press enter to continue' Esperar Tecla Borrar Pantalla 4: Escribir 'BACK TO THE INITIAL MENU' Borrar Pantalla De Otro Modo: Escribir 'OPERATION NOT VALID' FinSegun Hasta Que Menu_de_calculo=4 FinFuncion
Funcion MENUDECALCULO <- CALULO (CONVER) Repetir Escribir '************************' Escribir '* MENU DE CALCULO *' Escribir '************************' Escribir '*1:Pasar de MB a KB *' Escribir '*2:Pasar de KB a MB *' Escribir '*3:Pasar de MB a GB *' Escribir '*4:Menu inicial *' Escribir '*Elija una opción (1-4)*' Escribir '************************' Leer Menu_de_calculo Segun Menu_de_calculo Hacer 1: Repetir Escribir 'Ingrese cantidad que desea transformar de MB a KB' Leer MBAKB respultado <- MBAKB*1024 Borrar Pantalla Escribir 'la cantidad es de KB ',respultado Escribir 'Volver a repetir?' Escribir '1:si' Escribir '2:no' Leer repetirMBAKB Hasta Que repetirMBAKB=2 Escribir 'Presione enter para continuar' Esperar Tecla Borrar Pantalla 2: Repetir Escribir 'Ingrese cantidad que desea transformar de KB a MB' Leer KBAMB respultado <- KBAMB/1024 Borrar Pantalla Escribir 'la cantidad es de MB ',respultado Escribir 'Volver a repetir?' Escribir '1:si' Escribir '2:no' Leer repetirMBAKB1 Hasta Que repetirMBAKB1='2' Escribir 'Presione enter para continuar' Esperar Tecla Borrar Pantalla 3: Repetir Escribir 'Ingrese cantidad que desea transformar de MB a GB' Leer MBAGB respultado <- MBAGB/1024 Borrar Pantalla Escribir 'la cantidad es de GB ',respultado Escribir 'Volver a repetir?' Escribir '1:si' Escribir '2:no' Leer repetirMBAKB2 Hasta Que repetirMBAKB2='2' Escribir 'Presione enter para continuar' Esperar Tecla Borrar Pantalla 4: Escribir 'VOLVIENDO AL MENU INICIAL' Borrar Pantalla De Otro Modo: Escribir 'OPERACION NO VALIDA' FinSegun Hasta Que Menu_de_calculo=4 FinFuncion
Funcion funciondeenter <- funcionX2 (limpiarpantallax2) Escribir 'Presione enter' Esperar Tecla Borrar Pantalla FinFuncion
Funcion esperarFun2 <- fun2 (anim) Esperar 1 Segundos Escribir '.' Esperar 1 Segundos Escribir '.' Esperar 1 Segundos Escribir '.' FinFuncion
Algoritmo proyecto_FF1_V2 Escribir '************************' Escribir '* MENU *' Escribir '************************' Escribir '*1:Español *' Escribir '*2:Ingles *' Escribir '*3:portugués *' Escribir '*4:Salir *' Escribir '*Elija una opción (1-4)*' Escribir '************************' Leer idioma Borrar Pantalla Segun idioma Hacer 1: Repetir Escribir '************************' Escribir '* MENU *' Escribir '************************' Escribir '*1:Iniciar program *' Escribir '*2:Registrarse *' Escribir '*3:Olvido sus datos? *' Escribir '*4:Salir *' Escribir '*Elija una opción (1-4)*' Escribir '************************' Leer OP Borrar Pantalla Segun OP Hacer 1: Escribir 'Ingrese su usuario' Leer usuario45 Si usuario10=usuario45 Entonces Escribir 'Escriba su usuario' Leer usuariodeinicodeseion Borrar Pantalla Escribir 'Que tipo de seguridad tiene su cuenta?' Escribir '1:Contraseña' Escribir '2:Pin' Escribir 'Elija una opción (1-2):' Leer OP4 Segun OP4 Hacer 1: Escribir 'Ingrese su contraseña' Leer contraseña3 Borrar Pantalla Si usuariodeinicodeseion=usuario20 Entonces Escribir '**************************' Escribir '1:Menu de calculo *' Escribir '2:Juego adivina el numero*' Escribir '3:Ta Te Ti *' Escribir '4:Hanoi *' Escribir '**************************' Leer Menu2 Segun Menu2 Hacer 1: Escribir CALULO(CONVER) 2: intentos <- 10 num_secreto <- azar(100)+1 Escribir 'Adivine el numero (de 1 a 100):' Leer num_ingresado Mientras num_secreto<>num_ingresado Y intentos>1 Hacer Si num_secreto>num_ingresado Entonces Escribir 'Muy bajo' SiNo Escribir 'Muy alto' FinSi intentos <- intentos-1 Escribir 'Le quedan ',intentos,' intentos:' Leer num_ingresado FinMientras Si num_secreto=num_ingresado Entonces Escribir 'Exacto! Usted adivino en ',11-intentos,' intentos.' SiNo Escribir 'El numero era: ',num_secreto FinSi 3: Dimension Tab1[3,3] Dimension Tab2[3,3] Para i<-1 Hasta 3 Hacer Para j<-1 Hasta 3 Hacer Tab1[i,j]<-0 Tab2[i,j]<-' ' FinPara FinPara TurnoJugador1 <- verdadero Terminado <- Falso Ganador <- Falso CantTurnos <- 0 Mientras NO Terminado Hacer Borrar Pantalla Escribir ' ' Escribir ' || || ' Escribir ' ',Tab2[1,1],' || ',Tab2[1,2],' || ',Tab2[1,3] Escribir ' 1|| 2|| 3' Escribir ' =====++=====++======' Escribir ' || || ' Escribir ' ',Tab2[2,1],' || ',Tab2[2,2],' || ',Tab2[2,3] Escribir ' 4|| 5|| 6' Escribir ' =====++=====++======' Escribir ' || || ' Escribir ' ',Tab2[3,1],' || ',Tab2[3,2],' || ',Tab2[3,3] Escribir ' 7|| 8|| 9' Escribir ' ' Si NO Ganador Y CantTurnos<9 Entonces Si TurnoJugador1 Entonces Ficha <- 'O'; Valor <- 1; Objetivo <- 1 Escribir 'Turno del jugador 1 (X)' SiNo Ficha <- 'X'; Valor <- 2; Objetivo <- 8 Escribir 'Turno del jugador 2 (O)' FinSi Escribir 'Ingrese la Posición (1-9):' Repetir Leer Pos Si Pos<1 O Pos>9 Entonces Escribir 'Posición incorrecta, ingrese nuevamente: ' Pos <- 99 SiNo i <- trunc((Pos-1)/3)+1 j <- ((Pos-1) MOD 3)+1 Si Tab1[i,j]<>0 Entonces Pos <- 99 Escribir 'Posición incorrecta, ingrese nuevamente: ' FinSi FinSi Hasta Que Pos<>99 CantTurnos <- CantTurnos+1 Tab1[i,j]<-Valor Tab2[i,j]<-Ficha aux_d1 <- 1; aux_d2 <- 1 Para i<-1 Hasta 3 Hacer aux_i <- 1; aux_j <- 1 aux_d1 <- aux_d1*Tab1[i,i] aux_d2 <- aux_d2*Tab1[i,4-i] Para j<-1 Hasta 3 Hacer aux_i <- aux_i*Tab1[i,j] aux_j <- aux_j*Tab1[j,i] FinPara Si aux_i=Objetivo O aux_j=Objetivo Entonces Ganador <- verdadero FinSi FinPara Si aux_d1=Objetivo O aux_d2=Objetivo Entonces Ganador <- verdadero SiNo TurnoJugador1 <- NO TurnoJugador1 FinSi SiNo Si Ganador Entonces Escribir 'Ganador: ' Si TurnoJugador1 Entonces Escribir 'Jugador 1!' SiNo Escribir 'Jugador 2!' FinSi SiNo Escribir 'Empate!' FinSi Terminado <- verdadero FinSi FinMientras 4: Dimension torres[3,10],cant_discos[3] Escribir 'Digite o número de discos (1-8):' Leer discos Mientras discos<1 O discos>8 Hacer Escribir 'número de discos deve ser maior que 0 e menor que 5:' Leer discos FinMientras cant_discos[1] <- discos cant_discos[2] <- 0 cant_discos[3] <- 0 Para i<-1 Hasta discos Hacer torres[1,i]<-discos-i+1 FinPara cant_movs <- 0 Mientras cant_discos[3]<>discos Hacer Borrar Pantalla Para i<-1 Hasta 3 Hacer Escribir 'Torre',i Si cant_discos[i]=0 Entonces Escribir '' SiNo Para j<-cant_discos[i] Hasta 1 Con Paso -1 Hacer Segun torres[i,j] Hacer 1: Escribir ' XX' 2: Escribir ' XXXXXX' 3: Escribir ' XXXXXXXXXX' 4: Escribir ' XXXXXXXXXXXXXX' 5: Escribir ' XXXXXXXXXXXXXXXXXX' 6: Escribir ' XXXXXXXXXXXXXXXXXXXXXX' 7: Escribir ' XXXXXXXXXXXXXXXXXXXXXXXXXX' 8: Escribir ' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' FinSegun FinPara FinSi Escribir ' ----------------------------------' Escribir '' FinPara Escribir 'Mover-se da torre: ' Leer t1 Escribir 'em direção à torre: ' Leer t2 Si t1<1 O t1>3 O t2<1 O t2>3 Entonces Escribir 'Movimento inválido' Esperar Tecla SiNo Si cant_discos[t1]=0 Entonces Escribir 'Movimento inválido' Esperar Tecla SiNo disco_a_mover <- torres[t1,cant_discos[t1]] puede_mover <- verdadero Si cant_discos[t2]<>0 Entonces Si torres[t2,cant_discos[t2]]<disco_a_mover Entonces puede_mover <- Falso FinSi FinSi Si puede_mover Entonces cant_movs <- cant_movs+1 cant_discos[t2] <- cant_discos[t2]+1 torres[t2,cant_discos[t2]]<-disco_a_mover cant_discos[t1] <- cant_discos[t1]-1 SiNo Escribir 'Movimento inválido' Esperar Tecla FinSi FinSi FinSi FinMientras Borrar Pantalla Escribir 'Game over in ',cant_movs,' movements!' De Otro Modo: Escribir 'Operacion no valida' FinSegun SiNo Escribir 'Contraseña incorrecta' FinSi 2: Escribir 'Ingrese su pin' Leer pin3 Si usuariodeinicodeseion=usuario20 Entonces Si pin1=pin3 Entonces Escribir '**************************' Escribir '1:Menu de calculo *' Escribir '2:Juego adivina el numero*' Escribir '**************************' Leer Menu2 Segun Menu2 Hacer 1: Escribir CALULO(CONVER) 2: intentos <- 10 num_secreto <- azar(100)+1 Escribir 'Adivine el numero (de 1 a 100):' Leer num_ingresado Mientras num_secreto<>num_ingresado Y intentos>1 Hacer Si num_secreto>num_ingresado Entonces Escribir 'Muy bajo' SiNo Escribir 'Muy alto' FinSi intentos <- intentos-1 Escribir 'Le quedan ',intentos,' intentos:' Leer num_ingresado FinMientras Si num_secreto=num_ingresado Entonces Escribir 'Exacto! Usted adivino en ',11-intentos,' intentos.' SiNo Escribir 'El numero era: ',num_secreto FinSi De Otro Modo: Escribir 'Operacion no valida' FinSegun SiNo Escribir 'Contraseña incorrecta' FinSi SiNo Escribir 'Pin incorrecto' Escribir funcionX2(limpiarpantallax2) FinSi De Otro Modo: Escribir 'Operacion no valida' Escribir funcionX2(limpiarpantallax2) FinSegun SiNo Escribir 'No hay un usuario!' Escribir funcionX2(limpiarpantallax2) FinSi 2: Escribir '************************' Escribir '* Registrarte *' Escribir '************************' Repetir Escribir 'ingrese un usuario' Leer usuario10 Escribir 'repita su usuario' Leer usuario20 Borrar Pantalla Si usuario10=usuario20 Entonces Escribir '*****************************' Escribir '*que tipo de seguridad desea*' Escribir '*****************************' Escribir '1:contraseña' Escribir '2:pin' Leer OP2 Segun OP2 Hacer 1: Repetir Escribir 'ingrese una contraseña' Leer contraseña1 Escribir 'repita la contraseña' Leer contraseña2 Borrar Pantalla Si contraseña1=contraseña2 Entonces Escribir 'usuario creado correctamente' Escribir funcionX2(limpiarpantallax2) SiNo Si contraseña1<>contraseña2 Entonces Escribir '********************************' Escribir '*vuelva a repetir la contraseña*' Escribir '********************************' FinSi FinSi Hasta Que contraseña1=contraseña2 2: Borrar Pantalla Repetir Escribir 'ingrese un pin' Leer pin1 Escribir 'repita el pin' Leer pin2 Si pin1=pin2 Entonces Escribir 'usuario creado correctamente' Escribir funcionX2(limpiarpantallax2) SiNo Si pin1<>pin2 Entonces Borrar Pantalla Escribir '*************************' Escribir '*vuelva a repetir el pin*' Escribir '*************************' FinSi FinSi Hasta Que pin1=pin2 De Otro Modo: Escribir funcionX2(limpiarpantallax2) FinSegun SiNo Si usuario10<>usuario20 Entonces Escribir '*****************************' Escribir '*vuelva a repetir el usuario*' Escribir '*****************************' FinSi FinSi Hasta Que usuario10=usuario20 3: Escribir 'seguro que es usted?' Escribir 'ingrese su usuario' Leer usuario10 Si usuario10=usuario20 Entonces Borrar Pantalla Repetir Escribir 'Ok bienvenido ' Escribir 'que quiere saber?' Escribir '1:mi nombre de usuario' Escribir '2:mi contraseña ' Escribir '3:mi pin' Escribir '4:volver al menu principal' Leer seguridad Borrar Pantalla Segun seguridad Hacer 1: Escribir 'su nombre de usuario es ',usuario10 Escribir funcionX2(limpiarpantallax2) 2: Escribir 'su contraseña es ',contraseña1 Escribir funcionX2(limpiarpantallax2) 3: Escribir 'su pin es ',pin1 Escribir funcionX2(limpiarpantallax2) 4: Escribir funcionX2(limpiarpantallax2) De Otro Modo: Escribir 'operacion no valida' Escribir funcionX2(limpiarpantallax2) FinSegun Hasta Que seguridad=4 FinSi Si usuario10<>usuario20 Entonces Escribir 'Usuario incorrecto' Escribir fun2(anim) Escribir funcionX2(limpiarpantallax2) FinSi 4: Escribir 'Vuelva pronto' De Otro Modo: Escribir 'Operacion no valida' Escribir funcionX2(limpiarpantallax2) FinSegun Hasta Que OP=4 2: Escribir funcionX2(limpiarpantallax2) Repetir Escribir '************************' Escribir '* MENU *' Escribir '************************' Escribir '*1:Startup program *' Escribir '*2:Register *' Escribir '*3:Forgot your data? *' Escribir '*4:Exit *' Escribir '*Choose an option (1-4)*' Escribir '************************' Leer OP Borrar Pantalla Segun OP Hacer 1: Escribir 'Enter your username' Leer usuario45 Si usuario10=usuario45 Entonces Escribir 'Enter your username' Leer usuariodeinicodeseion Borrar Pantalla Escribir 'What kind of security does your account have?' Escribir '1:Password' Escribir '2:Pin' Escribir 'Choose an option (1-2):' Leer OP4 Segun OP4 Hacer 1: Escribir 'Enter your password' Leer contraseña3 Borrar Pantalla Si usuariodeinicodeseion=usuario20 Entonces Si contraseña1=contraseña3 Entonces Escribir Otromenu11(Otromenu111) SiNo Escribir 'Incorrect password' FinSi FinSi 2: Escribir 'Enter your pin' Leer pin3 Si usuariodeinicodeseion=usuario20 Entonces Si pin1=pin3 Entonces Borrar Pantalla Escribir 'Starting program' Escribir fun2(anim) Escribir funcionX2(limpiarpantallax2) Escribir CALULO(CONVER) SiNo Escribir 'Wrong pin' Escribir funcionX2(limpiarpantallax2) FinSi FinSi De Otro Modo: Escribir 'Invalid operation' Escribir funcionX2(limpiarpantallax2) FinSegun SiNo Escribir 'There is no user!' Escribir funcionX2(limpiarpantallax2) FinSi 2: Escribir '************************' Escribir '* Register *' Escribir '************************' Repetir Escribir 'Enter a user' Leer usuario10 Escribir 'Repeat your username' Leer usuario20 Borrar Pantalla Si usuario10=usuario20 Entonces Escribir '***********************************' Escribir '*what kind of security do you want*' Escribir '***********************************' Escribir '1:password' Escribir '2:pin' Leer OP2 Segun OP2 Hacer 1: Repetir Escribir 'Enter a password' Leer contraseña1 Escribir 'Repeat password' Leer contraseña2 Borrar Pantalla Si contraseña1=contraseña2 Entonces Escribir 'User created successfully' Escribir funcionX2(limpiarpantallax2) SiNo Si contraseña1<>contraseña2 Entonces Escribir '*****************' Escribir '*repeat password*' Escribir '*****************' FinSi FinSi Hasta Que contraseña1=contraseña2 2: Borrar Pantalla Repetir Escribir 'enter a pin' Leer pin1 Escribir 'repeat the pin' Leer pin2 Si pin1=pin2 Entonces Escribir 'User created successfully' Escribir funcionX2(limpiarpantallax2) SiNo Si pin1<>pin2 Entonces Borrar Pantalla Escribir '****************' Escribir '*Repeat the pin*' Escribir '****************' FinSi FinSi Hasta Que pin1=pin2 De Otro Modo: Escribir funcionX2(limpiarpantallax2) FinSegun SiNo Si usuario10<>usuario20 Entonces Escribir '*****************' Escribir '*Repeat the user*' Escribir '*****************' FinSi FinSi Hasta Que usuario10=usuario20 3: Escribir 'Sure you are?' Escribir 'enter your username' Leer usuario10 Si usuario10=usuario20 Entonces Borrar Pantalla Repetir Escribir 'Ok bienvenido' Escribir 'What do you want know?' Escribir '1:My username' Escribir '2:My password' Escribir '3:My pin' Escribir '4:Back to Main Menu' Leer seguridad Borrar Pantalla Segun seguridad Hacer 1: Escribir 'Your username is ',usuario10 Escribir funcionX2(limpiarpantallax2) 2: Escribir 'Your password is ',contraseña1 Escribir funcionX2(limpiarpantallax2) 3: Escribir 'His pin is ',pin1 Escribir funcionX2(limpiarpantallax2) 4: Escribir funcionX2(limpiarpantallax2) De Otro Modo: Escribir 'Invalid operation' Escribir funcionX2(limpiarpantallax2) FinSegun Hasta Que seguridad=4 FinSi Si usuario10<>usuario20 Entonces Escribir 'Wrong user' Escribir fun2(anim) Escribir funcionX2(limpiarpantallax2) FinSi 4: Escribir 'Come back soon' De Otro Modo: Escribir 'Invalid operation' Escribir funcionX2(limpiarpantallax2) FinSegun Hasta Que OP=4 3: Escribir funcionX2(limpiarpantallax2) Repetir Escribir '*****************************' Escribir '* MENU *' Escribir '*****************************' Escribir '*1:Programa de inicialização*' Escribir '*2:Registre-se *' Escribir '*3:Esqueceu seus dados? *' Escribir '*4:Sair *' Escribir '*Escolha uma opção (1-4) *' Escribir '*****************************' Leer OP Borrar Pantalla Segun OP Hacer 1: Escribir 'Digite seu nome de usuário' Leer usuario45 Si usuario10=usuario45 Entonces Escribir 'Enter your username' Leer usuariodeinicodeseion Borrar Pantalla Escribir 'Que tipo de segurança sua conta possui?' Escribir '1:Senha' Escribir '2:Pin' Escribir 'Escolha uma opção (1-2):' Leer OP4 Segun OP4 Hacer 1: Escribir 'Enter your password' Leer contraseña3 Borrar Pantalla Si usuariodeinicodeseion=usuario20 Entonces Si contraseña1=contraseña3 Entonces Escribir Otromenu22(Otromenu222) SiNo Escribir 'Senha incorreta' FinSi FinSi 2: Escribir 'Digite seu pin' Leer pin3 Si usuariodeinicodeseion=usuario20 Entonces Si pin1=pin3 Entonces Escribir Otromenu22(Otromenu222) SiNo Escribir 'Pino errado' Escribir funcionX2(limpiarpantallax2) FinSi FinSi De Otro Modo: Escribir 'Operação inválida' Escribir funcionX2(limpiarpantallax2) FinSegun SiNo Escribir 'Não há usuário!' Escribir funcionX2(limpiarpantallax2) FinSi 2: Escribir '************************' Escribir '* registo *' Escribir '************************' Repetir Escribir 'Digite um usuário' Leer usuario10 Escribir 'Repita seu nome de usuário' Leer usuario20 Borrar Pantalla Si usuario10=usuario20 Entonces Escribir '***********************************' Escribir '*que tipo de segurança você quer *' Escribir '***********************************' Escribir '1:senha' Escribir '2:pin' Leer OP2 Segun OP2 Hacer 1: Repetir Escribir 'insira uma senha' Leer contraseña1 Escribir 'repita a senha' Leer contraseña2 Borrar Pantalla Si contraseña1=contraseña2 Entonces Escribir 'Usuário criado com sucesso' Escribir funcionX2(limpiarpantallax2) SiNo Si contraseña1<>contraseña2 Entonces Escribir '*****************' Escribir '*Repita a senha *' Escribir '*****************' FinSi FinSi Hasta Que contraseña1=contraseña2 2: Borrar Pantalla Repetir Escribir 'enter a pin' Leer pin1 Escribir 'repeat the pin' Leer pin2 Si pin1=pin2 Entonces Escribir 'Usuário criado com sucesso' Escribir funcionX2(limpiarpantallax2) SiNo Si pin1<>pin2 Entonces Borrar Pantalla Escribir '****************' Escribir '*Repita o pin *' Escribir '****************' FinSi FinSi Hasta Que pin1=pin2 De Otro Modo: Escribir funcionX2(limpiarpantallax2) FinSegun SiNo Si usuario10<>usuario20 Entonces Escribir '******************' Escribir '*Repita o usuário*' Escribir '******************' FinSi FinSi Hasta Que usuario10=usuario20 3: Escribir 'Com certeza você é?' Escribir 'entre com seu nome de usuário' Leer usuario10 Si usuario10=usuario20 Entonces Borrar Pantalla Repetir Escribir 'Ok bem vindo ' Escribir 'O que você quer saber?' Escribir '1:Meu nome de usuário' Escribir '2:Minha senha' Escribir '3:Meu pin' Escribir '4:Voltar ao menu principal' Leer seguridad Borrar Pantalla Segun seguridad Hacer 1: Escribir 'Seu nome de usuário é ',usuario10 Escribir funcionX2(limpiarpantallax2) 2: Escribir 'Sua senha é ',contraseña1 Escribir funcionX2(limpiarpantallax2) 3: Escribir 'O pino dele é ',pin1 Escribir funcionX2(limpiarpantallax2) 4: Escribir funcionX2(limpiarpantallax2) De Otro Modo: Escribir 'Operação inválida' Escribir funcionX2(limpiarpantallax2) FinSegun Hasta Que seguridad=4 FinSi Si usuario10<>usuario20 Entonces Escribir 'Usuário errado' Escribir fun2(anim) Escribir funcionX2(limpiarpantallax2) FinSi 4: Escribir 'Volte logo' De Otro Modo: Escribir 'Operação inválida' Escribir funcionX2(limpiarpantallax2) FinSegun Hasta Que OP=4 De Otro Modo: Escribir 'Invalid operation' Escribir 'Operacion invalida' Escribir 'Operação inválida' FinSegun FinAlgoritmo pd:Por el tema de mi ortografía sufro de dislexia desde los 8 .
|
|
|
233
|
Programación / Scripting / Mi primer proyecto de python
|
en: 25 Agosto 2020, 00:32 am
|
Hola a todos,Hace mas o menos 2 semanas comencé con python y decidí hacer un micro proyecto.El cual trata de Registrarse e Iniciar sesión,estoy seguro que en el futuro voy a volverlo a mirar y voy a decir.Dios que ***** de codigo....Pero bueno jeje algo es algo Quiero opiniones import os import time
info = 4 ele = 4 us = 3 us2 = 0 co = 0 co2 = 0 loop = 4 loop2 = 4 loop3 = 5 def lp(): print("Espere") time.sleep(0.5) print(".") time.sleep(0.5) print(".") time.sleep(0.5) print(".") os.system("cls") t1 = "" return t1 while loop3 > 3: print("*********************") print("* 1:Iniciar sesión *") print("* 2:Registrarse *") print("* 3:Salir *") print("* ¿Qué desea hacer? *") print("*********************") print("Solo puedes elegir una de esas opciones!") ele = input(":") ele = int(ele) os.system("cls") if ele == 1: print("Ingrse su usuario") con = input(":") if con == us: con = 1 print("Ingrese su contraseña") con = input(":") if con == co2: print("Fin del programa") loop3 = 2 elif con == "": print("Error!" + "\n" "Sino tiene un usuario cree uno") time.sleep(5) os.system("cls") if ele == 2: b = "12" info = 1 if us == 3: while loop2 > 2: b = "12" print("Ingrese una nombre de usuario") us = input(":") print("Repita su usuario") us2 = input(":") T1 = "" T2 = "" if us == "": T1 = str(T1.replace("1" ,us)) T1 = str(T2.replace("2" ,us2)) if T1 == T2 == "": b = str(b.replace("12" ,"")) print("Debe ingresar un usuario") time.sleep(2) print(lp()) if us != us2: print("Ambos tienen que ser iguales") print(lp()) if b == "12": if us == us2: while loop2 > 2: loop = False b = "12" print("Ingrese una contraseña") co = input(":") print("Repita la contraseña") co2 = input(":") T1 = "" T2 = "" if co == "": T1 = str(T1.replace("1" ,co)) T1 = str(T2.replace("2" ,co2)) if T1 == T2 == "": b = str(b.replace("12" ,"")) print("Debe ingresar una contraseña") time.sleep(2) print(lp()) if co != co2: print("Ambas tienen que ser iguales") print(lp()) if b == "12": if co == co2: print("Usuario creado exitosamente") loop2 = False loop = False ele = 4 print(lp()) if ele == 3: print("Adiós") loop3 = 2
|
|
|
234
|
Programación / Scripting / Sockets
|
en: 20 Agosto 2020, 03:06 am
|
Chicos soy nuevo en esto de los sockets,logre hacer esto...¿Pero mi pregunta es con que puedo seguir ahora? Servidor import socket mi_socket = socket.socket() mi_socket.bind(('192.168.1.31',8000 )) mi_socket.listen(5)
while True: conexion, addr = mi_socket.accept() print ("Nueva conexion establecida!") print(addr) respuesta1 = conexion.recv(1024) print(respuesta1) mensajeServidor = "Hola, te saludo desde el servidor!" conexion.send(mensajeServidor.encode()) conexion.close() Cliente import socket mi_socket = socket.socket() mi_socket.connect (('192.168.1.31', 8000)) MensajeCliente = "Hola, te saludo desde el cliente!" mi_socket.send(MensajeCliente.encode()) repuesta = mi_socket.recv(1024).decode() print(repuesta)
|
|
|
235
|
Foros Generales / Foro Libre / Re: Rutina de ejercicios?
|
en: 20 Agosto 2020, 00:09 am
|
Que p**a locura estas diciendo machacador? te voy a pegar un cholazo como hacia tu mai cuando eras un pelao.
Entonces.....Pruebo con esas drogas??? (tengo 15 no creo que mi cuerpo lo resista)
|
|
|
237
|
Foros Generales / Foro Libre / Re: Rutina de ejercicios?
|
en: 19 Agosto 2020, 04:39 am
|
Yo te recomendaría que hagas frontón. No es tan efectivo pero sí más divertido y aprendes cosas de técnica, como saques con slice.
Debería de buscar algún lugar para hacer, igual muchas gracias por la recomendación.
|
|
|
238
|
Foros Generales / Foro Libre / Rutina de ejercicios?
|
en: 19 Agosto 2020, 04:23 am
|
Chicos yo quiero tener un mejor físico (no solo por el tema de las chicas y eso) sino por qué simplemente lo quiero y ya jaja. Estoy haciendo está rutina Pecho con barra 5 de 10 repeticiones Pecho con mancuernas 5 de 8 repeticiones / Flexiones sobre blanco 5 de 10 repeticiones / Flexiones normales 5 de 10 repeticiones / Sentadillas 3 series de 10 repeticiones Plancha 5 series de 15 segundos / Abdominales 5 series de 10 repeticiones / Y también estoy comiendo saludable y hago también ayuno intermitente. Mi pregunta es ¿creen que me dé algún tipo de resultado? Gracias por leer Pd:Perdón por si está mal redactado jeje
|
|
|
240
|
Seguridad Informática / Análisis y Diseño de Malware / Re: Malwares
|
en: 16 Agosto 2020, 00:30 am
|
Una función para enviar un texto son 10 líneas de código. Y para recibirlo y procesarlo 13-14. En Python es muy muy sencillo. Después solo pones condicionales y lo que quieras hacer.
Necesitas hacer 1 o 2 programas. En el caso de hacer 2 programas, 1 se ejecuta en la máquina "zombie" y otro en tu máquina (o una bajo tu control), para darle órdenes.
Tienes 2 tipos de conexión, directa y reversa. La directa requiere que el router del zombie tenga los puertos abiertos. La reversa eres tú quien abre los puertos para habilitar al zombie conectarse a ti.
Si haces un solo programa, debes hacer un generador que crea los 2 programas cliente y servidor.
En la práctica los pasos que te recomiendo son: - Programas un servidor con sockets y lo bindeas a un puerto local, por ejemplo 127.0.0.1:8080 + Puedes probar con el propio navegador de internet (chrome, mozilla, edge, ...) si el servidor funciona visitando la dirección 127.0.0.1:8080/hola + Debes poder leer "GET /hola ..." al imprimir el texto recivido por el servidor. + La misión del servidor es recibir conexiones de zombies/clientes para poder responderle con comandos como: Enviame el nombre de tu sistema operativo. Ejecuta este programa que te mando.
- Programas el cliente. Su función es remplazar el navegador, de forma que puedas automatizar el envio de órdenes y ejecutar los comandos o acciones que envie el servidor. O si quieres algo super sencillo puedes olvidarte de programar el cliente y usar el navegador directamente para enviar órdenes.
- Una vez funciona en local tienes que remplazar la ip local 127.0.0.1:8080 por tu ip real y el puerto, para poder recibir conexiones de equipos fuera de tu red local (internet) + Hay un problema, las ip cambian, no siempre te dan la misma. Es decir, si pones tu ip en el código, un zombie lo usa y te cambian de ip jamás te llegará la conexión. Para solucionar esto debes usar un servicio DDNS. Te dan un prpgrama y un dominio. El dominio puede ser por ejemplo: mi-malware.com.tk entonces remplazas tu ip por el dominio en el código. El programa que te dan sirve para que el DDNS sepa cual es tu ip para cuando te la cambien resolver el dominio mi-malware.com.tk con tu nueva ip. En el código usarías mi-malware.com.tk:8080 en lugar de 174.86.56.47:8080 por ejemplo.
- Lo siguiente es ir al router e indicar a que equipo de la red interna (tu pc) se le enviarán las órdenes mediante el puerto 8080.
- Una vez está esto listo, debes ser capaz de recibir la conexión y tú de enviarle texto al cliente de tu red.
- Una vez todo funcionando debes programar lo que quieres que haga el zombie. Descargar/enviar archivos, sacar capturas de pantalla, registrar las teclas, obtener el historial del navegador... Lo que consideres.
- El siguiente paso ya sería el tema de ocultación, proxies, automatización, técnicas antidebugging, escape de sandbox, persistencia, exfiltración con inyecciones en procesos, soporte multiplat... Esto ya es más avanzado.
Muchas gracias amigo
|
|
|
|
|
|
|