หัวข้อ: วิธีถอด 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 ($fp1, filesize ("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 ก็คือให้เอาโค็ดที่จะถอดมาใส่ครับ ของเจ้าของกระทู้ เป็น echo ให้เปลี่ยนเป็น eval ครับ จะได้แบบด้านบน เอาไปใส่ที่ ไฟล์ coded.txtw0Q3xo9+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=="))); แล้วก็รัน ไฟล์ 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 ($fp1, filesize ("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 ก็คือให้เอาโค็ดที่จะถอดมาใส่ครับ ของเจ้าของกระทู้ เป็น echo ให้เปลี่ยนเป็น eval ครับ จะได้แบบด้านบน เอาไปใส่ที่ ไฟล์ coded.txtw0Q3xo9+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=="))); แล้วก็รัน ไฟล์ 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: |