วิธีป้องกันการขโมยแฟลช

เริ่มโพสต์โดย iannnnn, 22 ก.ย. 2007, 18:47 น.

0 สมาชิก และ 1 บุคคลทั่วไป กำลังเปิดอ่านโพสต์นี้

iannnnn

เนื่องจากตูดูดอะไรไปเยอะ เลยเอามาปล่อยคืนมั่งครับ
แล้วก็เลยจะถามด้วยเพื่อนำไปปรับปรุง {หมีโหด}

http://img2.f0nt.com/flash/9f69625f0d6917f9468cec9a3c5f5652.swf

ดาวน์โหลดไฟล์ตัวเดียวกันนี้ไปเปิดดูเอา (คลิกขวาเซฟลงเครื่อง)

หรือไม่ก็ลองโหลดแฟลชตัวนี้ไปอัปไว้ที่เว็บอื่นก็ได้ จะเห็นว่ามันไม่ให้เล่น
นั่นก็เพราะแฟลชตัวนี้บังคับให้เปิดเฉพาะใน url ที่เรากำหนดไว้เท่านั้น
วิธีนี้จะป้องกันการโหลดไฟล์ไปลงในเครื่อง หรือกันคนเอาไปแปะ
แบบพวกเว็บเกมไร้มารยาทหลายแห่งของไทย
ที่เอาเกมของฝรั่งญี่ปุ่นเกาหลีมาแปะให้เล่นเฉยเลย



วิธีทำ
เขียนไอ้นี่ลงในเฟรมแรกเลยแหละ

stop();
checkurl = true;
thisurl = _url;
realurl = "img2.f0nt.com"; //เติม url ที่ต้องการ (อาจใส่แค่บางคำก็ได้ ไม่ต้องทั้งหมด)
if (checkurl) {
if (thisurl.indexOf(realurl) == -1) {
//สามารถแสดงผลได้ตามปกติ
} else {
//จะให้ทำอะไรก็ว่าไป (เช่นบอกว่าอย่าขโมย)
}
}

trace(_url);




ถ้าเช็ก url แล้วออกมาไม่ตรง มันจะออกมาหลอนดังนี้

http://img2.f0nt.com/flash/79d79d4ef9ad4e055d76f08016a8a094.swf



วิธีแคร็ก
Rename ไฟล์ให้มีคำว่า img2.f0nt.com  :21:




ทีนี้จะขอถามครับ
อยากพัฒนาเจ้าตัวนี้ให้ป้องกันการดูดแฟลช(เหมือนดูดภาพ)ไปแสดงที่เว็บอื่นได้ด้วย
นอกจากการตั้งค่าที่ระบบแล้ว เราสามารถเขียนคำสั่งลงไปในแฟลชเลยได้ไหมครับ
ขอไอเดีย :46:



ดาวน์โหลดซอสพริกได้ข้างล่างครับ

kakazz

ยังไม่ได้ลองนะครับ แต่ผมสงสัยว่า ถ้าเกิดเค้าโหลดไปแล้วใช้โปรแกรม decode แล้วลบ code ตัวนี้ทิ้งก็สามารถเปิดได้ใช่ไหมครับ
http://kakazz.com  เกี่ยวกับผม : P

Layiji

อีกนิดคือ เห็นเขาว่าใช้ตัวแปรเป็นภาษาไทย จะดีคอมไพล์ แล้วไม่สมบูรณ์ มีใครลองหรือยัง
นักเขียนการ์ตูนรายปี

iannnnn

อ้างคำพูดจาก: kakazz เมื่อ 23 ก.ย. 2007, 01:34 น.
ยังไม่ได้ลองนะครับ แต่ผมสงสัยว่า ถ้าเกิดเค้าโหลดไปแล้วใช้โปรแกรม decode แล้วลบ code ตัวนี้ทิ้งก็สามารถเปิดได้ใช่ไหมครับ

ได้อยู่แล้นครับ :12: :08:
ถ้าจะทำให้ as มันมั่วก็คงต้องลงโปรแกรมพวกป่วนโค้ดแหละ
หรือไม่ก็ลองให้ heart มาว่ากันอีกทีเผื่อจะเจอเจ๋งๆ ครับ

อ้างคำพูดจาก: Layiji เมื่อ 23 ก.ย. 2007, 01:37 น.
อีกนิดคือ เห็นเขาว่าใช้ตัวแปรเป็นภาษาไทย จะดีคอมไพล์ แล้วไม่สมบูรณ์ มีใครลองหรือยัง

ลองแล้วครับอันนี้ ไม่รอด :30:

ej_sing

#4
แล้ว .htaccess ล่ะทำได้ไหมนะ
เพราะลองใช้กันพวก copy link รูปไปใช้ เช่น

เราสั่งเลยว่า "ถ้า เป็นไฟลไดๆ .jpg,.jpeg,.png,.bmp ให้ใช้รูปนี้แทน xx.gif "

ตัวอย่าง

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://www.web.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.web.com$ [NC]
RewriteCond %{REQUEST_URI} !^/dot.gif [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ http://www.web.com/xx.gif [R,NC]

เวลาใครเอาลิ้งค์ไปแปะ ตามบอร์ด หรือแปะไว้ตามเวบ ไม่ว่ารูปไดๆก็แล้วแต่
มันก็จะเอารูป xx.gif นี้ขึ้นแทน แต่ถ้าเปิดภายในเวบตัวเองก็ปรกติ


ไม่รู้ว่าเอามาประยุกต์ใช้ได้ไหมนะ ใครเชี่ยวๆ แนะนำหน่อยครับ


//เพิ่มเติม /////////////////////////////////////////

lmc_tween ปรกติที่ ต้อง include "lmc_tween.as" ด้วยทุกครั้งใช่มะ
เคยลอง decompile มันออกมาดู มันยกสคริปที่เป็นคลาสทั้งหมดมาใส่ในเฟรมที่ include นั้นๆเลย
ดูกันตาลายดี เอาไว้กันพวกมือใหม่ๆที่ขี้เกียจๆไล่โค้ด ใส่ "lmc_tween.as"่ แม่มหลายๆเฟรมเลยสนุกดี  :30:

kakazz

ว้าว ว้าว ว้าว โค๊ตแบบนี้อยากได้มานานแล้วครับ  :25:
http://kakazz.com  เกี่ยวกับผม : P

heart

ผมเคยเจอเว็ปนึงครับ ที่ใช้ php ดึงไฟล์ swf ในรูปแบบ stream มา
นี่ก็เป็นวิธีการป้องกันที่ได้ผลระดับนึงนะครับ

เพราะเวลาเรามองหาไฟล์แฟลช จะได้นามสกุลว่า php มาแทน

แต่วิธีนี้ออกจะยุ่งยากหน่อย

และก็ยังดูดได้เหมือนเดิมถ้าคนเก่งหน่อย

แต่เป็นการป้องกันที่ฝั่ง server ครับ อาจจะเช็ค referer กอะไรก็ว่าไป

WuTtY

อ้างคำพูดจาก: heart เมื่อ 23 ก.ย. 2007, 22:28 น.
ผมเคยเจอเว็ปนึงครับ ที่ใช้ php ดึงไฟล์ swf ในรูปแบบ stream มา
นี่ก็เป็นวิธีการป้องกันที่ได้ผลระดับนึงนะครับ

เพราะเวลาเรามองหาไฟล์แฟลช จะได้นามสกุลว่า php มาแทน

แต่วิธีนี้ออกจะยุ่งยากหน่อย

และก็ยังดูดได้เหมือนเดิมถ้าคนเก่งหน่อย

แต่เป็นการป้องกันที่ฝั่ง server ครับ อาจจะเช็ค referer กอะไรก็ว่าไป


ขออนุญาติเพิ่มเติมให้นะครับ

ใน html ก็ใช้ <embed src="abc.php" .... >

แล้วใน abc.php ก็ใช้ พวก fread หรืออะไรก็แล้วแต่ที่อ่าน file ได้แล้ว พ่น ออกมาธรรมดา

ส่วนการ check จาก referer อาจจะไม่ได้นะ อาจจะใช้วิธี set cookie แล้วเอา session_id หรืออะไรซักอย่างไปฝั่งไว้ใน cookie แล้วใน file abc.php ก็ check ว่า มี session_id ที่ถูกต้องอยู่หรือเปล่า

วิธีการ สร้าง session_id ก็อาจจะเอา $_SERVER["REMOTE_ADDR"] + "key อะไรซักอย่าง เช่น f0nt.com" + seed number แล้วทำ message digest ออกมา

$currenttime = time();
$session_id = sha1($_SERVER["REMOTE_ADDR"]."www.f0nt.com".$currentime);

ฝั่ง seed และ session_id ลงใน cookie กรณีนี้เราใช้ time(); เป็น seed
$_COOKIE["session_id"] = $session_id;
$_COOKIE["currenttime"] = time();

ทุกครั้ง ก่อนที่จะ พ่น swf ออกมา ก็เปรียบเทียบ session_id ที่อยู่ใน cookie กับที่เราสร้างขึ้นมาเปรียบเทียบว่าตรงกันหรือเปล่า

$_COOKIE["session_id"] <-- สมมติว่าใช้ชื่อ "session_id" นะ

if ( $_COOKIE["session_id"] == sha1($_SERVER["REMOTE_ADDR"]."www.f0nt.com".$_COOKIE["currenttime"]) ) {
   if ( $_COOKIE["currenttime"] > เวลาที่ควรจะเป็นหรือเปล่า ) {
       // error "session expire"
   } else {
       // พ่น swf
   }
} else {
   // error
}

อย่าลืมเซต cookie หรือ set expire ให้มันด้วยนะ

วิธีสามารถกัน พวกที่ไม่ได้เข้าจาก เวปเราโดยตรง เพราะจะไม่มี cookie ฝั่งอยู่ หรือถ้าเปิด browse ไว้ซักช่วงเวลาที่ตั้ง timeout มันก็จะ โหลดไม่ได้ เพราะ session มัน expire ไปแล้ว


heart

เจ๋งมากครับ

ขอบคุณ

จริงๆวิธีนี้ไม่เคยใช้ แต่เคยเห็น  :17: เท่านั้นเอง

ยังไม่มีโอกาสได้ใช้

กากก่อเกรียนนู้บ

 :18: น่าสนมากๆ เลยครับ ขอบคุณคร้าบ  :42: :46:

หมีโหด*

นึกถึงรูปหมีจูบที่อรวาด  :21:
ตามหารักแท้ค่ะ โฮกกก

ลุงซัน

#11
ไม่ว่าจะ referer,.htaccess,session,cookie, ... สามารถเก็บตกได้หมด(ลองหาโปรแกรมดูด flash เก่งๆสักตัวก็ได้แล้ว ผมใช้ download helper)
สำหรับ streaming ก็ไม่รอด http://www.streamingstar.com/hidownload.htm
--------
สรุป วิธีที่ดีที่สุดก็ของคุณแอนนนน ผสมกับการขย้ำขยี้ให้ดูไม่รู้เรื่อง(obfuscator)
http://www.google.co.th/search?hl=th&q=flash+obfuscator
http://www.google.co.th/search?hl=th&q=flash+protect

note:
1.อันนี้ del.icio.us bookmark ใครหว่า (ได้มาจาก search google อันบน หน้าที่ 2)
http://ryanfait.com/articles/2007/05/23/protect-flash-swf-files-from-download/
2.ศัพท์ obfuscator ยังไม่เห็นใครแปลไทย ผมเลยแปลเล่นๆ(อย่าถือเป็นศัพท์วิชาการ)
3.อีกวิธีก็คือใช้ server script(PHP,ASP,..etc) ทำเป็น Interactive (ต้อง click เลือก ถึงได้ flash ช่วงต่อมา)
4.การทำ referer,.htaccess,session,cookie โดยทำเวบ 2 หน้า(บังคับให้ดูจากเวบ) เหมือนเป็นเทคนิคที่ดี แต่ทางทฤษฎีสามารถแอบ embeded ได้หมด ในเมื่อเราดูด้วย web browser เราก็สามารถดูได้จากหน้าเวบอื่น(ถ้าคนทำเวบรู้จัก http get/post) .. ผมเคยทำเล่นในโปรแกรม mybuddy โดยสามารถแปลหน้าเวบเป็นไทยโดยใช้ supasit (เขาเช็ค referer) หรือดูทีวี UBC (ต้องดูผ่านหน้าเวบ ubc โดยใช้ session บังคับ) ข้อนี้สรุปได้ว่าถ้ามีเทคนิคสามารถ embeded ไ้ด้หมด(ทำตัวเป็น web browser) ..ยกเว้นทำหลายหน้า(ซึ่งจะทำให้คนไม่ต้องการดู  :35: เพราะเสียเวลา) หรือทำ Captcha
.
.
99.ติด flash กับกล้องตลอดจะเป็นการกันการขโมย flash ได้เป็นอย่างดี

** กลับมาเพิ่มข้อ 4  :35:
http://www.thaibuddy.com (ฟรีดิกชันนารี่ ชี้แล้วแปล)
ผมรู้เล็กน้อย

iannnnn

:48: ขอบคุณครับชาวดาวนาเม็ก

蓝月 (lán yuè)

ที่สุดถ้ามันจะไม่คุ้ม
แต่มันก็ดีที่อย่างน้อยได้จดจำ
ว่าครั้งนึงเคยก้าวไป...

ยุนเอ



ลุงซันครับ มีของภาษาอื่นด้วยรึเล่าครับ เทคนิคนี้  :25:
เราจะต้องการอะไรมากมายไปกว่า อะไรมากมาย

SMF 2.1.7 © 2026, Simple Machines