2021. Deuxième camp d'entraînement de la FCE - Partie inversée WP

Tucao conventionnel sans pwn, essayez inversé

1. whereisflag

elf, pas de shell, ouvrez directement avec ida, recherchez la chaîne pour voir whereisflag, double-cliquez pour suivre pour trouver la fonction clé,
Insérez la description de l'image ici
épissez la chaîne pour obtenir le drapeau
CnHongKe {849bc02af213b4d}

2. Inverser1

  1. Exécutez le programme pour connaître la situation générale
    Insérez la description de l'image ici
  2. Programme 32 bits, il y a un shell upx
    Insérez la description de l'image ici
  3. Après avoir déballé upx, ouvrez-le avec ida. Selon la chaîne vue à l'exécution,
    le pseudo code de la fonction clé ida décompilée est trouvé. Certains endroits ne sont pas compréhensibles.
    Insérez la description de l'image ici
    La logique du problème d' ajustement direct de la fonction d'analyse est: caractère de longueur 11 Chaîne, chaque ascii + 7 dans l'ordre inverse, puis opération XOR avec la chaîne v7 pour obtenir la nouvelle chaîne après ascii-1 de chaque caractère dans l'ordre inverse pour obtenir la valeur
    Insérez la description de l'image ici
    exp dans off_409030 :
a=[0x1E, 0x5D, 0x53, 0x77, 0x5E, 0x50, 0x0E, 0x57, 0x7C, 0x47, 0x07]
#print(a)

str1="%+$-4-8+7=?"
xors=[37 ,43 ,36 ,45 ,52 ,45 ,56 ,43 ,55 ,61 ,63]   #str1的ascii码
b=[0,0,0,0,0,0,0,0,0,0,0]


for i in range(11):
    a[i]=a[i]+1
#print(a)

for i in range(11):
    b[i]=a[i]^xors[i]
#print(b)

for i in range(11):
    b[i]=b[i]-7
#print(b)

b.reverse()
print(b)

for i in range(11):
    print(chr(b[i]),end="")

#运行结果:0nCl0udNin3

CnHongKe {0nCl0udNin3}

Je suppose que tu aimes

Origine blog.csdn.net/mcmuyanga/article/details/114442832
conseillé
Classement