From dc6284f487b3f95cf91061b9984608b8d36c4f1c Mon Sep 17 00:00:00 2001 From: h7x4 <h7x4@nani.wtf> Date: Mon, 2 Sep 2024 20:19:47 +0200 Subject: [PATCH] rev: add a few more challenges --- rev/bloat_py/bloat.flag.py | 41 + rev/bloat_py/clean-bloat.flag.py | 39 + rev/bloat_py/flag.txt.enc | Bin 0 -> 35 bytes rev/bloat_py/output.txt | 4 + rev/file_run1/run | Bin 0 -> 16736 bytes rev/file_run2/output.txt | 2 + rev/file_run2/run | Bin 0 -> 16816 bytes rev/fresh_java/KeygenMe.class | Bin 0 -> 1883 bytes rev/fresh_java/decompiled.java | 152 +++ rev/fresh_java/flag.txt | 1 + rev/patchme_py/flag.txt.enc | 3 + rev/patchme_py/output.txt | 4 + rev/patchme_py/patchme.flag.py | 31 + rev/reverse/ret | Bin 0 -> 16888 bytes rev/reverse/solve.sh | 4 + rev/safe_opener/SafeOpener.java | 42 + rev/safe_opener/a.out | 0 rev/safe_opener/flag.txt | 3 + rev/safe_opener_2/SafeOpener.class | Bin 0 -> 2036 bytes rev/safe_opener_2/solve.sh | 4 + rev/speeds_and_feeds/flag.txt | 3 + rev/speeds_and_feeds/output.nc | 1099 +++++++++++++++++ rev/unpackme_py/unpackme.flag.py | 15 + .../VaultDoorTraining.java | 26 + rev/vault_door_training/flag.txt | 1 + 25 files changed, 1474 insertions(+) create mode 100755 rev/bloat_py/bloat.flag.py create mode 100755 rev/bloat_py/clean-bloat.flag.py create mode 100644 rev/bloat_py/flag.txt.enc create mode 100644 rev/bloat_py/output.txt create mode 100755 rev/file_run1/run create mode 100644 rev/file_run2/output.txt create mode 100755 rev/file_run2/run create mode 100644 rev/fresh_java/KeygenMe.class create mode 100644 rev/fresh_java/decompiled.java create mode 100644 rev/fresh_java/flag.txt create mode 100644 rev/patchme_py/flag.txt.enc create mode 100644 rev/patchme_py/output.txt create mode 100644 rev/patchme_py/patchme.flag.py create mode 100755 rev/reverse/ret create mode 100755 rev/reverse/solve.sh create mode 100644 rev/safe_opener/SafeOpener.java create mode 100644 rev/safe_opener/a.out create mode 100644 rev/safe_opener/flag.txt create mode 100644 rev/safe_opener_2/SafeOpener.class create mode 100755 rev/safe_opener_2/solve.sh create mode 100644 rev/speeds_and_feeds/flag.txt create mode 100644 rev/speeds_and_feeds/output.nc create mode 100755 rev/unpackme_py/unpackme.flag.py create mode 100644 rev/vault_door_training/VaultDoorTraining.java create mode 100644 rev/vault_door_training/flag.txt diff --git a/rev/bloat_py/bloat.flag.py b/rev/bloat_py/bloat.flag.py new file mode 100755 index 0000000..f4c9686 --- /dev/null +++ b/rev/bloat_py/bloat.flag.py @@ -0,0 +1,41 @@ +import sys +a = "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ"+ \ + "[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ " +def arg133(arg432): + if arg432 == a[71]+a[64]+a[79]+a[79]+a[88]+a[66]+a[71]+a[64]+a[77]+a[66]+a[68]: + return True + else: + print(a[51]+a[71]+a[64]+a[83]+a[94]+a[79]+a[64]+a[82]+a[82]+a[86]+a[78]+\ +a[81]+a[67]+a[94]+a[72]+a[82]+a[94]+a[72]+a[77]+a[66]+a[78]+a[81]+\ +a[81]+a[68]+a[66]+a[83]) + sys.exit(0) + return False +def arg111(arg444): + return arg122(arg444.decode(), a[81]+a[64]+a[79]+a[82]+a[66]+a[64]+a[75]+\ +a[75]+a[72]+a[78]+a[77]) +def arg232(): + return input(a[47]+a[75]+a[68]+a[64]+a[82]+a[68]+a[94]+a[68]+a[77]+a[83]+\ +a[68]+a[81]+a[94]+a[66]+a[78]+a[81]+a[81]+a[68]+a[66]+a[83]+\ +a[94]+a[79]+a[64]+a[82]+a[82]+a[86]+a[78]+a[81]+a[67]+a[94]+\ +a[69]+a[78]+a[81]+a[94]+a[69]+a[75]+a[64]+a[70]+a[25]+a[94]) +def arg132(): + return open('flag.txt.enc', 'rb').read() +def arg112(): + print(a[54]+a[68]+a[75]+a[66]+a[78]+a[76]+a[68]+a[94]+a[65]+a[64]+a[66]+\ +a[74]+a[13]+a[13]+a[13]+a[94]+a[88]+a[78]+a[84]+a[81]+a[94]+a[69]+\ +a[75]+a[64]+a[70]+a[11]+a[94]+a[84]+a[82]+a[68]+a[81]+a[25]) +def arg122(arg432, arg423): + arg433 = arg423 + i = 0 + while len(arg433) < len(arg432): + arg433 = arg433 + arg423[i] + i = (i + 1) % len(arg423) + return "".join([chr(ord(arg422) ^ ord(arg442)) for (arg422,arg442) in zip(arg432,arg433)]) +arg444 = arg132() +arg432 = arg232() +arg133(arg432) +arg112() +arg423 = arg111(arg444) +print(arg423) +sys.exit(0) + diff --git a/rev/bloat_py/clean-bloat.flag.py b/rev/bloat_py/clean-bloat.flag.py new file mode 100755 index 0000000..072b867 --- /dev/null +++ b/rev/bloat_py/clean-bloat.flag.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 + +import sys + +def arg133(arg432): + if arg432 == "happychance": + return True + else: + print("That password is incorrect") + sys.exit(0) + return False + +def arg111(arg444): + return arg122(arg444.decode(), "rapscallion") + +def arg232(): + return input("Please enter correct password for flag:") + +def arg132(): + return open('flag.txt.enc', 'rb').read() + +def arg112(): + print("Welcome back... your flag, user:") + +def arg122(arg432, arg423): + arg433 = arg423 + i = 0 + while len(arg433) < len(arg432): + arg433 = arg433 + arg423[i] + i = (i + 1) % len(arg423) + return "".join([chr(ord(arg422) ^ ord(arg442)) for (arg422,arg442) in zip(arg432,arg433)]) + +arg444 = arg132() +arg432 = arg232() +arg133(arg432) +arg112() +arg423 = arg111(arg444) +print(arg423) +sys.exit(0) diff --git a/rev/bloat_py/flag.txt.enc b/rev/bloat_py/flag.txt.enc new file mode 100644 index 0000000000000000000000000000000000000000..d07cbabe3ccfa4999513f2452d0e747c1b8edcd7 GIT binary patch literal 35 qcmZSL5SCFe)e`58i4$OFbz=yPj*VnA6bWP331f+k;Es)Ul>q=^T?SzQ literal 0 HcmV?d00001 diff --git a/rev/bloat_py/output.txt b/rev/bloat_py/output.txt new file mode 100644 index 0000000..ec9de2a --- /dev/null +++ b/rev/bloat_py/output.txt @@ -0,0 +1,4 @@ +$ ./clean-bloat.flag.py +Please enter correct password for flag:happychance +Welcome back... your flag, user: +picoCTF{d30bfu5c4710n_f7w_5e14b257} diff --git a/rev/file_run1/run b/rev/file_run1/run new file mode 100755 index 0000000000000000000000000000000000000000..6a66b04afd1155745f0df9249082bc12dcc4c514 GIT binary patch literal 16736 zcmb<-^>JfjWMqH=W(GS35HCRhBH{p{7#3JU84L^z4h$9yybKNu@(gkeYzzzxEMPH+ zJWM@|zQF_$htV7mE(0@Ep9F}(z`%e`%Rtq^XpoygLLeGsABc?&OMn~%G7m~KK>Y#I z#|qK_<-^2bG%M7dFd8Nf(g(Ir0i>CMfdP%408+rfzyPC>^?{tQLl>fNhb=0d0JSdz zO2hPlxFCHep!!Zg^}*;5Q2SssEIdJO1Yrwkc%sv2&SpT@7Xj6WPP;&y%>bi8c7TL} zpO&P6*y#4a__*u~fa-IADnO@U_P}V69U%JxpO&P6!Ue=82E(E`2x=d$c<=xPI0FL% zjD`j;gMLnCl9`EqPKs_$W?pH9ZiR)Ju9=BmalW1r*m{t=Kz4xAl)GOj0}}(o0gxCp z7{Pf$gn<E^&O!3Nead_xw>2NM&#SxnX_K<tj$;f)AoU<KKz4%EfD8udhdK$w1(^%Z zV<0sU|2KlgA#4VQi>c>w!2&o4d!!_btc06^fk6ma0LoUxAs&sxoGcvTAhVUAW};9z znMui@U^HVWD9X$$Nn?nQPp(LePs_|p%*m`uWr&XlsfaHwNh~Uf&rQtCV{rHJbaIY2 z(lgRCWr+6-@r_SOElN$#EG|hc3h{N$$<Ip-NleNC=}gbf&x7iWhbYCW5ab>vaL6)1 zNd^W+Fl2ybLxxhROiqxjF-S230|PAo!t#xSAVlH-G=IXx8KB}E&;k%94&w`;i$n9l z4NyceFu>y)VmbrE10-=!+JK3_KoSR~BbfLHBymvMgo*z^5{IQ7klY2RI6DK#w;+*G zJQ@O{Aut*OqaiRF0;3@?8UmvsFq}i+Gr!y~kLEWV9^I@r^%)pES`U;k{lDPRe1zjL z*xUb2XX!IAeEP3CTc3e}U!DP^J_984>E*-!|Nl<_@jv}nT?>|VVF1g2`mb7w%r|`N z*?BR}qw|qR^OFw&AwIpVWsD3A9=*K(K^?DN+k*@Y4F5%g^cfhwOz`NnZ3MZam$eE+ zS^g*y_2_2R1F>5VlyLrkz%Snbvi>lX_UN?@1WERqdVwg-e;%D5JPy9I_c-{2*@N+z z$HjjoA|BnWtRTtO10@{)AEfciyD%`o^n={rV9Tq|z`#(d9qQ3+`$!MusLrP)JRaS) z&-54=UP%7`|NlkG|NsAwu|CyfU|@_r%rB3k|7H3A|NlV-g?e;8^=N)0&{_M(qqFpb zM>p$QJq8Ak&SM_Ewuku`7<PbM{^I7p|Np_PlZVs5;pZ6c(`&1(!@%Ge=Gl48G1Rm3 zt7C{`=buoIUR@a-28LiC&A*^Hdg1@?|9_8zf0;|<4R1sJ@6-9or}Ldl=X1yZBKJL- z4>NjL-YtCviofVs#~8<0$2iCM!)a-H{PHaz%fayjidm3zL1uzfg7{#`QDQU%MnhmU z1V%$(Gz3ONU^E0qLtr!nMnhmU1V%$(*oFWjbOx*-GdbTm#H~8i)X>i?KGGnxDBjJm z$kaUE&Ct*|-o!jP%_zw{sg@xmBUK?SCox?iv)D>OwU~iXn%NpOR|}dydhq`L{|Zn@ zefa->0Rsbrzz0Z2SK-6|{|O8X44fbT|GxlQEAa9E{|^id3>!ZF|8D`B*koW}0L_(x zv@%u&F)&sLFiP{VbAaa5LE@k_06X6Q{}1Y<Gq|vWrc4=B7#J8#7#J85-v9p(o<idj zaO0Ek;^!{sXkf6HveGhE0Z%`I^v5tTFhson{~xRoWC_&15(Wl_05oxsT|Ep842B>6 z|2GAxb>$OiV{+zY%i&=M&E<jox&|~t@ZtaeRFJ$IpFls8C!a(gvn!uMFN-UmMh~kC zpFta&2cJbVyE~sl9-oCHpMfKvh7+HH6Q6_=pMVn|2Y8<G3j+f~!H56<k>}|^Mvmgq z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GWlm0oeLO*m^@~HwwIV8>Eg0M1U}~)58m5 zGcYjxfUZxJgz{nQ8l|CpP#*`xlmZb93=FXKji7!JNC+nX_22(|5Pt!5Q6j7lQvh9z z2wP)#0xHi1Qp~`>0GWkkU;wQ@1qn%j2nGfQQ78?gpxPLAK-VY2*2KcpgZgzKwV-|{ zh!zJCAPlt_CawW>7|h)_Kx#mJQ78>FPY%k5sr&sO;y*?P$WrNlP(BCLy#G)>EZjdp z`Cp*^{|V(oxlq%oN5R&Eqnl^|jc;^uLVVczR1R=wnt{RH+1W}#BQ&WrucTDLQqM%s zK-aJo%rmSrGSD+H(KFP9h!Zjyv<8|HzP=w>H8TSf18luGsyH(PY#lnPI157!EMXu? zFf*_+z|tX-Fat9K8v`u;p^CFJz|twII0pkP{!qm^8DQ~_D$d0KOJAts+>nL5$b#Ut z;5>*0#z=C^47>~qSmKSDfserft2jSH09J7U2H3t0B;y&F83f_^9#vcjv7Z4+f|)^> z0k$q5Ntl6|L4=_Lnm$m)Md9nCQN_jJ<p-*`I0Lry%gi7F&+n+}B|)1`kcGf(W(Fw+ z3FvxiumF@`W`LDuPyq(e`fkuZm5-nmCkR0X1_n?$$;2SQFaa$*`M~R;1sD#XiG$Y1 zgVe*yU6^6!U^@`*ft3qxU~$ZF04>@FnFBA!p$1ig)nkU|4Dfy#O!v<NtCwUzUsn#Y zpM?Qa{bI0s5r!U+N1%4XC~WFCf+a;U;_(pJ9L#t;4OI`TSHN5b28MfJ24=eY2sQ^Z z-q$mN)}v$Q7j{O_z6Ak>572rHS{yToGh$834EbPj%=BZ-2+E3*80kk4WIhvSez5|H zgZ+R?_~8)Gg__TRmOiV%?m;yJ#Oq{aU=U=IWPp{!ATbc01`-GD)PUwYSbee-Y_9-A z12i1KW04FD40}Q2t_)HP3TXBgL)F8|2k=-b0|UcWusady7Gx&~AB3v+gqjZ?3uRzn zI0kYL6K1$w!r`wsj0_Cmfmo2C$T+#Eq`0IsEln?(0kNMWz9ct38MLFLm?1tsB|knr zCqF4MCqAVlzo<Aqv9y9AIX|}`C$%IsMbE;(%n-XG&|Z?v_{5^3#LD>8ypp0yhP0x@ z+|>A#(%jrihWL0SUVLU=W(kVYqS8FQWCqX(H$!~9Tacr#YrLzUOME;-JgV9hhIp4q zKSy6rXH*&Rz7>Y}cz3_hcvlao2_7y%4Ds$h{!WfQ@&0aZ!LA|kA&yQyt{_vvyIqot zOTn&&Y+6BtM+nOPmeiEQl0@jX83zZHZ87MZX3(WUIw3n_7~<nmx5>n(6z9ihB<7`n zw$OO`#}}8RWah<}7N@4b_TqqC2MQ>L`1qvaVyH3TtvT`WA->MA00M2z!MfiDb%zhC z(-`!MD|1T{lNj`hONt<L28@-NSCU#(z@V3xUy`bqo>!_@P?TSgT2xYrB$QN|nUkWM znF1AZbn?_KNla$|E6+$Q&S20>smv>`%!SY;MG%>?)S}|d{5%v+d=Z0QQEE;iNCT8r zkW<2-2llyMK~9NYdVUE5m{FXX%%E42T2aEFmzJ5A$)H!14+>xgz0?e7>dHtdLhvAF zK$00m2aKIknU|QGnarRE(VkRX%%GQ?pPQSS2b!Be&MxG#K{X+$E`Yb6q3tKweoI)p z9%epBEsPDKl^GZqKy7K5epq`AMnj7wkWw&)wV%Np1_lN*H2tu49gGIe<G|E{Xju6M zVuP?JntoXO4@RTgkFGzQfq~)M|Nr?g_ruzWFdAk*wA%n_?1L<Z;zR~WUj?Qg)}DmX zE1>E?VFU_0nEzq@icE034^)>y6vEn_FdEh$g2+PJDKIvOE(EQOMRGr^eF~#N?G%tY znEPSwgwb^j3=E*Y3ycqI$HHh>_@TQWWF`prg4-Pk_ruz|FdEjMg4vJm|LIWuP9VcT z7^V<P!@>!~1+mffF9f#_kebu5_861~rEie2FpM7mbI|m|+Sza#rV&a*jRnuofrOT$ z>4&w)VKhuVNG%A%_%M0{ntoWj9Y({{f%Jkfj1QxCqUnd#-!OVADA9p5LNQDql*_Om zO+T#v52In@0x<RH;dd0OAC`X5_dlaGGcfYcSv38yeg%vM&8Ncb2GQvD-$v69>wmy# z4mAJ6(htZi5Pr(QzyQi4&|(kXPl4?RMpqBx!)Q?ZlpmUhLFU26Lk>XqXT#Ki<Ukn4 zhtYqbdpcqE!}>k2{oSyA+@So2tREJStD*jf>4%Mn?0`1lJV2U|Fw9;U&Bh2RQ(*ex z?NI}WCQzP(uplH%AB4xizylosf$4|!w<MtY(bc0x2Lq@*4HAPYhZ)NN)2|H|fiOU7 zK`dk%p7uZzQ0xIU&;V3$FfcI4GB7ZJf&}Isn7=rY;tr}6OjUp?CI$uu4m87I_JS2L aFo3&xFu%jZKy-rzh-6@pLeqf8WdHyR%u#v( literal 0 HcmV?d00001 diff --git a/rev/file_run2/output.txt b/rev/file_run2/output.txt new file mode 100644 index 0000000..9fb572f --- /dev/null +++ b/rev/file_run2/output.txt @@ -0,0 +1,2 @@ +$ ./run 'Hello!' +The flag is: picoCTF{F1r57_4rgum3n7_f65ed63e}% diff --git a/rev/file_run2/run b/rev/file_run2/run new file mode 100755 index 0000000000000000000000000000000000000000..c3c5a3dc2f4e09e82e15251636a98ed02633ca63 GIT binary patch literal 16816 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 ZfOIEeeus&H=xY`rl7T@AO#>R20RWQu$A|y` literal 0 HcmV?d00001 diff --git a/rev/fresh_java/KeygenMe.class b/rev/fresh_java/KeygenMe.class new file mode 100644 index 0000000000000000000000000000000000000000..7aca98ca1451db0ba578849452f789cbb7fc44ff GIT binary patch literal 1883 zcmX^0Z`VEs1_pBmOD+aJ21#}XDNY7y1{p2}CI(p$OOAs<o{K?&K@lXP#Kj=Spv=Lb z0-{wp7}VGq)Y%y{7#Y}XGV?M^>=+rCH8jH*8Cab2Q&Jfj_<b_-QvFJElTwR95|eUL z85vk|6EpJ|8N@WAeX<hE67_Qu^V0Q$ONuh{(yc)nd4o$5le2vj3&85x88jIgxPtRb zi;`2_GC}%zy;CdGQ}cXN^+4Kr82A|k7#RdXZ2i)b%pCpT<ixzZ)FO5UEglAK1|5(B zT^<HK27N{bF4w%0)FOrK)JiLM1_K@jLk1%r24e;j9tKkeGe!n(&%Cn4oXixE0v-l) z1`9?8&M=q&BLfG_Vnzl5uytUU`zK|kCYPWHK|F&hR9Re-n#;(*1oFBl#N(Oy`kr|O zr6s{7MX8Co){G1i8dxPjfx?_$TEfVH&=^pZnTOCQ40cXtzCMyLBLjN@NKsB6BZDZ^ zV6cNBt^)@(M_y`02`GXX8ALQRA(kVnVPs&-NzF?y$pA;HCnEz}az<j2V+kVzi-xDB zGlL=nF9RO~2rw})f+B)}kwK7wfkBpmk%5tcfq_+PI|JiJ1_lO31|bFp1~#xD8v`eU zFoOt0Da#cGW(H;k2BxdK8JHqBF)(juVDZ_+z$(PHje%Wz8v}>0&Nc>40j2p2JRni7 zZ4B%ibp#Z*F>njiqKYYi#4J(8<UwK<sA6&;v1C*+S&&#Fs+bH&3{9OhNDR$9DUg^k zs$NNum^rGL1V}6%RZJWtmVzoK1`<OvPZT6pgsM&iBxZ;zCJYiQMHLeQi4~%X34+AX z><|Enq1nL?5<_z{A4n`6)jVF1SRSev4@eBnecT|i98`5&ATa|}F-|OE93U~YFl7gc zRio-<1Btnzh=H|+pa_9=I->}IHRhuTv4YG(O#>_-p-dE2%pjoxWFb&e<pCvC1_lNu zP||1I#gNCqz`)7C&A`PV%)rec!NAL)$iT;-$-vK`#UR9B${@^O%OJvF#~{w&$soZH z$RNoO#2~{E%OJ~;${@#(#-PYh$e_ef$)L<o#h}K}%An5B%b>x~$DqwHlR<}JA%iZ% zA_fD7wG4&~TN#WPwlSD89Aq$KILTnnaEif-;VOeQ!(9d&hI<V53@;fR7(OyMGJIli zVff47%E-###>mFt$tcL+#VE<(%_zm-$EeES~z^KO%%xK9F!sy5l%IL%p!RX5n z$r#EI#TdpA%b3Uz$C$|w&zQxK#8}FZ%vj5i!dS<U&e+M2!8nm2lW`J54&z*gT*jpg zd5p^#3K=&t6fy2(C}!NnP{w$ap`7t7Lj~hGhHA!}3^j}o8EP3HF*Go~WoTsl%Fx94 zjiHr^k)e%=lcAl7i=m52l%bnRmZ679j-j7PlVJjrA;Ux_BZetVwhU95Tp6Y@xiQRS z3S^kY6v;4~DT-kpQwqa;rW}R^Ot}n;naUZKFx4|GWolqp!PLdDl4%mdDyGQ{YnkRU ztYccru%2ld!zQK;44avDFl=Gk$*`U2FvAX}(+oSA&M@p@y27xRL6m`kL6<@KFM}34 W0~0%gm@pn71O^O@4C3IZmjD2@Y?(#? literal 0 HcmV?d00001 diff --git a/rev/fresh_java/decompiled.java b/rev/fresh_java/decompiled.java new file mode 100644 index 0000000..6ab4c41 --- /dev/null +++ b/rev/fresh_java/decompiled.java @@ -0,0 +1,152 @@ +// NOTE: Decompiled with JD-GUI + +import java.util.Scanner; + +public class KeygenMe { + public static void main(String[] paramArrayOfString) { + Scanner scanner = new Scanner(System.in); + System.out.println("Enter key:"); + String str = scanner.nextLine(); + if (str.length() != 34) { + System.out.println("Invalid key"); + return; + } + if (str.charAt(33) != '}') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(32) != '9') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(31) != '8') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(30) != 'c') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(29) != 'a') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(28) != 'c') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(27) != '8') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(26) != '3') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(25) != '7') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(24) != '_') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(23) != 'd') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(22) != '3') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(21) != 'r') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(20) != '1') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(19) != 'u') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(18) != 'q') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(17) != '3') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(16) != 'r') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(15) != '_') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(14) != 'g') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(13) != 'n') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(12) != '1') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(11) != 'l') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(10) != '0') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(9) != '0') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(8) != '7') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(7) != '{') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(6) != 'F') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(5) != 'T') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(4) != 'C') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(3) != 'o') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(2) != 'c') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(1) != 'i') { + System.out.println("Invalid key"); + return; + } + if (str.charAt(0) != 'p') { + System.out.println("Invalid key"); + return; + } + System.out.println("Valid key"); + } +} \ No newline at end of file diff --git a/rev/fresh_java/flag.txt b/rev/fresh_java/flag.txt new file mode 100644 index 0000000..c789543 --- /dev/null +++ b/rev/fresh_java/flag.txt @@ -0,0 +1 @@ +picoCTF{700l1ng_r3qu1r3d_738cac89} \ No newline at end of file diff --git a/rev/patchme_py/flag.txt.enc b/rev/patchme_py/flag.txt.enc new file mode 100644 index 0000000..92dba38 --- /dev/null +++ b/rev/patchme_py/flag.txt.enc @@ -0,0 +1,3 @@ + +* ' UYX+ CR1@ +6U]WVM \ No newline at end of file diff --git a/rev/patchme_py/output.txt b/rev/patchme_py/output.txt new file mode 100644 index 0000000..e805493 --- /dev/null +++ b/rev/patchme_py/output.txt @@ -0,0 +1,4 @@ +$ python patchme.flag.py +Please enter correct password for flag: ak98-=90adfjhgj321sleuth9000 +Welcome back... your flag, user: +picoCTF{p47ch1ng_l1f3_h4ck_c4a4688b} diff --git a/rev/patchme_py/patchme.flag.py b/rev/patchme_py/patchme.flag.py new file mode 100644 index 0000000..38a930d --- /dev/null +++ b/rev/patchme_py/patchme.flag.py @@ -0,0 +1,31 @@ +### THIS FUNCTION WILL NOT HELP YOU FIND THE FLAG --LT ######################## +def str_xor(secret, key): + #extend key to secret length + new_key = key + i = 0 + while len(new_key) < len(secret): + new_key = new_key + key[i] + i = (i + 1) % len(key) + return "".join([chr(ord(secret_c) ^ ord(new_key_c)) for (secret_c,new_key_c) in zip(secret,new_key)]) +############################################################################### + + +flag_enc = open('flag.txt.enc', 'rb').read() + + + +def level_1_pw_check(): + user_pw = input("Please enter correct password for flag: ") + if( user_pw == "ak98" + \ + "-=90" + \ + "adfjhgj321" + \ + "sleuth9000"): + print("Welcome back... your flag, user:") + decryption = str_xor(flag_enc.decode(), "utilitarian") + print(decryption) + return + print("That password is incorrect") + + + +level_1_pw_check() diff --git a/rev/reverse/ret b/rev/reverse/ret new file mode 100755 index 0000000000000000000000000000000000000000..f017a50c762b236403e7da1d0afe6ae75906469c GIT binary patch literal 16888 zcmb<-^>JfjWMqH=W(GS35buEiM8p9?F<4kZ84L^z4h$9yybKNu@(gkeYzzzxEMPH+ zJWM@|zQF_$htV7mE(0@Ep9F}(z`%e`%Rtq^XpoygLLeGsABc?&Yp_E^VKf8OA0U0K zASoyxCJv)Rq3(duFmaGRuzd<3%?u0-X!Hk=0tN;K7>%qC6gD$-A^K+6qS6)6aA|<j zFnu5{NZ$&mz7<e?FdAkLjE03L$c-Ru0rdwujpl3ybbS#}edx3c#Mulm8e|7ZDEMhf z3W$wv4~&n?z5uAcB~S(EG|V0t4YC7dU*OY{6i~Q;*u-F1GzUTL!xax1pa5rJV1Uuk z=w#5($xJdc(a%ZI&B@Fwt<bHoFw-?N(JRi^GXh%=au>)BP?~c03uRzpU^oC0g9alw zPlzxufYUihzN1%qg~?wbOJhC_-s8GnpC+tX=nGO0G6Q5MNDatfkbbC>KwOZy3|tHh z;5-TOe<N5NBnDz!Og)ziqH*DRq$G>1Mv8%fK?qp@%9h6=Zh%AF7l*hT4)NJI+{2AS z{VE*l%^4UNl%Q@#p>i^ll0ngA#t<K$S)8A2X&GOfoS2u!P*7S@%n%=6T#}fa9iN<$ z9iNt%nZr;}l$lqO#t<K$T#*=`mYJ8BlUbF@P+U@!oLj&U9}hAOq@}1NJ~uHlkHOu? z)5$sBNY5P3GJ&&<^h_DzJwtrsQ&Njk(=&@pQj0=-opbW@QbQ7xa#9)M<I{8V^Pr~1 zLzH4w2=WgT12Y2?7(&WdSejsDU<RiJP`UxB6VJ@#1*wQ<U;q~(B49o<Lnf48DwWB} zz`(>%3{uR%zyK?UVEO-mAVgvTw48y7H$cTXpanTh9LB$4577rolc4kq;W02gKoSS# z4Vd@~ByngF4VL<VB+dyIfe=5C#9?V2B(ni34l)B4CLr-0NaCP81QG+`14!ba{00&O z;S)&WAU}Y_K==ZZILyx=@liY)0;3@?8UmvsFd71*Aut*O!zBbh^UMA6Xnw=t(am~O zpMk-n^*{;J{|g??M>r0Hz4+g>N}qw@(|^@!eFg@8c?OXB43NyHmk<B{|33lD2Q>gc zy}StLgBoU^ULJ(=K@GA`FE_&ZpoZ9|mkVM1PybbO!KS+~fX)B(UsV*1&x^)qMdSa~ z1Gx^N|0^=z@U3U(#W;`7M;^^jJ_LmL^s>4!F)(=a@}6e|QMLye7#RMGUeaS=_%gwx z*Y>9#NR;&xh_d`qBI?o2x(>u{Jy62={{g>z1IYV_p|nS@?MaYiujwHWrTNdJ^Ml91 zclI6!e=vJ69`m^PuSCS7o3#}r*?ORa<Nt#+et8!L2AF<O_%+yqq!~)JLp_>plk^xE z7(6<kmhgCV+otI;Fub_=@BjZ7DgXcfKgJrX$H2fCdzfDyMgPn4|NsAk3<~w=eCpBs zCLzV6n?+RvY>w*>!vh{W3Nn-PokQHJJ$4!Aq{SB*ml=C>x?b?;487s8qsTNfFFn4v z)MHn2a;m9mT4|0)r|Scc&d?VgJK~Mf3=EA86FoXzKX~-oUgu?C*a7nWi_(Ap|9kYh zF7W6)=Fw~W0xn*QB7PYz?g|zUy#Ud3&7<@93#Who|F<3}mGbDd-OtOw@PY}f1mvpY zFTVZ#|Nk|QN3ZQ?kj#s}|Nn!n_2~Bfk>X*@1NK`9>x=t;|NlREI8BdVz6IneSo(Af z_vy9Wt;N9L80Oh|%`w!o^Q&WsW9Oexk6zt1S_}-qKAL|)Y5v9kKmY%G9Q?~%B5!yb z8lOI$pL{ysxpY2v{4a9fqxmqShvnVUSD^e59qSn580#447=JhoVI?ToK{*9PgUke} z1o6S{86`$TU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtqev03&#Yk%7TAuOzidp(G<! zp&+rixIDioMWG~Lp)@ZiKRH{WBqOs}AuTf})k=XuwU{9?zf>U=q&_vpN<p<4JUtTt z)0LcGRFs-rqN7ldlbTqZs!*Jos*skGm~N#2>x9C(ps<c7tlJ6eY?{<EI3_2j78fg| zq~>L&rZ6x{Gh2hEp+Iv!HShobFJWL{xby!1|2Yf{3~%25|G$NSfx+g(|Nk)z3=FCt z|NlS3z`&sM>Hq&X3=9l&KK=i1!pOh?nu`SmJ7ZN417n2%qcjgY#{{T2XpO;*_y7Ov zgA};1gQwP17#J8#K>YXr|0jTGJ^?pA2`_%`a*hTDdnqd|V-@i9BgkBky%z8P{|9RX zsbzrJ2Xd#u`~Uv~pkg2jWLFOZ14H14|Nno11YG$9+L)Yq*_b}^uyZhg=h@dVFfdqr z{Qo}{B=5#2(9h(_C(+03%BRrF;>xGd!|K9k(8lJ$XVJ{=&gYQFXW__a;K--p#HZlI zC*i~=;KauPo(ufKz`&63@&AA1c{q@fqj)p~MnhmU1V%$(Gz3ONU^E0qLtr!nMnhn5 zg#c__9&8;RBh+~?ng_}UH}n}87<i$44`B#H5<<b(`$<Fjur+O<^`9Ui*t$PZzXZgG z$$$O#KOe+j0GhjHU|@jtAufRCZW$QB>%KwqC!q4+P9OsV!x4}m0|NtSJtv4M0U{U} z7(}5ojDl)om;qgH2bwYl$yI;|X#WYs1oinqv^a=hU|`q)U91Na{{VFu%-si|>R@XL zVfM>G#bN4x|A+XGkpZ$4`X7|P0czfVC?6KyAE5jxQ2C!wKFl9b<Eci$)_bEHXaMbG zIzZ_FD4hVM3!pT*K0<uhx=wdzXDbDb(4^A5l2QdrJrg|xUBgl^&#=zOK+nKL&rlO0 zPRK;i+Gj@ix_)HUpp~t#b>gVv%nY#g=cwW=3^iB+nwf!>0hT^d)w40c(j}@mI|D5J zqKb1cz~U8EoRa~T9#F-(7+~oRRh%21K2gPaAd7R61;J~>c^MS2#1}IIA43CHaejsg zSj7bxVEZ+Ytzc#lWPp_isNzD1eGEtv%nZT|u=V&z!VJs|A`CB}>-AB^Md9TOs<;>f ztXx4A7iYkhu9+Dm;N<|SdP&e`6J#MUo0&n1K>#!$1m+<KW(HU(hY$nhUlxXs{}Cb( z7O4DWVh~^ufUa|fh%zwnF@RP}3otmKi7P_IVdXJQJ!l;|Ba(YS_JQO;>)#m}Fv9_~ zSRZ6Btb7Nl1>s8Y8h_02oB`e^gXw;dJ=pv;4{VMI!yAx;K?WmXZ0bQ{O`y^lJ-+sW z&B2VXV_@?z-FXu%j+uTyV{nXE;`a?BD4a3#1rsA^UxEOG1GFB47PkySj98N_!wj%E zW;)RWn*(+f3gN&A%8HU0>4yiTo(VI*xP!z|On`8bafp}W5T6FMmjNx^F2<pLJJ??k zyO7Caj0_BdOp*++@){<086*zc(E-h;&}y3D5!ieIh6~Wm9^f%W2FNlV0R|}s2{iZ2 zfvSg<C*Uzr1_p*tVE1F@yMIviC!zTTJf;aM+n7M{2y-2RmSuvtA3gtSGGUKjXC@r` zJd%q_ic3n<()5xU5c@6SOLF6rK|3x$J3UhJ<I{8UlM-{{Q%drSisKVYD;SdVa|?1( zOHxzxEDX#H8RFxyC<1K*$&61dDoU)3Pt7YSs$@tjO3Y1-PbtmKtz?LgN8-h2=4F<k zC@o4Y(Mx8Ck9P}l^mUDQ^>c}j2W><_R+hpL?-J?f=<Df>DpOpNSX9CgAMfrL8t>`> zHNnFrh#}tH$KT1(C*I%9E!Z_AKE%<<#}#BMcymf}aVglrko_cxpa?<UdIH+};@|+= zyaL{+lA4lOl8CV%2BF9Vx-|wN0@jAUBL-a>WGZBf3v?3=x&qWaF!3qH`SBTvc`2a% zF`oYM#U&}3dGV#isVT6{Hz5CkLYW~xKB>4EYBYE+4(k3MggxdA@$n(P&al7-?a0Bp z%?5SP4?;i4pA34%mANH}Nep_$B}EWA1IEe(O??zF=;h^?r0S*TmFg7~<rkzDl~f`L zC6#98r08a*K!qHgJatPF(;2|ZGZKq481zyq^NK5TA#_O*M5ZjYs5mn}4}}w7#GqG{ znv)390A&^AlrZRl!$hwjr$jG3zk~tIC{9gg&?`x;C}Ge`%goDU&@0LZMF)dkY6djX zW~3A$cn~unsTZOH#!jisOU%toX3&FZPbw~E&`ZwG%}vb%O=%!9GX*SAO%1BUVC{Zf z`#)h;fYid+AX=G$fdSM9fa!;|Ct)<S7z8N=V_3T%%wb?)FhkQ1Yj?tE(EJZfEr^Dd zryw>6d!p%wwNGI*y8Y<-!x<PDzWx874|6}P9Sfsj_CvcnkWLE7Vkl08_OW34VeMTQ z%>fNCP#A%jF#p5)L!kX(pe8j;KdfC0qhb9xsCD2yXD~L1E(EQaMRGr^{S2eUK#Gw1 zi7<O$bR7c&1E|jh<HOq7Fd9}Zp}QYyEJH82T?A@FKty2eaTt97A`I`RqWgb3RKF8c z9jspoqbs1|pzsHU8M^+3;Pw%s9}Me<!)Q?Yh8h8;(BmI8cL|CYkoh15uzmoH2G2Qy zB%m19?1$0I(d>uy7hp6@9aKBaS#Wv-ntoWn0!AaxS%S=fnFphHqUndV7hrTMEMh^L zp?eXbOfa<{O+T!k0;6H$8DPcGxPq}k^iimOxHYg02c?&Q6d_?){K16IqUneAdtfwd z|1nHGdi>o+(+}$(!Dv|igXu@N|0x5cuK~(~AT_XknXrAz=;~p782yoffq@^?&H`y> zV1W0x7C`rn!_+~g;pGQR{4X?b!t96j%V7J?Vf)KL`440UOdl-%S3~^|(+?ZRnE`Du zg7*l3G(s^<Ka6H$gzRaC>4&$AK^u*+q!*YzsBsLS_Bu!mrXSXx6oBdn$-&fuXi#1Q z(J(9swI8Y+Cd>fSuMHQ0Fkt$TX?WU$C;^iWPy;KV8C#ZtfdRClALbrVSprhXi4=Dr pJ`C>wRZI*F4Do1&!|a8r12wl{eus&HXmLvr$-p3mrU8x1002vYRkHv9 literal 0 HcmV?d00001 diff --git a/rev/reverse/solve.sh b/rev/reverse/solve.sh new file mode 100755 index 0000000..3b64b6b --- /dev/null +++ b/rev/reverse/solve.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p bash binutils + +strings ./ret | grep -o "picoCTF{.*}" diff --git a/rev/safe_opener/SafeOpener.java b/rev/safe_opener/SafeOpener.java new file mode 100644 index 0000000..fb96d16 --- /dev/null +++ b/rev/safe_opener/SafeOpener.java @@ -0,0 +1,42 @@ +import java.io.*; +import java.util.*; +public class SafeOpener { + public static void main(String args[]) throws IOException { + BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in)); + Base64.Encoder encoder = Base64.getEncoder(); + String encodedkey = ""; + String key = ""; + int i = 0; + boolean isOpen; + + + while (i < 3) { + System.out.print("Enter password for the safe: "); + key = keyboard.readLine(); + + encodedkey = encoder.encodeToString(key.getBytes()); + System.out.println(encodedkey); + + isOpen = openSafe(encodedkey); + if (!isOpen) { + System.out.println("You have " + (2 - i) + " attempt(s) left"); + i++; + continue; + } + break; + } + } + + public static boolean openSafe(String password) { + String encodedkey = "cGwzYXMzX2wzdF9tM18xbnQwX3RoM19zYWYz"; + + if (password.equals(encodedkey)) { + System.out.println("Sesame open"); + return true; + } + else { + System.out.println("Password is incorrect\n"); + return false; + } + } +} \ No newline at end of file diff --git a/rev/safe_opener/a.out b/rev/safe_opener/a.out new file mode 100644 index 0000000..e69de29 diff --git a/rev/safe_opener/flag.txt b/rev/safe_opener/flag.txt new file mode 100644 index 0000000..20c9758 --- /dev/null +++ b/rev/safe_opener/flag.txt @@ -0,0 +1,3 @@ +# NOTE: password in source code is base64 encoded + +picoCTF{pl3as3_l3t_m3_1nt0_th3_saf3} \ No newline at end of file diff --git a/rev/safe_opener_2/SafeOpener.class b/rev/safe_opener_2/SafeOpener.class new file mode 100644 index 0000000000000000000000000000000000000000..54025cdf3e8e3683ae2ea69b3db99840d52fcb55 GIT binary patch literal 2036 zcmX^0Z`VEs1_l#`1}+9!24{8#7j_0$P6jsycP<8I1`jR<CI(L~1}_G04hA2PurCLL z9~Xl^LjXu7kc%ORA()Fnk0Ask7RtpS!w|;K5YELQ$l%Pu5CNhiK|~Y>Lo|qv;b4db z>51cDi05EPU}s2VXGmgXV6(~0%Pg^DWMJ0N3}a+qan4UkWn|#@$;?ajE6q(xEec6Y z%1LEp5c0`SPRt2QEXoA&p@J+W8JWe53_L!;iD{|+1*v(dMb?ZAEV+r9d5jEV8qq#k ziDilUIf;4c`oSednR)5fAUoJHi$Q7`85pA&8CVjF(u)}xgt4e)WZ=k7txU>KEJ|Ty zkbsz#nXm6unwFMYl$sKhnwSE%k3BUnIX@+}h@Bysk%8S6!eM0K@yyFhEppCDEG|wh zW@M0p7*JZ0nWOKNSe$BRq5@TF&B(w7F(M^9wG!l23}-VkFoUHSGZ`5eJsBBzgG&;V zvwaf_zyZO|paqV+WOjxWMg}g|isaOSlFa<PVs?g9Mh1@jg48@v05LL%YCs%;5+YHI z3>*cC#l_|MAb)ZN=a&{Gr@Cc=0-YbE4HQ<XMS37N@i53S$TKpCf!O*OLBYr%36t>5 zD<~}qE-6Y)%!LFKJ3|@|LpnnS$b?J~k;TrC&BKtxkju!xz{8Nokk7~<>zY@RTBHDT zi$Yp{kwQsEszPyMTB?--J3|2vLm@*E4?{6S2|Ggy4?`(K84p7_Lj?~*B}mwg!Jd&p z9P9!l|2dUr=A@(+F*0yP=9emDB$lNrDDW^;F;s(y8b$^Ig~XDQ)ZBs+jbcrOoYb@u z9)?<m5=I7{g3RQ6=McB*V8=A$c!L7tJmaFG_)3G)_~QJWGUJr^%#wKHl*CjE6Eovl z9)>!GdPWBB;MC&8+*AcnfHN|P1waE;A+uN^GcP&6s3<kLgo}}Z3lXY}3<3xT`zK|k zCYLZWNPvZ~Boq|YkOa-hAPiQWnXm8Z507|Mg_Xr6skw{{OrT653P}JU<%lS<W@M0n zrVKO*P<9bUNI~KfoQWXrMsg%016O)#2{cJFGRSCXLaahkf|THy^Giz@84#`sD9X%( zCKziZKOqS-GO!ka6yZq4VT=qMMX8A?pn`*uK?G(yQcAF9WZ+0oEpe(W0cA%P4b5mL zMg~4e#tX@Z1*e!sv=h|jsCwDKw&&zAGO#5U6r|>*Ff!;uLk3wPre0_Yv<8KVCq8M8 z61XeaQVUBHbBfXY3P~W=no$gj3^EL|3?RVFz{nuSAkV<apuoVupwGa_z{tSBz^b*K zfpH@P0|OI-A_D^h8(5H;L5TsB*}w`Ilo?bQ7#KJiR2kG5m_V8tZ5UV?*cliYDt0q4 zMeb%`j@-n+vYml-I|G}~4hD8#Ar3zw4l5RBGgeVnwnYpfn;1BSxVABHYj0!Vv0~AY zWZA~RyN!X*ZxaKj?luN~-5m@9W^AHtvlz5CF>vl?5RBZ;AS5KbjX{J}lr?1=gQ$?$ zHU^Px4C31u_*+;Rm;YY_axXL3y-o}QAWtv|F|aX+F|ad8GH@`+GH@~|Fz_;{G4L_y zG4L~(FbFc(F$giZGKesEGl((-Fo-b}GKe#jFi0?zGsuAb>cPOy;LV`Jpw6Jdzy|Ue zgC>I(0|SE)LmGoNgAM~DgBU{+gD!(10~3QJLp*~KgE0d$gDgWdg9(E%0}F!!Lj;2< zgBb%WgE<2OgA4=He+C5xHg*OJb_Pp!1}k<3Yjy@}Mh1r83}Fm53=9k`42%r644e#h z4EE3nDP>?{U}9ikkQb8h(bC?=AUTtP7Zh+(+Zgy+)__>j+Zgzn*Dx?JK)fymcBnj< z$IYO`Ak3i5Aj+V|Aj_Z*_L3OHI0gp>W3V0>u%j8l4&-29{KFv1&S1^J#NY^yd?yA2 S1_lN$21W)w1}_GE22KFlJlZD! literal 0 HcmV?d00001 diff --git a/rev/safe_opener_2/solve.sh b/rev/safe_opener_2/solve.sh new file mode 100755 index 0000000..606cb71 --- /dev/null +++ b/rev/safe_opener_2/solve.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p bash binutils + +strings ./SafeOpener.class | grep -o "picoCTF{.*}" diff --git a/rev/speeds_and_feeds/flag.txt b/rev/speeds_and_feeds/flag.txt new file mode 100644 index 0000000..0bc13d7 --- /dev/null +++ b/rev/speeds_and_feeds/flag.txt @@ -0,0 +1,3 @@ +# NOTE: open the file in FreeCAD + +picoCTF{num3r1cal_c0ntr0l_84d2d117} \ No newline at end of file diff --git a/rev/speeds_and_feeds/output.nc b/rev/speeds_and_feeds/output.nc new file mode 100644 index 0000000..8da5904 --- /dev/null +++ b/rev/speeds_and_feeds/output.nc @@ -0,0 +1,1099 @@ +G17 G21 G40 G90 G64 P0.003 F50 +G0Z0.1 +G0Z0.1 +G0X0.8276Y3.8621 +G1Z0.1 +G1X0.8276Y-1.9310 +G0Z0.1 +G0X1.1034Y3.8621 +G1Z0.1 +G1X1.1034Y-1.9310 +G0Z0.1 +G0X1.1034Y3.0345 +G1Z0.1 +G1X1.6552Y3.5862 +G1X2.2069Y3.8621 +G1X2.7586Y3.8621 +G1X3.5862Y3.5862 +G1X4.1379Y3.0345 +G1X4.4138Y2.2069 +G1X4.4138Y1.6552 +G1X4.1379Y0.8276 +G1X3.5862Y0.2759 +G1X2.7586Y0.0000 +G1X2.2069Y0.0000 +G1X1.6552Y0.2759 +G1X1.1034Y0.8276 +G0Z0.1 +G0X2.7586Y3.8621 +G1Z0.1 +G1X3.3103Y3.5862 +G1X3.8621Y3.0345 +G1X4.1379Y2.2069 +G1X4.1379Y1.6552 +G1X3.8621Y0.8276 +G1X3.3103Y0.2759 +G1X2.7586Y0.0000 +G0Z0.1 +G0X0.0000Y3.8621 +G1Z0.1 +G1X1.1034Y3.8621 +G0Z0.1 +G0X0.0000Y-1.9310 +G1Z0.1 +G1X1.9310Y-1.9310 +G0Z0.1 +G0X7.2414Y5.7931 +G1Z0.1 +G1X6.9655Y5.5172 +G1X7.2414Y5.2414 +G1X7.5172Y5.5172 +G1X7.2414Y5.7931 +G0Z0.1 +G0X7.2414Y3.8621 +G1Z0.1 +G1X7.2414Y0.0000 +G0Z0.1 +G0X7.5172Y3.8621 +G1Z0.1 +G1X7.5172Y0.0000 +G0Z0.1 +G0X6.4138Y3.8621 +G1Z0.1 +G1X7.5172Y3.8621 +G0Z0.1 +G0X6.4138Y0.0000 +G1Z0.1 +G1X8.3448Y0.0000 +G0Z0.1 +G0X13.6552Y3.0345 +G1Z0.1 +G1X13.3793Y2.7586 +G1X13.6552Y2.4828 +G1X13.9310Y2.7586 +G1X13.9310Y3.0345 +G1X13.3793Y3.5862 +G1X12.8276Y3.8621 +G1X12.0000Y3.8621 +G1X11.1724Y3.5862 +G1X10.6207Y3.0345 +G1X10.3448Y2.2069 +G1X10.3448Y1.6552 +G1X10.6207Y0.8276 +G1X11.1724Y0.2759 +G1X12.0000Y0.0000 +G1X12.5517Y0.0000 +G1X13.3793Y0.2759 +G1X13.9310Y0.8276 +G0Z0.1 +G0X12.0000Y3.8621 +G1Z0.1 +G1X11.4483Y3.5862 +G1X10.8966Y3.0345 +G1X10.6207Y2.2069 +G1X10.6207Y1.6552 +G1X10.8966Y0.8276 +G1X11.4483Y0.2759 +G1X12.0000Y0.0000 +G0Z0.1 +G0X17.5862Y3.8621 +G1Z0.1 +G1X16.7586Y3.5862 +G1X16.2069Y3.0345 +G1X15.9310Y2.2069 +G1X15.9310Y1.6552 +G1X16.2069Y0.8276 +G1X16.7586Y0.2759 +G1X17.5862Y0.0000 +G1X18.1379Y0.0000 +G1X18.9655Y0.2759 +G1X19.5172Y0.8276 +G1X19.7931Y1.6552 +G1X19.7931Y2.2069 +G1X19.5172Y3.0345 +G1X18.9655Y3.5862 +G1X18.1379Y3.8621 +G1X17.5862Y3.8621 +G1X17.0345Y3.5862 +G1X16.4828Y3.0345 +G1X16.2069Y2.2069 +G1X16.2069Y1.6552 +G1X16.4828Y0.8276 +G1X17.0345Y0.2759 +G1X17.5862Y0.0000 +G0Z0.1 +G0X18.1379Y0.0000 +G1Z0.1 +G1X18.6897Y0.2759 +G1X19.2414Y0.8276 +G1X19.5172Y1.6552 +G1X19.5172Y2.2069 +G1X19.2414Y3.0345 +G1X18.6897Y3.5862 +G1X18.1379Y3.8621 +G0Z0.1 +G0X25.6552Y4.9655 +G1Z0.1 +G1X25.9310Y4.1379 +G1X25.9310Y5.7931 +G1X25.6552Y4.9655 +G1X25.1034Y5.5172 +G1X24.2759Y5.7931 +G1X23.7241Y5.7931 +G1X22.8966Y5.5172 +G1X22.3448Y4.9655 +G1X22.0690Y4.4138 +G1X21.7931Y3.5862 +G1X21.7931Y2.2069 +G1X22.0690Y1.3793 +G1X22.3448Y0.8276 +G1X22.8966Y0.2759 +G1X23.7241Y0.0000 +G1X24.2759Y0.0000 +G1X25.1034Y0.2759 +G1X25.6552Y0.8276 +G1X25.9310Y1.3793 +G0Z0.1 +G0X23.7241Y5.7931 +G1Z0.1 +G1X23.1724Y5.5172 +G1X22.6207Y4.9655 +G1X22.3448Y4.4138 +G1X22.0690Y3.5862 +G1X22.0690Y2.2069 +G1X22.3448Y1.3793 +G1X22.6207Y0.8276 +G1X23.1724Y0.2759 +G1X23.7241Y0.0000 +G0Z0.1 +G0X29.8621Y5.7931 +G1Z0.1 +G1X29.8621Y0.0000 +G0Z0.1 +G0X30.1379Y5.7931 +G1Z0.1 +G1X30.1379Y0.0000 +G0Z0.1 +G0X28.2069Y5.7931 +G1Z0.1 +G1X27.9310Y4.1379 +G1X27.9310Y5.7931 +G1X32.0690Y5.7931 +G1X32.0690Y4.1379 +G1X31.7931Y5.7931 +G0Z0.1 +G0X29.0345Y0.0000 +G1Z0.1 +G1X30.9655Y0.0000 +G0Z0.1 +G0X34.8966Y5.7931 +G1Z0.1 +G1X34.8966Y0.0000 +G0Z0.1 +G0X35.1724Y5.7931 +G1Z0.1 +G1X35.1724Y0.0000 +G0Z0.1 +G0X36.8276Y4.1379 +G1Z0.1 +G1X36.8276Y1.9310 +G0Z0.1 +G0X34.0690Y5.7931 +G1Z0.1 +G1X38.4828Y5.7931 +G1X38.4828Y4.1379 +G1X38.2069Y5.7931 +G0Z0.1 +G0X35.1724Y3.0345 +G1Z0.1 +G1X36.8276Y3.0345 +G0Z0.1 +G0X34.0690Y0.0000 +G1Z0.1 +G1X36.0000Y0.0000 +G0Z0.1 +G0X41.8621Y6.8966 +G1Z0.1 +G1X41.3103Y6.6207 +G1X41.0345Y6.3448 +G1X40.7586Y5.7931 +G1X40.7586Y5.2414 +G1X41.0345Y4.6897 +G1X41.3103Y4.4138 +G1X41.5862Y3.8621 +G1X41.5862Y3.3103 +G1X41.0345Y2.7586 +G0Z0.1 +G0X41.3103Y6.6207 +G1Z0.1 +G1X41.0345Y6.0690 +G1X41.0345Y5.5172 +G1X41.3103Y4.9655 +G1X41.5862Y4.6897 +G1X41.8621Y4.1379 +G1X41.8621Y3.5862 +G1X41.5862Y3.0345 +G1X40.4828Y2.4828 +G1X41.5862Y1.9310 +G1X41.8621Y1.3793 +G1X41.8621Y0.8276 +G1X41.5862Y0.2759 +G1X41.3103Y0.0000 +G1X41.0345Y-0.5517 +G1X41.0345Y-1.1034 +G1X41.3103Y-1.6552 +G0Z0.1 +G0X41.0345Y2.2069 +G1Z0.1 +G1X41.5862Y1.6552 +G1X41.5862Y1.1034 +G1X41.3103Y0.5517 +G1X41.0345Y0.2759 +G1X40.7586Y-0.2759 +G1X40.7586Y-0.8276 +G1X41.0345Y-1.3793 +G1X41.3103Y-1.6552 +G1X41.8621Y-1.9310 +G0Z0.1 +G0X44.6897Y3.8621 +G1Z0.1 +G1X44.6897Y0.0000 +G0Z0.1 +G0X44.9655Y3.8621 +G1Z0.1 +G1X44.9655Y0.0000 +G0Z0.1 +G0X44.9655Y3.0345 +G1Z0.1 +G1X45.5172Y3.5862 +G1X46.3448Y3.8621 +G1X46.8966Y3.8621 +G1X47.7241Y3.5862 +G1X48.0000Y3.0345 +G1X48.0000Y0.0000 +G0Z0.1 +G0X46.8966Y3.8621 +G1Z0.1 +G1X47.4483Y3.5862 +G1X47.7241Y3.0345 +G1X47.7241Y0.0000 +G0Z0.1 +G0X43.8621Y3.8621 +G1Z0.1 +G1X44.9655Y3.8621 +G0Z0.1 +G0X43.8621Y0.0000 +G1Z0.1 +G1X45.7931Y0.0000 +G0Z0.1 +G0X46.8966Y0.0000 +G1Z0.1 +G1X48.8276Y0.0000 +G0Z0.1 +G0X51.6552Y3.8621 +G1Z0.1 +G1X51.6552Y0.8276 +G1X51.9310Y0.2759 +G1X52.7586Y0.0000 +G1X53.3103Y0.0000 +G1X54.1379Y0.2759 +G1X54.6897Y0.8276 +G0Z0.1 +G0X51.9310Y3.8621 +G1Z0.1 +G1X51.9310Y0.8276 +G1X52.2069Y0.2759 +G1X52.7586Y0.0000 +G0Z0.1 +G0X54.6897Y3.8621 +G1Z0.1 +G1X54.6897Y0.0000 +G0Z0.1 +G0X54.9655Y3.8621 +G1Z0.1 +G1X54.9655Y0.0000 +G0Z0.1 +G0X50.8276Y3.8621 +G1Z0.1 +G1X51.9310Y3.8621 +G0Z0.1 +G0X53.8621Y3.8621 +G1Z0.1 +G1X54.9655Y3.8621 +G0Z0.1 +G0X54.6897Y0.0000 +G1Z0.1 +G1X55.7931Y0.0000 +G0Z0.1 +G0X58.6207Y3.8621 +G1Z0.1 +G1X58.6207Y0.0000 +G0Z0.1 +G0X58.8966Y3.8621 +G1Z0.1 +G1X58.8966Y0.0000 +G0Z0.1 +G0X58.8966Y3.0345 +G1Z0.1 +G1X59.4483Y3.5862 +G1X60.2759Y3.8621 +G1X60.8276Y3.8621 +G1X61.6552Y3.5862 +G1X61.9310Y3.0345 +G1X61.9310Y0.0000 +G0Z0.1 +G0X60.8276Y3.8621 +G1Z0.1 +G1X61.3793Y3.5862 +G1X61.6552Y3.0345 +G1X61.6552Y0.0000 +G0Z0.1 +G0X61.9310Y3.0345 +G1Z0.1 +G1X62.4828Y3.5862 +G1X63.3103Y3.8621 +G1X63.8621Y3.8621 +G1X64.6897Y3.5862 +G1X64.9655Y3.0345 +G1X64.9655Y0.0000 +G0Z0.1 +G0X63.8621Y3.8621 +G1Z0.1 +G1X64.4138Y3.5862 +G1X64.6897Y3.0345 +G1X64.6897Y0.0000 +G0Z0.1 +G0X57.7931Y3.8621 +G1Z0.1 +G1X58.8966Y3.8621 +G0Z0.1 +G0X57.7931Y0.0000 +G1Z0.1 +G1X59.7241Y0.0000 +G0Z0.1 +G0X60.8276Y0.0000 +G1Z0.1 +G1X62.7586Y0.0000 +G0Z0.1 +G0X63.8621Y0.0000 +G1Z0.1 +G1X65.7931Y0.0000 +G0Z0.1 +G0X68.0690Y4.6897 +G1Z0.1 +G1X68.3448Y4.4138 +G1X68.0690Y4.1379 +G1X67.7931Y4.4138 +G1X67.7931Y4.6897 +G1X68.0690Y5.2414 +G1X68.3448Y5.5172 +G1X69.1724Y5.7931 +G1X70.2759Y5.7931 +G1X71.1034Y5.5172 +G1X71.3793Y4.9655 +G1X71.3793Y4.1379 +G1X71.1034Y3.5862 +G1X70.2759Y3.3103 +G1X69.4483Y3.3103 +G0Z0.1 +G0X70.2759Y5.7931 +G1Z0.1 +G1X70.8276Y5.5172 +G1X71.1034Y4.9655 +G1X71.1034Y4.1379 +G1X70.8276Y3.5862 +G1X70.2759Y3.3103 +G1X70.8276Y3.0345 +G1X71.3793Y2.4828 +G1X71.6552Y1.9310 +G1X71.6552Y1.1034 +G1X71.3793Y0.5517 +G1X71.1034Y0.2759 +G1X70.2759Y0.0000 +G1X69.1724Y0.0000 +G1X68.3448Y0.2759 +G1X68.0690Y0.5517 +G1X67.7931Y1.1034 +G1X67.7931Y1.3793 +G1X68.0690Y1.6552 +G1X68.3448Y1.3793 +G1X68.0690Y1.1034 +G0Z0.1 +G0X71.1034Y2.7586 +G1Z0.1 +G1X71.3793Y1.9310 +G1X71.3793Y1.1034 +G1X71.1034Y0.5517 +G1X70.8276Y0.2759 +G1X70.2759Y0.0000 +G0Z0.1 +G0X74.4828Y3.8621 +G1Z0.1 +G1X74.4828Y0.0000 +G0Z0.1 +G0X74.7586Y3.8621 +G1Z0.1 +G1X74.7586Y0.0000 +G0Z0.1 +G0X74.7586Y2.2069 +G1Z0.1 +G1X75.0345Y3.0345 +G1X75.5862Y3.5862 +G1X76.1379Y3.8621 +G1X76.9655Y3.8621 +G1X77.2414Y3.5862 +G1X77.2414Y3.3103 +G1X76.9655Y3.0345 +G1X76.6897Y3.3103 +G1X76.9655Y3.5862 +G0Z0.1 +G0X73.6552Y3.8621 +G1Z0.1 +G1X74.7586Y3.8621 +G0Z0.1 +G0X73.6552Y0.0000 +G1Z0.1 +G1X75.5862Y0.0000 +G0Z0.1 +G0X79.2414Y4.6897 +G1Z0.1 +G1X79.7931Y4.9655 +G1X80.6207Y5.7931 +G1X80.6207Y0.0000 +G0Z0.1 +G0X80.3448Y5.5172 +G1Z0.1 +G1X80.3448Y0.0000 +G0Z0.1 +G0X79.2414Y0.0000 +G1Z0.1 +G1X81.7241Y0.0000 +G0Z0.1 +G0X87.0345Y3.0345 +G1Z0.1 +G1X86.7586Y2.7586 +G1X87.0345Y2.4828 +G1X87.3103Y2.7586 +G1X87.3103Y3.0345 +G1X86.7586Y3.5862 +G1X86.2069Y3.8621 +G1X85.3793Y3.8621 +G1X84.5517Y3.5862 +G1X84.0000Y3.0345 +G1X83.7241Y2.2069 +G1X83.7241Y1.6552 +G1X84.0000Y0.8276 +G1X84.5517Y0.2759 +G1X85.3793Y0.0000 +G1X85.9310Y0.0000 +G1X86.7586Y0.2759 +G1X87.3103Y0.8276 +G0Z0.1 +G0X85.3793Y3.8621 +G1Z0.1 +G1X84.8276Y3.5862 +G1X84.2759Y3.0345 +G1X84.0000Y2.2069 +G1X84.0000Y1.6552 +G1X84.2759Y0.8276 +G1X84.8276Y0.2759 +G1X85.3793Y0.0000 +G0Z0.1 +G0X89.8621Y3.3103 +G1Z0.1 +G1X89.8621Y3.0345 +G1X89.5862Y3.0345 +G1X89.5862Y3.3103 +G1X89.8621Y3.5862 +G1X90.4138Y3.8621 +G1X91.5172Y3.8621 +G1X92.0690Y3.5862 +G1X92.3448Y3.3103 +G1X92.6207Y2.7586 +G1X92.6207Y0.8276 +G1X92.8966Y0.2759 +G1X93.1724Y0.0000 +G0Z0.1 +G0X92.3448Y3.3103 +G1Z0.1 +G1X92.3448Y0.8276 +G1X92.6207Y0.2759 +G1X93.1724Y0.0000 +G1X93.4483Y0.0000 +G0Z0.1 +G0X92.3448Y2.7586 +G1Z0.1 +G1X92.0690Y2.4828 +G1X90.4138Y2.2069 +G1X89.5862Y1.9310 +G1X89.3103Y1.3793 +G1X89.3103Y0.8276 +G1X89.5862Y0.2759 +G1X90.4138Y0.0000 +G1X91.2414Y0.0000 +G1X91.7931Y0.2759 +G1X92.3448Y0.8276 +G0Z0.1 +G0X90.4138Y2.2069 +G1Z0.1 +G1X89.8621Y1.9310 +G1X89.5862Y1.3793 +G1X89.5862Y0.8276 +G1X89.8621Y0.2759 +G1X90.4138Y0.0000 +G0Z0.1 +G0X96.2759Y5.7931 +G1Z0.1 +G1X96.2759Y0.0000 +G0Z0.1 +G0X96.5517Y5.7931 +G1Z0.1 +G1X96.5517Y0.0000 +G0Z0.1 +G0X95.4483Y5.7931 +G1Z0.1 +G1X96.5517Y5.7931 +G0Z0.1 +G0X95.4483Y0.0000 +G1Z0.1 +G1X97.3793Y0.0000 +G0Z0.1 +G0X99.3793Y-0.5517 +G1Z0.1 +G1X103.7931Y-0.5517 +G0Z0.1 +G0X109.1034Y3.0345 +G1Z0.1 +G1X108.8276Y2.7586 +G1X109.1034Y2.4828 +G1X109.3793Y2.7586 +G1X109.3793Y3.0345 +G1X108.8276Y3.5862 +G1X108.2759Y3.8621 +G1X107.4483Y3.8621 +G1X106.6207Y3.5862 +G1X106.0690Y3.0345 +G1X105.7931Y2.2069 +G1X105.7931Y1.6552 +G1X106.0690Y0.8276 +G1X106.6207Y0.2759 +G1X107.4483Y0.0000 +G1X108.0000Y0.0000 +G1X108.8276Y0.2759 +G1X109.3793Y0.8276 +G0Z0.1 +G0X107.4483Y3.8621 +G1Z0.1 +G1X106.8966Y3.5862 +G1X106.3448Y3.0345 +G1X106.0690Y2.2069 +G1X106.0690Y1.6552 +G1X106.3448Y0.8276 +G1X106.8966Y0.2759 +G1X107.4483Y0.0000 +G0Z0.1 +G0X113.0345Y5.7931 +G1Z0.1 +G1X112.2069Y5.5172 +G1X111.6552Y4.6897 +G1X111.3793Y3.3103 +G1X111.3793Y2.4828 +G1X111.6552Y1.1034 +G1X112.2069Y0.2759 +G1X113.0345Y0.0000 +G1X113.5862Y0.0000 +G1X114.4138Y0.2759 +G1X114.9655Y1.1034 +G1X115.2414Y2.4828 +G1X115.2414Y3.3103 +G1X114.9655Y4.6897 +G1X114.4138Y5.5172 +G1X113.5862Y5.7931 +G1X113.0345Y5.7931 +G1X112.4828Y5.5172 +G1X112.2069Y5.2414 +G1X111.9310Y4.6897 +G1X111.6552Y3.3103 +G1X111.6552Y2.4828 +G1X111.9310Y1.1034 +G1X112.2069Y0.5517 +G1X112.4828Y0.2759 +G1X113.0345Y0.0000 +G0Z0.1 +G0X113.5862Y0.0000 +G1Z0.1 +G1X114.1379Y0.2759 +G1X114.4138Y0.5517 +G1X114.6897Y1.1034 +G1X114.9655Y2.4828 +G1X114.9655Y3.3103 +G1X114.6897Y4.6897 +G1X114.4138Y5.2414 +G1X114.1379Y5.5172 +G1X113.5862Y5.7931 +G0Z0.1 +G0X118.0690Y3.8621 +G1Z0.1 +G1X118.0690Y0.0000 +G0Z0.1 +G0X118.3448Y3.8621 +G1Z0.1 +G1X118.3448Y0.0000 +G0Z0.1 +G0X118.3448Y3.0345 +G1Z0.1 +G1X118.8966Y3.5862 +G1X119.7241Y3.8621 +G1X120.2759Y3.8621 +G1X121.1034Y3.5862 +G1X121.3793Y3.0345 +G1X121.3793Y0.0000 +G0Z0.1 +G0X120.2759Y3.8621 +G1Z0.1 +G1X120.8276Y3.5862 +G1X121.1034Y3.0345 +G1X121.1034Y0.0000 +G0Z0.1 +G0X117.2414Y3.8621 +G1Z0.1 +G1X118.3448Y3.8621 +G0Z0.1 +G0X117.2414Y0.0000 +G1Z0.1 +G1X119.1724Y0.0000 +G0Z0.1 +G0X120.2759Y0.0000 +G1Z0.1 +G1X122.2069Y0.0000 +G0Z0.1 +G0X125.0345Y5.7931 +G1Z0.1 +G1X125.0345Y1.1034 +G1X125.3103Y0.2759 +G1X125.8621Y0.0000 +G1X126.4138Y0.0000 +G1X126.9655Y0.2759 +G1X127.2414Y0.8276 +G0Z0.1 +G0X125.3103Y5.7931 +G1Z0.1 +G1X125.3103Y1.1034 +G1X125.5862Y0.2759 +G1X125.8621Y0.0000 +G0Z0.1 +G0X124.2069Y3.8621 +G1Z0.1 +G1X126.4138Y3.8621 +G0Z0.1 +G0X130.0690Y3.8621 +G1Z0.1 +G1X130.0690Y0.0000 +G0Z0.1 +G0X130.3448Y3.8621 +G1Z0.1 +G1X130.3448Y0.0000 +G0Z0.1 +G0X130.3448Y2.2069 +G1Z0.1 +G1X130.6207Y3.0345 +G1X131.1724Y3.5862 +G1X131.7241Y3.8621 +G1X132.5517Y3.8621 +G1X132.8276Y3.5862 +G1X132.8276Y3.3103 +G1X132.5517Y3.0345 +G1X132.2759Y3.3103 +G1X132.5517Y3.5862 +G0Z0.1 +G0X129.2414Y3.8621 +G1Z0.1 +G1X130.3448Y3.8621 +G0Z0.1 +G0X129.2414Y0.0000 +G1Z0.1 +G1X131.1724Y0.0000 +G0Z0.1 +G0X136.4828Y5.7931 +G1Z0.1 +G1X135.6552Y5.5172 +G1X135.1034Y4.6897 +G1X134.8276Y3.3103 +G1X134.8276Y2.4828 +G1X135.1034Y1.1034 +G1X135.6552Y0.2759 +G1X136.4828Y0.0000 +G1X137.0345Y0.0000 +G1X137.8621Y0.2759 +G1X138.4138Y1.1034 +G1X138.6897Y2.4828 +G1X138.6897Y3.3103 +G1X138.4138Y4.6897 +G1X137.8621Y5.5172 +G1X137.0345Y5.7931 +G1X136.4828Y5.7931 +G1X135.9310Y5.5172 +G1X135.6552Y5.2414 +G1X135.3793Y4.6897 +G1X135.1034Y3.3103 +G1X135.1034Y2.4828 +G1X135.3793Y1.1034 +G1X135.6552Y0.5517 +G1X135.9310Y0.2759 +G1X136.4828Y0.0000 +G0Z0.1 +G0X137.0345Y0.0000 +G1Z0.1 +G1X137.5862Y0.2759 +G1X137.8621Y0.5517 +G1X138.1379Y1.1034 +G1X138.4138Y2.4828 +G1X138.4138Y3.3103 +G1X138.1379Y4.6897 +G1X137.8621Y5.2414 +G1X137.5862Y5.5172 +G1X137.0345Y5.7931 +G0Z0.1 +G0X141.5172Y5.7931 +G1Z0.1 +G1X141.5172Y0.0000 +G0Z0.1 +G0X141.7931Y5.7931 +G1Z0.1 +G1X141.7931Y0.0000 +G0Z0.1 +G0X140.6897Y5.7931 +G1Z0.1 +G1X141.7931Y5.7931 +G0Z0.1 +G0X140.6897Y0.0000 +G1Z0.1 +G1X142.6207Y0.0000 +G0Z0.1 +G0X144.6207Y-0.5517 +G1Z0.1 +G1X149.0345Y-0.5517 +G0Z0.1 +G0X152.4138Y5.7931 +G1Z0.1 +G1X151.5862Y5.5172 +G1X151.3103Y4.9655 +G1X151.3103Y4.1379 +G1X151.5862Y3.5862 +G1X152.4138Y3.3103 +G1X153.5172Y3.3103 +G1X154.3448Y3.5862 +G1X154.6207Y4.1379 +G1X154.6207Y4.9655 +G1X154.3448Y5.5172 +G1X153.5172Y5.7931 +G1X152.4138Y5.7931 +G1X151.8621Y5.5172 +G1X151.5862Y4.9655 +G1X151.5862Y4.1379 +G1X151.8621Y3.5862 +G1X152.4138Y3.3103 +G0Z0.1 +G0X153.5172Y3.3103 +G1Z0.1 +G1X154.0690Y3.5862 +G1X154.3448Y4.1379 +G1X154.3448Y4.9655 +G1X154.0690Y5.5172 +G1X153.5172Y5.7931 +G0Z0.1 +G0X152.4138Y3.3103 +G1Z0.1 +G1X151.5862Y3.0345 +G1X151.3103Y2.7586 +G1X151.0345Y2.2069 +G1X151.0345Y1.1034 +G1X151.3103Y0.5517 +G1X151.5862Y0.2759 +G1X152.4138Y0.0000 +G1X153.5172Y0.0000 +G1X154.3448Y0.2759 +G1X154.6207Y0.5517 +G1X154.8966Y1.1034 +G1X154.8966Y2.2069 +G1X154.6207Y2.7586 +G1X154.3448Y3.0345 +G1X153.5172Y3.3103 +G0Z0.1 +G0X152.4138Y3.3103 +G1Z0.1 +G1X151.8621Y3.0345 +G1X151.5862Y2.7586 +G1X151.3103Y2.2069 +G1X151.3103Y1.1034 +G1X151.5862Y0.5517 +G1X151.8621Y0.2759 +G1X152.4138Y0.0000 +G0Z0.1 +G0X153.5172Y0.0000 +G1Z0.1 +G1X154.0690Y0.2759 +G1X154.3448Y0.5517 +G1X154.6207Y1.1034 +G1X154.6207Y2.2069 +G1X154.3448Y2.7586 +G1X154.0690Y3.0345 +G1X153.5172Y3.3103 +G0Z0.1 +G0X159.6552Y5.2414 +G1Z0.1 +G1X159.6552Y0.0000 +G0Z0.1 +G0X159.9310Y5.7931 +G1Z0.1 +G1X159.9310Y0.0000 +G0Z0.1 +G0X159.9310Y5.7931 +G1Z0.1 +G1X156.8966Y1.6552 +G1X161.3103Y1.6552 +G0Z0.1 +G0X158.8276Y0.0000 +G1Z0.1 +G1X160.7586Y0.0000 +G0Z0.1 +G0X166.6207Y5.7931 +G1Z0.1 +G1X166.6207Y0.0000 +G0Z0.1 +G0X166.8966Y5.7931 +G1Z0.1 +G1X166.8966Y0.0000 +G0Z0.1 +G0X166.6207Y3.0345 +G1Z0.1 +G1X166.0690Y3.5862 +G1X165.5172Y3.8621 +G1X164.9655Y3.8621 +G1X164.1379Y3.5862 +G1X163.5862Y3.0345 +G1X163.3103Y2.2069 +G1X163.3103Y1.6552 +G1X163.5862Y0.8276 +G1X164.1379Y0.2759 +G1X164.9655Y0.0000 +G1X165.5172Y0.0000 +G1X166.0690Y0.2759 +G1X166.6207Y0.8276 +G0Z0.1 +G0X164.9655Y3.8621 +G1Z0.1 +G1X164.4138Y3.5862 +G1X163.8621Y3.0345 +G1X163.5862Y2.2069 +G1X163.5862Y1.6552 +G1X163.8621Y0.8276 +G1X164.4138Y0.2759 +G1X164.9655Y0.0000 +G0Z0.1 +G0X165.7931Y5.7931 +G1Z0.1 +G1X166.8966Y5.7931 +G0Z0.1 +G0X166.6207Y0.0000 +G1Z0.1 +G1X167.7241Y0.0000 +G0Z0.1 +G0X170.0000Y4.6897 +G1Z0.1 +G1X170.2759Y4.4138 +G1X170.0000Y4.1379 +G1X169.7241Y4.4138 +G1X169.7241Y4.6897 +G1X170.0000Y5.2414 +G1X170.2759Y5.5172 +G1X171.1034Y5.7931 +G1X172.2069Y5.7931 +G1X173.0345Y5.5172 +G1X173.3103Y5.2414 +G1X173.5862Y4.6897 +G1X173.5862Y4.1379 +G1X173.3103Y3.5862 +G1X172.4828Y3.0345 +G1X171.1034Y2.4828 +G1X170.5517Y2.2069 +G1X170.0000Y1.6552 +G1X169.7241Y0.8276 +G1X169.7241Y0.0000 +G0Z0.1 +G0X172.2069Y5.7931 +G1Z0.1 +G1X172.7586Y5.5172 +G1X173.0345Y5.2414 +G1X173.3103Y4.6897 +G1X173.3103Y4.1379 +G1X173.0345Y3.5862 +G1X172.2069Y3.0345 +G1X171.1034Y2.4828 +G0Z0.1 +G0X169.7241Y0.5517 +G1Z0.1 +G1X170.0000Y0.8276 +G1X170.5517Y0.8276 +G1X171.9310Y0.2759 +G1X172.7586Y0.2759 +G1X173.3103Y0.5517 +G1X173.5862Y0.8276 +G0Z0.1 +G0X170.5517Y0.8276 +G1Z0.1 +G1X171.9310Y0.0000 +G1X173.0345Y0.0000 +G1X173.3103Y0.2759 +G1X173.5862Y0.8276 +G1X173.5862Y1.3793 +G0Z0.1 +G0X178.8966Y5.7931 +G1Z0.1 +G1X178.8966Y0.0000 +G0Z0.1 +G0X179.1724Y5.7931 +G1Z0.1 +G1X179.1724Y0.0000 +G0Z0.1 +G0X178.8966Y3.0345 +G1Z0.1 +G1X178.3448Y3.5862 +G1X177.7931Y3.8621 +G1X177.2414Y3.8621 +G1X176.4138Y3.5862 +G1X175.8621Y3.0345 +G1X175.5862Y2.2069 +G1X175.5862Y1.6552 +G1X175.8621Y0.8276 +G1X176.4138Y0.2759 +G1X177.2414Y0.0000 +G1X177.7931Y0.0000 +G1X178.3448Y0.2759 +G1X178.8966Y0.8276 +G0Z0.1 +G0X177.2414Y3.8621 +G1Z0.1 +G1X176.6897Y3.5862 +G1X176.1379Y3.0345 +G1X175.8621Y2.2069 +G1X175.8621Y1.6552 +G1X176.1379Y0.8276 +G1X176.6897Y0.2759 +G1X177.2414Y0.0000 +G0Z0.1 +G0X178.0690Y5.7931 +G1Z0.1 +G1X179.1724Y5.7931 +G0Z0.1 +G0X178.8966Y0.0000 +G1Z0.1 +G1X180.0000Y0.0000 +G0Z0.1 +G0X182.0000Y4.6897 +G1Z0.1 +G1X182.5517Y4.9655 +G1X183.3793Y5.7931 +G1X183.3793Y0.0000 +G0Z0.1 +G0X183.1034Y5.5172 +G1Z0.1 +G1X183.1034Y0.0000 +G0Z0.1 +G0X182.0000Y0.0000 +G1Z0.1 +G1X184.4828Y0.0000 +G0Z0.1 +G0X186.4828Y4.6897 +G1Z0.1 +G1X187.0345Y4.9655 +G1X187.8621Y5.7931 +G1X187.8621Y0.0000 +G0Z0.1 +G0X187.5862Y5.5172 +G1Z0.1 +G1X187.5862Y0.0000 +G0Z0.1 +G0X186.4828Y0.0000 +G1Z0.1 +G1X188.9655Y0.0000 +G0Z0.1 +G0X190.9655Y5.7931 +G1Z0.1 +G1X190.9655Y4.1379 +G0Z0.1 +G0X190.9655Y4.6897 +G1Z0.1 +G1X191.2414Y5.2414 +G1X191.7931Y5.7931 +G1X192.3448Y5.7931 +G1X193.7241Y4.9655 +G1X194.2759Y4.9655 +G1X194.5517Y5.2414 +G1X194.8276Y5.7931 +G0Z0.1 +G0X191.2414Y5.2414 +G1Z0.1 +G1X191.7931Y5.5172 +G1X192.3448Y5.5172 +G1X193.7241Y4.9655 +G0Z0.1 +G0X194.8276Y5.7931 +G1Z0.1 +G1X194.8276Y4.9655 +G1X194.5517Y4.1379 +G1X193.4483Y2.7586 +G1X193.1724Y2.2069 +G1X192.8965Y1.3793 +G1X192.8965Y0.0000 +G0Z0.1 +G0X194.5517Y4.1379 +G1Z0.1 +G1X193.1724Y2.7586 +G1X192.8965Y2.2069 +G1X192.6207Y1.3793 +G1X192.6207Y0.0000 +G0Z0.1 +G0X196.8276Y6.8966 +G1Z0.1 +G1X197.3793Y6.6207 +G1X197.6552Y6.3448 +G1X197.9310Y5.7931 +G1X197.9310Y5.2414 +G1X197.6552Y4.6897 +G1X197.3793Y4.4138 +G1X197.1034Y3.8621 +G1X197.1034Y3.3103 +G1X197.6552Y2.7586 +G0Z0.1 +G0X197.3793Y6.6207 +G1Z0.1 +G1X197.6552Y6.0690 +G1X197.6552Y5.5172 +G1X197.3793Y4.9655 +G1X197.1034Y4.6897 +G1X196.8276Y4.1379 +G1X196.8276Y3.5862 +G1X197.1034Y3.0345 +G1X198.2069Y2.4828 +G1X197.1034Y1.9310 +G1X196.8276Y1.3793 +G1X196.8276Y0.8276 +G1X197.1034Y0.2759 +G1X197.3793Y0.0000 +G1X197.6552Y-0.5517 +G1X197.6552Y-1.1034 +G1X197.3793Y-1.6552 +G0Z0.1 +G0X197.6552Y2.2069 +G1Z0.1 +G1X197.1034Y1.6552 +G1X197.1034Y1.1034 +G1X197.3793Y0.5517 +G1X197.6552Y0.2759 +G1X197.9310Y-0.2759 +G1X197.9310Y-0.8276 +G1X197.6552Y-1.3793 +G1X197.3793Y-1.6552 +G1X196.8276Y-1.9310 +G0Z0.1 diff --git a/rev/unpackme_py/unpackme.flag.py b/rev/unpackme_py/unpackme.flag.py new file mode 100755 index 0000000..0e9f99b --- /dev/null +++ b/rev/unpackme_py/unpackme.flag.py @@ -0,0 +1,15 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i python3 -p python3 python3Packages.cryptography + +import base64 +from cryptography.fernet import Fernet + +payload = b'gAAAAABkzWGWvEp8gLI9AcIn5o-ahDUwkTvM6EwF7YYMZlE-_Gf9rcNYjxIgX4b0ltY6bcxKarib2ds6POclRwCwhsRb1LOXVt4Q3ePtMY4BmHFFZlIHLk05CjwigT7hiI9p3sH9e7Cpk1uO90xbHbuy-mfi3nkmn411aBgwxyWpJvykpkuBIG_nty6zbox3UhbB85TOis0TgM0zG4ht0-GUW4wTq2_5-wkw3kV1ZAisLJHzF-Z9oLMmwFZU0UCAcHaBTGDF5BnVLmUeCGTgzVLSNn6BmB61Yg==' + +key_str = 'correctstaplecorrectstaplecorrec' +key_base64 = base64.b64encode(key_str.encode()) +f = Fernet(key_base64) +plain = f.decrypt(payload) + +print(plain.decode()) +# exec(plain.decode()) diff --git a/rev/vault_door_training/VaultDoorTraining.java b/rev/vault_door_training/VaultDoorTraining.java new file mode 100644 index 0000000..98027a4 --- /dev/null +++ b/rev/vault_door_training/VaultDoorTraining.java @@ -0,0 +1,26 @@ +import java.util.*; + +class VaultDoorTraining { + public static void main(String args[]) { + VaultDoorTraining vaultDoor = new VaultDoorTraining(); + Scanner scanner = new Scanner(System.in); + System.out.print("Enter vault password: "); + String userInput = scanner.next(); + String input = userInput.substring("picoCTF{".length(),userInput.length()-1); + if (vaultDoor.checkPassword(input)) { + System.out.println("Access granted."); + } else { + System.out.println("Access denied!"); + } + } + + // The password is below. Is it safe to put the password in the source code? + // What if somebody stole our source code? Then they would know what our + // password is. Hmm... I will think of some ways to improve the security + // on the other doors. + // + // -Minion #9567 + public boolean checkPassword(String password) { + return password.equals("w4rm1ng_Up_w1tH_jAv4_eec0716b713"); + } +} diff --git a/rev/vault_door_training/flag.txt b/rev/vault_door_training/flag.txt new file mode 100644 index 0000000..08434a7 --- /dev/null +++ b/rev/vault_door_training/flag.txt @@ -0,0 +1 @@ +picoCTF{w4rm1ng_Up_w1tH_jAv4_eec0716b713}