ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: Fallen ที่ 08 พฤศจิกายน 2011, 15:56:55



หัวข้อ: วิธีถอด BASE64 ทำไม่ได้ครับ ช่วยแนะวิธี ทำได้จริงๆ ด้วยนะครับ Y Y
เริ่มหัวข้อโดย: Fallen ที่ 08 พฤศจิกายน 2011, 15:56:55
หลายคำตอบที่ให้มา

เช่น อันนี้ก็ งง ว่าทำอย่างไร
เปลี่ยน eval เป็น echo แล้วดูใน sourcecode html

เช่น (อันนี้ไม่เข้าใจเขาทำอย่างไร )

สมมุติแบบPHP นะครับ
การเข้ารหัส
<?
echo base64_encode("Thailand");
?>
Output ก็จะได้
VGhhaWxhbmQ=
การถอดรหัส
<?
echo base64_decode("VGhhaWxhbmQ= ");
?>
Output
Thailand



เช่น (อันนี้ ถอดเเล้วมันเป็นอักษรมั่วๆอ่ะคับ)
โค๊ด:
http://www.opinionatedgeek.com/dotnet/tools/base64decode/

เดิม
โค๊ด:
function printDownHTML()
{
global $settings, $lang;
echo(gzinflate(base64_decode('DczZkmtAAADQz5lMebBH1K15QOzLBE3wcqvRRLQkTWL7+nvPBx
w0Q3xo9+7RYPhGhxJO6Cj8rVH1rNHhS62sEg/ToijncBcxh1Itg948bFnqJoHZzc6Gnc+Ta+9QH3dZEv
bHXBPqLU3Th6bOtc/L96iR+G6Zt46vG5CV64OTJR/xUmMF2SKRYkhNi2lZzTMKt9OR6T8bEUJ/pV5W1I
Z7rCpxfy0VCWw0EngmLByPb2MQ6nKQfvwjoz/hDU23o0ORTxbgd8glfsi57ljMJsHasZmZfBXba6NdE7
zedJCR2Y43vk6se7UvVZEJZKTBWezHC5thuCZ1Hyi1Y9TET0r6OW0FvJDoHVwd0nCsmrP9Kuu8YEKFDK
cFV8Ua5Io5I1+iU7VPGT5wy25752NqMPEvtDXgRq1NTrcAAuFzizSlUpBIbMBEYu+phq2C4+8qX8CoJD
ob76jVpXMuV+wuKCykT9pgD/9zvF0IFjrgGRP97GflSqFe9HYje7woHfC0VY2aHSAVF3XW1/CkJ84mLy
B45WYlzozMxLoM1kaIAgTRlJwfzMt/ubTczLRsLT8/X9/f33/+AQ==')));
    exit();
}  // END printDownHTML

เเล้วมันจะเป็นอักษรต่างดาว
โค๊ด:
�ْk@���ϙLy�Gԭy@��M�r��D�$Mb��{�4C|h���`�F�N�(��Q����K��Ӣ(�p1�R-��<lY�&���Ά�ϓk�PwY��\�-MӇ�ε������n������냓%�Rc�"�bHM�iY�3
�ӑ�?B�^VԆ{�*q- l4x&,�oc�r�~�#�?�
M��C�O�w�%~ȹ�X�&�ڱ��|�k�]��t��َ7�N�{�/U� d��Y�� �a�&u(�c��OJ�9m���\�p����*�`B� �W��9#_�S�O>p�n{�cj0�/�5�F�MN���s�4�R�Hl�Db渚����*_��$:�եs.W�.(,�O�`�s�]:���g�J�^�v#{�(�U�� u���'�&/ x�f%Ό�ĺ �F�є������̴l-??_����


ตกลงมันมีวิธีถอดจริงๆไหมครับ
ขอคำชี้เเนะหน่อยครับ ขอวิธีทำเลย เพราะผมไม่เคยเขียนโปรแกรมเลยครับ Y Y :'(


หัวข้อ: Re: อย่างที่เเนะนำมาถอดไม่ได้ครับ เจ้า Base64 นี่อ่ะ ขอวิธีถที่ทำได้จริงๆหน่อยน่ะ
เริ่มหัวข้อโดย: bonshington ที่ 08 พฤศจิกายน 2011, 16:10:07
gzinflate
แล้วสรุปมันติด gzip รึเปล่าล่ะ?

gzip ก็เหมือน zip ที่เอาไว้บีบอัดข้อมูลที่เป็น byte
base64 เป็นการเปลี่ยนข้อมูล จาก byte เป็น string ให้ดูเป็นตัวอักษร

สาเหตุที่ gzinflate แล้วมันไม่ออก มันได้เป็น byte รึเปล่า? ถ้าเป็ฯ byte ก็ต้องเปลี่ยนเป็ฯ string อีกที


หัวข้อ: Re: อย่างที่เเนะนำมาถอดไม่ได้ครับ เจ้า Base64 นี่อ่ะ ขอวิธีถที่ทำได้จริงๆหน่อยน่ะ
เริ่มหัวข้อโดย: Fallen ที่ 08 พฤศจิกายน 2011, 16:16:32
gzinflate
แล้วสรุปมันติด gzip รึเปล่าล่ะ?

gzip ก็เหมือน zip ที่เอาไว้บีบอัดข้อมูลที่เป็น byte
base64 เป็นการเปลี่ยนข้อมูล จาก byte เป็น string ให้ดูเป็นตัวอักษร

สาเหตุที่ gzinflate แล้วมันไม่ออก มันได้เป็น byte รึเปล่า? ถ้าเป็ฯ byte ก็ต้องเปลี่ยนเป็ฯ string อีกที

+ขอบคุณไว้ก่อน  เเต่ผมไม่เคยเขียนโปรแกรมเลย (ทำไม่เป้น  :wanwan004:)


หัวข้อ: Re: วิธีถอด BASE64 ทำไม่ได้ครับ ช่วยแนะวิธี ทำได้จริงๆ ด้วยนะครับ Y Y
เริ่มหัวข้อโดย: seoproject ที่ 08 พฤศจิกายน 2011, 16:38:29
โค๊ด:
$link=true;
if (file_exists('gbook_license.php')) {include('gbook_license.php');
if (@is_array($settings['gbook_license'])) {$link=false;}}
if ($link) {echo '<div class="clear"></div><div style="text-align:center">Powered by <a href="http://www.phpjunkyard.com/php-guestbook-script.php" '.$settings['target'].' title="Guestbook">PHP Guestbook</a> '.$settings['verzija'].' from <a href="http://www.phpjunkyard.com/" '.$settings['target'].' title="Free PHP Scripts">PHP Scripts</a></div>';}
require_once($settings['tpl_path'].'overall_footer.php');
ถอดออกมาได้แบบนี้ครับ ส่วนวิธี

ให้สร้างไฟล์ decrypt.php
โค๊ด:
<?php
echo "\nDECODE nested eval(gzinflate()) from Taree Internet <www.tareeinternet.com>\n\n";
echo 
"1. Reading coded.txt\n";
$fp1 fopen ("coded.txt""r");
$contents fread ($fp1filesize ("coded.txt"));
fclose($fp1);
echo 
"2. Decoding\n";
while (
preg_match("/eval\(gzinflate/",$contents)) {
$contents=preg_replace("/<\?|\?>
/", "", $contents); eval(preg_replace("/eval/", "\$contents=", $contents)); } echo "3. Writing decoded.txt\n"; $fp2 = fopen("decoded.txt","w"); fwrite($fp2, trim($contents)); fclose($fp2);
?>

สร้างไฟล์ coded.txt กับ decoded.txt เอาไว้ที่เดียวกับ ไฟล์ decrypt.php

ไฟล์ coded.txt
โค๊ด:
eval(gzinflate(base64_decode("DczZkmtAAADQz5lMebBH1K15QOzLBE3wcqvRRLQkTWL7+nvPBx
w0Q3xo9+7RYPhGhxJO6Cj8rVH1rNHhS62sEg/ToijncBcxh1Itg948bFnqJoHZzc6Gnc+Ta+9QH3dZEv
bHXBPqLU3Th6bOtc/L96iR+G6Zt46vG5CV64OTJR/xUmMF2SKRYkhNi2lZzTMKt9OR6T8bEUJ/pV5W1I
Z7rCpxfy0VCWw0EngmLByPb2MQ6nKQfvwjoz/hDU23o0ORTxbgd8glfsi57ljMJsHasZmZfBXba6NdE7
zedJCR2Y43vk6se7UvVZEJZKTBWezHC5thuCZ1Hyi1Y9TET0r6OW0FvJDoHVwd0nCsmrP9Kuu8YEKFDK
cFV8Ua5Io5I1+iU7VPGT5wy25752NqMPEvtDXgRq1NTrcAAuFzizSlUpBIbMBEYu+phq2C4+8qX8CoJD
ob76jVpXMuV+wuKCykT9pgD/9zvF0IFjrgGRP97GflSqFe9HYje7woHfC0VY2aHSAVF3XW1/CkJ84mLy
B45WYlzozMxLoM1kaIAgTRlJwfzMt/ubTczLRsLT8/X9/f33/+AQ==")));
ก็คือให้เอาโค็ดที่จะถอดมาใส่ครับ ของเจ้าของกระทู้ เป็น echo ให้เปลี่ยนเป็น eval ครับ จะได้แบบด้านบน เอาไปใส่ที่ ไฟล์ coded.txt

แล้วก็รัน ไฟล์ decrypt.php ดูครับ ถ้าไว้ที่เครื่องก็เรียกผ่าน http://localhost/decrypt.php

ถ้าขึ้นข้อความว่า DECODE nested eval(gzinflate()) from Taree Internet 1. Reading coded.txt 2. Decoding 3. Writing decoded.txt ไม่ error แสดงว่าได้ครับ

โค็ด ที่ decoded แล้วจะอยู่ที่ไฟล์ decoded.txt ให้ลองเปิดดูครับจะได้ เป็นโค็ดออกมาเลย
โค๊ด:
$link=true;
if (file_exists('gbook_license.php')) {include('gbook_license.php');
if (@is_array($settings['gbook_license'])) {$link=false;}}
if ($link) {echo '<div class="clear"></div><div style="text-align:center">Powered by <a href="http://www.phpjunkyard.com/php-guestbook-script.php" '.$settings['target'].' title="Guestbook">PHP Guestbook</a> '.$settings['verzija'].' from <a href="http://www.phpjunkyard.com/" '.$settings['target'].' title="Free PHP Scripts">PHP Scripts</a></div>';}
require_once($settings['tpl_path'].'overall_footer.php');

ปล. ผมก็เอามาจากฝรั่งอีกทีครับ มาเรียบเรียงใหม่ ผิดพลาดขออภัยครับ แต่ผมทดสอบแล้วได้ผล


หัวข้อ: Re: วิธีถอด BASE64 ทำไม่ได้ครับ ช่วยแนะวิธี ทำได้จริงๆ ด้วยนะครับ Y Y
เริ่มหัวข้อโดย: xvlnw.com ที่ 08 พฤศจิกายน 2011, 16:42:53
ถอดง่ายมากเลยครับ

+http://www.tareeinternet.com/scripts/decrypt.php

เวลากอปไปอย่าลืมเปลี่ยนจาก echo เป็น eval ด้วยนะครับ


หัวข้อ: Re: วิธีถอด BASE64 ทำไม่ได้ครับ ช่วยแนะวิธี ทำได้จริงๆ ด้วยนะครับ Y Y
เริ่มหัวข้อโดย: Fallen ที่ 08 พฤศจิกายน 2011, 16:56:20
โค๊ด:
$link=true;
if (file_exists('gbook_license.php')) {include('gbook_license.php');
if (@is_array($settings['gbook_license'])) {$link=false;}}
if ($link) {echo '<div class="clear"></div><div style="text-align:center">Powered by <a href="[url]http://www.phpjunkyard.com/php-guestbook-script.php[/url]" '.$settings['target'].' title="Guestbook">PHP Guestbook</a> '.$settings['verzija'].' from <a href="[url]http://www.phpjunkyard.com/[/url]" '.$settings['target'].' title="Free PHP Scripts">PHP Scripts</a></div>';}
require_once($settings['tpl_path'].'overall_footer.php');
ถอดออกมาได้แบบนี้ครับ ส่วนวิธี

ให้สร้างไฟล์ decrypt.php
โค๊ด:
<?php
echo "\nDECODE nested eval(gzinflate()) from Taree Internet <www.tareeinternet.com>\n\n";
echo 
"1. Reading coded.txt\n";
$fp1 fopen ("coded.txt""r");
$contents fread ($fp1filesize ("coded.txt"));
fclose($fp1);
echo 
"2. Decoding\n";
while (
preg_match("/eval\(gzinflate/",$contents)) {
$contents=preg_replace("/<\?|\?>
/", "", $contents); eval(preg_replace("/eval/", "\$contents=", $contents)); } echo "3. Writing decoded.txt\n"; $fp2 = fopen("decoded.txt","w"); fwrite($fp2, trim($contents)); fclose($fp2);
?>

สร้างไฟล์ coded.txt กับ decoded.txt เอาไว้ที่เดียวกับ ไฟล์ decrypt.php

ไฟล์ coded.txt
โค๊ด:
eval(gzinflate(base64_decode("DczZkmtAAADQz5lMebBH1K15QOzLBE3wcqvRRLQkTWL7+nvPBx
w0Q3xo9+7RYPhGhxJO6Cj8rVH1rNHhS62sEg/ToijncBcxh1Itg948bFnqJoHZzc6Gnc+Ta+9QH3dZEv
bHXBPqLU3Th6bOtc/L96iR+G6Zt46vG5CV64OTJR/xUmMF2SKRYkhNi2lZzTMKt9OR6T8bEUJ/pV5W1I
Z7rCpxfy0VCWw0EngmLByPb2MQ6nKQfvwjoz/hDU23o0ORTxbgd8glfsi57ljMJsHasZmZfBXba6NdE7
zedJCR2Y43vk6se7UvVZEJZKTBWezHC5thuCZ1Hyi1Y9TET0r6OW0FvJDoHVwd0nCsmrP9Kuu8YEKFDK
cFV8Ua5Io5I1+iU7VPGT5wy25752NqMPEvtDXgRq1NTrcAAuFzizSlUpBIbMBEYu+phq2C4+8qX8CoJD
ob76jVpXMuV+wuKCykT9pgD/9zvF0IFjrgGRP97GflSqFe9HYje7woHfC0VY2aHSAVF3XW1/CkJ84mLy
B45WYlzozMxLoM1kaIAgTRlJwfzMt/ubTczLRsLT8/X9/f33/+AQ==")));
ก็คือให้เอาโค็ดที่จะถอดมาใส่ครับ ของเจ้าของกระทู้ เป็น echo ให้เปลี่ยนเป็น eval ครับ จะได้แบบด้านบน เอาไปใส่ที่ ไฟล์ coded.txt

แล้วก็รัน ไฟล์ decrypt.php ดูครับ ถ้าไว้ที่เครื่องก็เรียกผ่าน [url]http://localhost/decrypt.php[/url]

ถ้าขึ้นข้อความว่า DECODE nested eval(gzinflate()) from Taree Internet 1. Reading coded.txt 2. Decoding 3. Writing decoded.txt ไม่ error แสดงว่าได้ครับ

โค็ด ที่ decoded แล้วจะอยู่ที่ไฟล์ decoded.txt ให้ลองเปิดดูครับจะได้ เป็นโค็ดออกมาเลย
โค๊ด:
$link=true;
if (file_exists('gbook_license.php')) {include('gbook_license.php');
if (@is_array($settings['gbook_license'])) {$link=false;}}
if ($link) {echo '<div class="clear"></div><div style="text-align:center">Powered by <a href="[url]http://www.phpjunkyard.com/php-guestbook-script.php[/url]" '.$settings['target'].' title="Guestbook">PHP Guestbook</a> '.$settings['verzija'].' from <a href="[url]http://www.phpjunkyard.com/[/url]" '.$settings['target'].' title="Free PHP Scripts">PHP Scripts</a></div>';}
require_once($settings['tpl_path'].'overall_footer.php');

ปล. ผมก็เอามาจากฝรั่งอีกทีครับ มาเรียบเรียงใหม่ ผิดพลาดขออภัยครับ แต่ผมทดสอบแล้วได้ผล


อธิบาย วิธีทำละเอียดที่สุด เท่าที่เจอมาเลยครับ ขอบคุณครับ + :wanwan017:

ถอดง่ายมากเลยครับ

+http://www.tareeinternet.com/scripts/decrypt.php

เวลากอปไปอย่าลืมเปลี่ยนจาก echo เป็น eval ด้วยนะครับ


อันนี้ ง่ายจริงๆแหละครับ ลองใส่ดูมะกี้ ขอบคุณครับ +  :wanwan017: