• Silahkan bergabung dengan chat kami di Telegram group kami di N3Forum - https://t.me/n3forum
  • Welcome to the Nyit-Nyit.Net - N3 forum! This is a forum where offline-online gamers, programmers and reverser community can share, learn, communicate and interact, offer services, sell and buy game mods, hacks, cracks and cheats related, including for iOS and Android.

    If you're a pro-gamer or a programmer or a reverser, we would like to invite you to Sign Up and Log In on our website. Make sure to read the rules and abide by it, to ensure a fair and enjoyable user experience for everyone.

N3 Defeating Simple Php Obfuscator

dono

3 SMP
STAFF N3
Tukang Sapu
-----[ Langkah-langkah

Beberapa waktu lalu, saya dihadapkan dengan sebuah script php yang di-obfuscate
menggunakan obfuscator sederhana. Berikut ini snippet dari script php tersebut:

Code:
1 <?php // This file is protected by copyright law and provided under license.
2 $OOO0O0O00=__FILE__;$O00O00O00=__LINE__;$OO00O0000=928;eval((base64_decode('
3 k+AJDweJDweJDwhyL6GHOukyLCNa8bvVkhAFpiyDpGAFkTd0kTZ/k+AJtzeJD+QdDmr0kTZlcCka

Kodenya cukup panjang, jadi saya potong saja cukup sebagai preview. Untuk kode
yang lengkap, bisa dilihat di bagian attachment pada tutorial ini. Intinya ada
lah, kode untuk deobfuscatornya terdapat pada baris ke-2, yang lengkapnya se-
bagai berikut (edit sedikit biar rapi):


Code:
$OOO0O0O00 = __FILE__;
$O00O00O00 = __LINE__;
$OO00O0000 = 928;
eval((base64_decode('JE8wMDBPME8wMD1mb3BlbigkT09PME8wTzAwLCdyYicpO3doaWxlKC0tJE
8wME8wME8wMClmZ2V0cygkTzAwME8wTzAwLDEwMjQpO2ZnZXRzKCRPMDAwTzBPMDAsNDA5Nik7JE9PM
DBPMDBPMD0oYmFzZTY0X2RlY29kZShzdHJ0cihmcmVhZCgkTzAwME8wTzAwLDM3MiksJ1NlbXcrb0M1
WmtjVURSZkpYcDF0dkczTzhxTVdMN3hGWWEwbml5NkhWZ0s5bEUvMmROVHo0aGJ1ckJzSVFBalA9Jyw
nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NT
Y3ODkrLycpKSk7ZXZhbCgkT08wME8wME8wKTs=')));return;

Jadi kuncinya, ada pada bagian "eval" dan yang harus dilakukan pertama adalah
melakukan decode base64 string yang ada snippet kode di atas. Hasilnya adalah
sebagai berikut (edit sedikit biar rapi):


Code:
$O000O0O00 = fopen($OOO0O0O00,'rb');
while(--$O00O00O00) fgets($O000O0O00,1024);
fgets($O000O0O00,4096);
$OO00O00O0 = (base64_decode(strtr(fread($O000O0O00,372),
'Semw+oC5ZkcUDRfJXp1tvG3O8qMWL7xFYa0niy6HVgK9lE/2dNTz4hburBsIQAjP=',
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
eval($OO00O00O0);

Dari potongan kode di atas, bisa terlihat bahwa script tersebut memanfaatkan
fungsi strtr[1] untuk meng-obfuscate baris terakhir script php. Dan untuk me-
ngembalikan script php yang telah di-obfuscate, kita bisa melakukannya menggu-
nakan command line atau membuat script sederhana. Berikut ini ada command line
yang digunakan untuk mengembalikan script yang telah di-obfuscate:


Code:
$ tail -1 script.php | tr \
'Semw+oC5ZkcUDRfJXp1tvG3O8qMWL7xFYa0niy6HVgK9lE/2dNTz4hburBsIQAjP=' \
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' | \
base64 -d

Cukup ganti "script.php" dengan nama file yang akan di-deobfuscate, hasilnya
seperti ini (edit sedikit biar rapi):


Code:
$OO00O00O0 = ereg_replace('__FILE__',"'".$OOO0O0O00."'",
(base64_decode(strtr(fread($O000O0O00,$OO00O0000),
'Semw+oC5ZkcUDRfJXp1tvG3O8qMWL7xFYa0niy6HVgK9lE/2dNTz4hburBsIQAjP=',
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'))));
fclose($O000O0O00);
eval($OO00O00O0);
if ( !is_file('wp-load.php') )
{
preg_match('|^(.*?/)(wp-content)/|i', str_replace('\\', '/', __FILE__), $_m);
require_once $_m[1].'wp-load.php';
}
else
require_once 'wp-load.php';
require_once ABSPATH.'wp-admin/admin.php';
if ( !current_user_can('install_plugins') )
wp_die(__('You do not have sufficient permissions to install plugins on this blog.'));
$res = $wpdb->query("ALTER TABLE `{$wpdb->prefix}pageflip` AUTO_INCREMENT = 1") !== false;
$res = $res && $wpdb->query("ALTER TABLE `{$wpdb->prefix}pageflip_gallery` AUTO_INCREMENT = 1") !== false;
$res = $res && $wpdb->query("ALTER TABLE `{$wpdb->prefix}pageflip_img` AUTO_INCREMENT = 1") !== false;
if ($res)
echo "OK";

Nah, sekarang scriptnya sudah berhasil di-deobfuscate dan dapat diedit sesuai
keinginan. Dan jika ingin praktis, bisa membuat script sederhana seperti ini:


Code:
 1 #!/bin/sh
2
3 if [ "$1" = "" ]; then
4 echo "Usage: $0 <file>"
5 exit 1
6 fi
7
8 tail -1 $1 | tr \
9 'Semw+oC5ZkcUDRfJXp1tvG3O8qMWL7xFYa0niy6HVgK9lE/2dNTz4hburBsIQAjP=' \
10 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' | base64 -d

Sekian tutorial singkat kali ini, semoga bermanfaat.


-----[ Referensi

[1] strtr — Translate characters or replace substrings
http://php.net/manua...ction.strtr.php

[2] tr - translate or delete characters
http://linux.die.net/man/1/tr


-----[ Attachment: obfuscated script

begin 644 reset-id.php
Code:
M/#]P:'`@+R\@5&AI<R!F:6QE(&ES('!R;W1E8W1E9"!B>2!C;W!Y<FEG:'0@
M;&%W(&%N9"!P<F]V:61E9"!U;F1E<B!L:6-E;G-E+B!2979E<G-E(&5N9VEN
M965R:6YG(&]F('1H:7,@9FEL92!I<R!S=')I8W1L>2!P<F]H:6)I=&5D+@HD
M3T]/,$\P3S`P/5]?1DE,15]?.R1/,#!/,#!/,#`]7U],24Y%7U\[)$]/,#!/
M,#`P,#TY,C@[979A;"@H8F%S938T7V1E8V]D92@G2D4X=TU$0E!-13AW340Q
M;6(S0FQB:6=K5#`Y4$U%.'=4>D%W3$-D>5EI8W!/,V1O85=X;$M#,'1*13AW
M344X=TU%.'=-0VQM6C)6,&-Y9VM4>D%W344X=U1Z07=,1$5W36I1<$\R6FY:
M6%)Z2T-24$U$07=4>D)0341!<TY$035.:6LW2D4Y4$U$0E!-1$)0340P;UEM
M1GI:5%DP6#)2;%DR.6M:4VAZ9$A*,&-I:&UC;59H6D-G:U1Z07=-13AW5'I!
M=TQ$33--:6MS2C%.;&)88W)B,$TQ5VUT:E954E-::W!98T1&,&1K8WI4>FAX
M5%9D34XS:$=75T5W8FUL-4YK:%=:,',U8D55=DUM4D]62&\P84=*,6-K2GI3
M5D9"86Q!.4IY=VY154I$4D561U(P:$I3:W1-5%4U4%5&1E-5,5)65FQD65=6
M<&A9;4YK6E=:;F%';'%A,GAT8FTY=V-82GID2%8R9#-H-65J07A-:DTP3E19
M,T]$:W),>6-P2U-K-UI86FAB0V=K5#`X=TU%.'=-13AW2U1S/2<I*2D[<F5T
M=7)N.S\^"FLK04I$=V5*1'=E2D1W:'E,-D=(3W5K>4Q#3F$X8G96:VA!1G!I
M>41P1T%&:U1D,&M46B]K*T%*='IE2D0K461$;7(P:U1:;&-#:V%,8G9B4F]!
M:7$S4C)Q0W963'5P5#<U6E9Q2&MY.#-85FLK461$=V5*1"M19$1M9&ET-%%D
M1"M19$1W4V1C,61(=F)'13=413)8>D=-36)21W!O:S8Q>6%D1$]P8G!Z4DIF
M-6]21S1D=7@K<7$X=&4O34]I8C%O<4@Q>GEL<#%15'$K0G9X;G!6.$A'5%A(
M4FMV=F]+=G<T2%5M-V58:5(K<'9Q-3$K>6,Q-$Y2=&E!6'9':W1';T<S1VAA
M<3,V;S`X8G!Y<38W5DTS9SE70V@O5W5E3DQ(4C0W3W%U>#5Y<T1W*U1$>EAH
M4FY,<F8Q;#)K5&EG8S%I27$V4FQ7=5)Y8VUP2D1W4V1T>F5*1'=39V9B1V(X
M,V16:RM!2D1W94I$=V5*1&UI27=89V=Q,%-66FUO9TQH039-,TYY8VTW=4QM
M:&Q78F]I54AE5DQM3&=:;6E2;4AL4FU(951Q,S=&5S-O-#AB659K=4YX8VUR
M2TI446=C-3=D53-2,E=(<'E72%AG575.9VM49%E,=7!43W5K>4Q#3F$X8G96
M:VA.3&M49%EK5%%(56UE1D\T<6MT*T=&3U1I;%IM<$97,6E)=UAG5'%/;VA-
M3VMY3V)!+SAB=EEK;T%%,WIO-U4P-W5,;6AL5V)O:55(959,;4Q)=UAG07=8
M9WE7-5)Y=UAG5'%/;VA-3VMY3V)!+SAB=EEK=3=D53-.,C@S6"],0V%D:WIL
M4FU(:WE,3T=G3#9'1E=B0FYQ,65E6'E26%A'<%I5,#=U3&UH87%#:&=7,$%A
M<4-H9U<P0F1--5-(9F0T8TTS.%EC;5-A.'5'5$PV1R\W;T%H3&)'5$]B4F%7
M,%E(33-">C=#;VQ7;T%D5S5'2$TS0GIK5&E98U@T8S=U949Q0WEY8V]!1F-M
M-W%7=799<4-165<V031:0V%A-S9V64QU1S9Q-GEN33-'+S=M961Q3VM%34]2
M>DTS02],5&4T5U1E9U=(4C0X,TYL6C5E;#<S-V=72$195V)R63=#86=,5&4P
M5T-!2%4P3&=C=&Q2;3!P5'%/1%E*,5-I-W5E:3@P-&I,3T=Y3$AI5EII;T1'
M*T<Q6F]P95AI3F]:0V5):S4W9'%#6D5*2&54<3-Q9W@U:&0X,S=Y<39.9TQ#
M4UE81T=V=&A!:W1I4C%P=FAO='E864HQ4TY:,&E96G0T05I#<6%7-5)Y9F0T
M8VLU:WE,5%-!6FUP5'%/1%EK,#A9:S4W9'%#6D5*2&]H<4]K0F-M:V5T;W!O
M=C!E=EAV:T1P,659>%1P=4Q#<#!5=$)D3#9'-DU/84%,0V](<3-Q;$U/949Q
M8F]L5T-'5'@S4UE81T=V=&A!:W1I4C%P=FAO='E864HQ4TY:,&E96G0T05I#
M<6%7-5)Y9F0T8VLU:WE,5%-!6FUP5'%/1%EK,#A9:S4W9'%#6D5*2&]H<4]K
M0F-M:V5T;W!O=C!E=EAV:T1P,659>%1P=4Q#<#!5=$)D3#9'-DU/84%,0V](
M<3-Q;$U/949-,VA(.&UE94='<$I/-'EF6&AK;W1V1V9';5-!6G<K,&,Q4V%*
M=#19<39O;$QB=DEW6&=G<3!35FLU:WE,5&E2;39';DU#45E::4%56FYL4FU9
"/3T`
`
end
Credits: id.slacker - RNDC Indonesia
Group: https://www.facebook.com/groups/rndc.or.id/
 

dono

3 SMP
STAFF N3
Tukang Sapu
fungsi utama dari code diatas , maksudnya kegunaannya ?
judulnya Defeating PHP Obfuscator sudah jelas intinya mendecrypt code PHP yang di protect. Tapi ini pola simple. Dalam dunia nullified ini adalah dasar nya.
 
Top