Skip to main content

merdeka

Solved by: ndrasukagacoan

17 agustus tahun 45

Author: Etern1ty

README.md:

test_input.txt --> test_output.txt
... --> enc_flag.txt

recover the flag from enc_flag.txt

test_input.txt:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

test_output.txt:

Lmoer impus drool sti a,mte crountseetc agdniipcis e,lti sde do edioums treomp itnncuiddi ut learbo et deorlo maang a.laiuq
Ut emni ad mmiin v,emnai qsui ndousrt enxoeirtcait uolclma lsaibro niis ut apliiuq ex ea coodmom c.otnasueq
Dsui aeut ierru drool in rteiprreedhne in veotlautp vteil eess cmiull deorlo eu ftuagi naull p.arruita
Erxuceetp stin otcaccae ctuaptiad nno p,rtonied stun in caupl qiu oafifci dtensuer mtoill amni id ets l.ambuor

Now comes the real part.

enc_flag.txt:

Akde kpn jtoeg dna mnaak stp iut nka

Gau tuah iin i,lleag tiap gau gka mua lu msis shaal suat secne taeyrn-keip jaug shi di iin fmil ainsiam s.ih

Iin mteunru gau mnoem pganli sghnoick saam bniik t.ekrai S,agyna gau gka bais sehra etxnceimte di mnoem iut kaanre gka aad ygan n.onnot Jaaydni heyp s.einrdi

Byalsliac psa uhda tkearsde s,eamu bsos taeyrnarkih ygan liag mgenga baerned uhda mua m,egnna taibbiat- iin kraertak b.atnigk H,egnni mtealhi f,ltaxgt. tseur b.iglna

s43ml34nmi4c7__k44n3dp4__nm43knu3m
wpra iin piaak c}o{mtpi

M!EHRA
Aad obr diar bnaagi kaaynnan ygan taibbiat- m,erlaikng kkaay psaan g.iut
P!UHTI
Aad obr diar bnaagi kaiyrni ygan baesra kkaay pauyn enleem e,s wnaulpau gka nhguar ke lnianggnku a.pnaup

Iut 2 obr tseur kkaay mierna di aansgak g,iut m,erlueb m,elnigce siaamp taib di jiar kraertak ygan kkaay mua nkgiet-nje g.iut

Tseur maekre g,agbnu si kraertak cnuam b:iksi

I!NADIOSNE

L:agnngus V.O.OOOOOOOO saeum anpuap ygan baedra di dneap dai lgannugs hraunc raat guit kkaay buar kaen keammaeh Guok lleev tiigng a.nrji

Gau tkeariiraekt-- siernid slaimb m.egrniind Gail lha iin f.iml

A simple Python script to "swap" characters are enough for this:

def decipher(ciphered_word):
if len(ciphered_word) <= 2:
return ciphered_word

first_char = ciphered_word[0]
sub = ciphered_word[1:]
n = len(sub)

# Create a placeholder list for the deciphered characters of the substring
deciphered_sub_list = [''] * n

# Reconstruct the original substring by reversing the cipherion logic
# The cipherion logic was: new_sub = sub[-1] + sub[0] + sub[-2] + sub[1] + ...
# So, we can reverse this by assigning characters from the ciphered
# sub back to their original positions.
for i in range(n):
if i % 2 == 0: # Even indices of ciphered sub go to the end of original
deciphered_sub_list[n - 1 - (i // 2)] = sub[i]
else: # Odd indices of ciphered sub go to the beginning of original
deciphered_sub_list[i // 2] = sub[i]

decriphered_sub = "".join(deciphered_sub_list)

return first_char + decriphered_sub

def decipher_text(ciphered_text):
# Split the text into lines to preserve paragraph structure
lines = ciphered_text.split('\n')
deciphered_lines = []

for line in lines:
# Split each line into words
words = line.split(' ')
deciphered_words = [decipher(word) for word in words]
deciphered_lines.append(" ".join(deciphered_words))

return "\n".join(deciphered_lines)

ciphered_flag_text = """
Akde kpn jtoeg dna mnaak stp iut nka

Gau tuah iin i,lleag tiap gau gka mua lu msis shaal suat secne taeyrn-keip jaug shi di iin fmil ainsiam s.ih

Iin mteunru gau mnoem pganli sghnoick saam bniik t.ekrai S,agyna gau gka bais sehra etxnceimte di mnoem iut kaanre gka aad ygan n.onnot Jaaydni heyp s.einrdi

Byalsliac psa uhda tkearsde s,eamu bsos taeyrnarkih ygan liag mgenga baerned uhda mua m,egnna taibbiat- iin kraertak b.atnigk H,egnni mtealhi f,ltaxgt. tseur b.iglna

s43ml34nmi4c7__k44n3dp4__nm43knu3m
wpra iin piaak c}o{mtpi

M!EHRA
Aad obr diar bnaagi kaaynnan ygan taibbiat- m,erlaikng kkaay psaan g.iut
P!UHTI
Aad obr diar bnaagi kaiyrni ygan baesra kkaay pauyn enleem e,s wnaulpau gka nhguar ke lnianggnku a.pnaup

Iut 2 obr tseur kkaay mierna di aansgak g,iut m,erlueb m,elnigce siaamp taib di jiar kraertak ygan kkaay mua nkgiet-nje g.iut

Tseur maekre g,agbnu si kraertak cnuam b:iksi

I!NADIOSNE

L:agnngus V.O.OOOOOOOO saeum anpuap ygan baedra di dneap dai lgannugs hraunc raat guit kkaay buar kaen keammaeh Guok lleev tiigng a.nrji

Gau tkeariiraekt-- siernid slaimb m.egrniind Gail lha iin f.iml
"""

deciphered_text = decipher_text(ciphered_flag_text)
print(deciphered_text)
s3l4m47_4nd4_m3n3muk4n_p34k_cin3m4
wrap ini pakai compit{}

FLAG: compit{s3l4m47_4nd4_m3n3muk4n_p34k_cin3m4}