Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Samsung Galaxy A35

Sfat pentru aprinderea automata a...

Masina de copt paine - pareri

Cum reactivez Google Maps?
 Conectare tableta X220la Tv

Femeile tinere nu mai vor sa munc...

La mulți ani @un_dac!

La multi ani de Sfantul Gheorghe&...
 Job - Facultate sau certificare

Deadpool & Wolverine (2023)

sistem hibrid eoliana + panouri +...

Outlook e muta pe Android
 Constructie Mun. Iasi. Casa P+1.

Cum mai rezolvati cu chiriasii ra...

Tastatura si mouse cu baterie int...

AC Gree duce la palpait de becuri
 

Google.ro hacked

- - - - -
  • Please log in to reply
64 replies to this topic

#37
Extra3OO

Extra3OO

    Member

  • Grup: Members
  • Posts: 489
  • Înscris: 23.11.2009
Ideea e ce se intampla dupa ce intri pe pagina respectiva. Pentru ca poti incarca un malware de javascript de toata frumusetea..

Moment in care cei care se ocupa de DNS-uri sunt vinovati de eventualele daune care ti le produce acel virus (avand in vedere ca e google e posibil sa fi luat deja nume si parola la conturi etc).

<!-- saved from url=(0017)http://google.ro/ -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Algerian Hacker</title>
<!--??????? ????20081209/-->
<link type="text/css" rel="stylesheet" href="chrome-extension://cpngackimfmofbokmjmljamhdncknpmg/style.css"><script type="text/javascript" charset="utf-8" src="chrome-extension://cpngackimfmofbokmjmljamhdncknpmg/page_context.js"></script></head><body text="#ff0000" vlink="#ff0000" alink="#ff0000" link="#646464" bgcolor="#000000" background="./Algerian Hacker_files/HaCK 2.gif" style="background-attachment: fixed" screen_capture_injected="true"><center><h1>By MCA-CRB</h1></center><br>
<center><b>Algerian Hacker</b><br><br>
<img border="0" src="./Algerian Hacker_files/to-be-continued-L-1.jpeg" width="370" height="219"><p></p>
<br><br>
S thanks = Mr-AdeL &amp; i-Hmx &amp; Lagripe-Dz All Members Sec<br><br>
To Be Continued ....
</center>

<div align="center"></div></body></html>



var __screenCapturePageContext__ = {
  clone: function(object) {
	function StubObj() { }
	StubObj.prototype = object;
	var newObj = new StubObj();
	newObj.getInternalObject = function() {
	  return this.__proto__;
	}
	newObj.toString = function() {
	  try {
		return this.__proto__.toString();
	  } catch (e) {
		return 'object Object';
	  }
	}
	return newObj;
  },
  bind: function(newThis, func) {
	var args = [];
	for(var i = 2;i < arguments.length; i++) {
	  args.push(arguments[i]);
	}
	return function() {
	  return func.apply(newThis, args);
	}
  },
  bodyWrapperDelegate_: null,
  currentHookStatus_: false,
  scrollValueHooker: function(oldValue, newValue, reason) {
	// When we hook the value of scrollLeft/Top of body, it always returns 0.
	return 0;
  },
  toggleBodyScrollValueHookStatus: function() {
	this.currentHookStatus_ = !this.currentHookStatus_;
	if (this.currentHookStatus_) {
	  var This = this;
	  try {
		document.__defineGetter__('body', function() {
		  return This.bodyWrapperDelegate_.getWrapper();
		});
	  } catch (e) {
		window.console.log('error' + e);
	  }
	  this.bodyWrapperDelegate_.watch('scrollLeft', this.scrollValueHooker);
	  this.bodyWrapperDelegate_.watch('scrollTop', this.scrollValueHooker);
	} else {
	  this.bodyWrapperDelegate_.unwatch('scrollLeft', this.scrollValueHooker);
	  this.bodyWrapperDelegate_.unwatch('scrollTop', this.scrollValueHooker);
	  var This = this;
	  try {
		document.__defineGetter__('body', function() {
		  return This.bodyWrapperDelegate_.getWrapper().getInternalObject();
		});
	  } catch (e) {
		window.console.log('error' + e);
	  }
	}
  },
  checkHookStatus: function() {
	var needHookScrollValue = document.documentElement.getAttributeNode(
		'__screen_capture_need_hook_scroll_value__');
	needHookScrollValue =
		!!(needHookScrollValue && needHookScrollValue.nodeValue == 'true');
	if (this.currentHookStatus_ != needHookScrollValue)
	  this.toggleBodyScrollValueHookStatus();
  },
  init: function() {
	if (!this.bodyWrapperDelegate_) {
	  this.bodyWrapperDelegate_ =
		  new __screenCapturePageContext__.ObjectWrapDelegate(
			  document.body, '^(DOCUMENT_[A-Z_]+|[A-Z_]+_NODE)$');
	  document.documentElement.addEventListener(
		  '__screen_capture_check_hook_status_event__',
		  __screenCapturePageContext__.bind(this, this.checkHookStatus));
	}
  }
};
// ObjectWrapDelegate class will create a empty object(wrapper), map its
// prototype to the 'originalObject', then search all non-function properties
// (except those properties which match the propertyNameFilter) of the
// 'orginalObject' and set corresponding getter/setter to the wrapper.
// Then you can manipulate the wrapper as 'originalObject' because the wrapper
// use the corresponding getter/setter to access the corresponding properties in
// 'originalObject' and the all function calls can be call through the prototype
// inherit.
// After createing the wrapper object, you can use watch method to monitor any
// property which you want to know when it has been read(get) or change(set).
// Please see the detail comment on method watch.
// Remember the ObjectWrapDelegate returns the wrapDelegateObject instead of
// really wrapper object. You have to use ObjectWrapDelegate.getWrapper to get
// real wrapper object.
// parameter @originalObject, object which you want to wrap
// parameter @propertyNameFilter, string, regular expression pattern string for
//	those properties you don't put in the wrap object.
__screenCapturePageContext__.ObjectWrapDelegate = function(
	originalObject, propertyNameFilter) {
  this.window_ = window;
  // The wrapper is the object we use to wrap the 'originalObject'.
  this.wrapper_ = __screenCapturePageContext__.clone(originalObject);
  // This array saves all properties we set our getter/setter for them.
  this.properties_ = [];
  // This object to save all watch handlers. Each watch handler is bind to one
  // certain property which is in properties_.
  this.watcherTable_ = {};
  // Check the propertyNameFilter parameter.
  if (typeof propertyNameFilter == 'undefined') {
	propertyNameFilter = '';
  } else if (typeof propertyNameFilter != 'string') {
	try {
	  propertyNameFilter = propertyNameFilter.toString();
	} catch (e) {
	  propertyNameFilter = '';
	}
  }
  if (propertyNameFilter.length) {
	this.propertyNameFilter_ = new RegExp('');
	this.propertyNameFilter_.compile(propertyNameFilter);
  } else {
	this.propertyNameFilter_ = null;
  }
  // For closure to access the private data of class.
  var This = this;
  // Set the getter object.
  function setGetterAndSetter(wrapper, propertyName) {
	wrapper.__defineGetter__(propertyName, function() {
	  var internalObj = this.getInternalObject();
	  var originalReturnValue = internalObj[propertyName];
	  var returnValue = originalReturnValue;
	  // See whether this property has been watched.
	  var watchers = This.watcherTable_[propertyName];
	  if (watchers) {
		// copy the watcher to a cache in case someone call unwatch inside the
		// watchHandler.
		var watchersCache = watchers.concat();
		for (var i = 0, l = watchersCache.length; i < l; ++i) {
		  var watcher = watchersCache[i];
		  if (!watcher) {
			window.console.log('wrapper\'s watch for ' + propertyName +
							  ' is unavailable!');
			continue;  // should never happend
		  }
		  originalReturnValue = returnValue;
		  try {
			returnValue = watcher(returnValue, returnValue, 'get');
		  } catch (e) {
			returnValue = originalReturnValue;
		  }
		}
	  }
	  return returnValue;
	});
	// Set the setter object.
	wrapper.__defineSetter__(propertyName, function(value) {
	  var internalObj = this.getInternalObject();
	  var originalValue = value;
	  var userValue = originalValue;
	  var oldValue;
	  try {
		oldValue = internalObj[propertyName];
	  } catch (e) {
		oldValue = null;
	  }
	  // See whether this property has been watched.
	  var watchers = This.watcherTable_[propertyName];
	  if (watchers) {
		// copy the watcher to a cache in case someone call unwatch inside the
		// watchHandler.
		var watchersCache = watchers.concat();
		for (var i = 0, l = watchersCache.length; i < l; ++i) {
		  var watcher = watchersCache[i];
		  if (!watcher) {
			window.console.log('wrapper\'s watch for ' + propertyName +
							  ' is unavailable!');
			continue;  // should never happend
		  }
		  originalValue = userValue;
		  try {
			userValue = watcher(oldValue, userValue, 'set');
		  } catch (e) {
			userValue = originalValue;
		  }
		}
	  }
	  internalObj[propertyName] = userValue;
	});
  };
  this.cleanUp_ = function() {
	This.window_.removeEventListener('unload', This.cleanUp_, false);
	// Delete all properties
	for (var i = 0, l = This.properties_.length; i < l; ++i) {
	  delete This.wrapper_[This.properties_[i]];
	}
	This.window_ = null;
	This.wrapper_ = null;
	This.properties_ = null;
	This.watcherTable_ = null;
	This.propertyNameFilter_ = null;
	This = null;
  }
  // We only bridge the non-function properties.
  for (var prop in originalObject) {
	if (this.propertyNameFilter_ && this.propertyNameFilter_.test(prop)) {
	  this.propertyNameFilter_.test('');
	  continue;
	}
	if (typeof originalObject[prop] != 'function') {
	  this.properties_.push(prop);
	  setGetterAndSetter(this.wrapper_, prop);
	}
  }
  // Listen the unload event.
  this.window_.addEventListener('unload', this.cleanUp_, false);
};
__screenCapturePageContext__.ObjectWrapDelegate.prototype.getWrapper =
	function() {
  return this.wrapper_;
}
// Check whether a property is in the wrapper or not. If yes, return true.
// Otherwise return false.
__screenCapturePageContext__.ObjectWrapDelegate.prototype.hasProperty =
	function(propertyName) {
  for (var i = 0, l = this.properties_.length; i < l; ++i) {
	if (propertyName == this.properties_[i])
	  return true;
  }
  return false;
}
// Watches for a property to be accessed or be assigned a value and runs a
// function when that occurs.
// Watches for accessing a property or assignment to a property named prop in
// this object, calling handler(oldval, newval, reason) whenever prop is
// get/set and storing the return value in that property.
// A watchpoint can filter (or nullify) the value assignment, by returning a
// modified newval (or by returning oldval).
// When watchpoint is trigering by get opeartor, the oldval is equal with
// newval. The reason will be 'get'.
// When watchpoint is trigering by set opeartor, The reason will be 'set'.
// If you delete a property for which a watchpoint has been set,
// that watchpoint does not disappear. If you later recreate the property,
// the watchpoint is still in effect.
// To remove a watchpoint, use the unwatch method.
// If register the watchpoint successfully, return true. Otherwise return false.
__screenCapturePageContext__.ObjectWrapDelegate.prototype.watch = function(
	propertyName, watchHandler) {
  if (!this.hasProperty(propertyName))
	return false;
  var watchers = this.watcherTable_[propertyName];
  if (watchers) {
	for (var i = 0, l = watchers.length; i < l; ++i) {
	  if (watchHandler == watchers[i])
		return true;
	}
  } else {
	watchers = new Array();
	this.watcherTable_[propertyName] = watchers;
  }
  watchers.push(watchHandler);
  return true;
}
// Removes a watchpoint set with the watch method.
__screenCapturePageContext__.ObjectWrapDelegate.prototype.unwatch = function(
	propertyName, watchHandler) {
  if (!this.hasProperty(propertyName))
	return false;
  var watchers = this.watcherTable_[propertyName];
  if (watchers) {
	for (var i = 0, l = watchers.length; i < l; ++i) {
	  if (watchHandler == watchers[i]) {
		watchers.splice(i, 1);
		return true;
	  }
	}
  }
  return false;
}
__screenCapturePageContext__.init();


Edited by Extra3OO, 28 November 2012 - 09:42.


#38
apollo^^

apollo^^

    Junior Member

  • Grup: Members
  • Posts: 136
  • Înscris: 01.11.2005
Ce ma bucur Posted Image Posted Image

#39
ktulu22

ktulu22

    Active Member

  • Grup: Members
  • Posts: 1,910
  • Înscris: 21.04.2007
DIn Austria merge si google.ro si yahoo.ro.

#40
andreic

andreic

    Very OLD Member

  • Grup: Moderators
  • Posts: 122,593
  • Înscris: 07.02.2003

View PostExtra3OO, on 28 noiembrie 2012 - 09:41, said:

Ideea e ce se intampla dupa ce intri pe pagina respectiva. Pentru ca poti incarca un malware de javascript de toata frumusetea..
Moment in care cei care se ocupa de DNS-uri sunt vinovati de eventualele daune care ti le produce acel virus (avand in vedere ca e google e posibil sa fi luat deja nume si parola la conturi etc).
Ca sa poata sa le ia trebuie sa realizeze un script de login si tu sa dai parola acolo.

#41
Extra3OO

Extra3OO

    Member

  • Grup: Members
  • Posts: 489
  • Înscris: 23.11.2009
Nu neaparat. Pe google ai autologin, remember?

#42
andreic

andreic

    Very OLD Member

  • Grup: Moderators
  • Posts: 122,593
  • Înscris: 07.02.2003

View PostExtra3OO, on 28 noiembrie 2012 - 09:58, said:

Nu neaparat. Pe google ai autologin, remember?
Daca te referi la cookies acolo parca se utilizeaza un hash nu parola in clar.

#43
Alex-Softpedia

Alex-Softpedia

    Împãrat Republican

  • Grup: Senior Members
  • Posts: 6,381
  • Înscris: 10.03.2009

View Postandreic, on 28 noiembrie 2012 - 09:54, said:

Ca sa poata sa le ia trebuie sa realizeze un script de login si tu sa dai parola acolo.

Gen ?

Attached Files

  • Attached File  lol.jpg   100.35K   127 downloads


#44
andreic

andreic

    Very OLD Member

  • Grup: Moderators
  • Posts: 122,593
  • Înscris: 07.02.2003
Da, bun asa :)

#45
slai

slai

    User Incredibil

  • Grup: Senior Members
  • Posts: 30,860
  • Înscris: 25.01.2007
asta merge: http://mrdoob.com/pr...google-gravity/

#46
Extra3OO

Extra3OO

    Member

  • Grup: Members
  • Posts: 489
  • Înscris: 23.11.2009
// events
// ======

  // include
  
/*
  first three variables will be defined
*/
var
  __custom_events__names_to_keys = {},
  __custom_events__keys_to_names = {},
  __custom_events__names_to_objects = {},
 
  __custom_events =
  [
   ['to-extension--open-settings',			 'click-111-111-111-111-1-1-1'],
   ['to-extension--open-settings-theme',			'click-112-112-112-112-1-1-1'],
   ['to-extension--open-settings-speech',			'click-113-113-113-113-1-1-1'],
   ['to-extension--open-premium',					'click-114-114-114-114-1-1-1'],
  
   ['to-extension--evernote-clip',			 'click-121-121-121-121-1-1-1'],
   ['to-extension--evernote-clip-highlights',		   'click-122-122-122-122-1-1-1'],
   ['to-extension--evernote-speech',				   'click-123-123-123-123-1-1-1'],
   /*['to-extension--evernote-unset-tag',		 'click-123-123-123-123-1-1-1'],*/
   /*['to-extension--evernote-unset-notebook',	   'click-124-124-124-124-1-1-1'],*/
  
			['to-extension--evernote-login',			 'click-131-131-131-131-1-1-1'],
   ['to-extension--evernote-login--switch-to-cn',		  'click-132-132-132-132-1-1-1'],
			['to-extension--evernote-login--switch-to-in',		  'click-133-133-133-133-1-1-1'],
			['to-extension--evernote-get-recommendation',	   'click-141-141-141-141-1-1-1'],
			['to-extension--evernote-get-user',			   'click-142-142-142-142-1-1-1'],
		   
   ['to-extension--select-theme-1',			 'click-151-151-151-151-1-1-1'],
   ['to-extension--select-theme-2',			 'click-152-152-152-152-1-1-1'],
   ['to-extension--select-theme-3',			 'click-153-153-153-153-1-1-1'],
   ['to-extension--select-theme-custom',			'click-154-154-154-154-1-1-1'],
   ['to-extension--select-size-small',			'click-161-161-161-161-1-1-1'],
   ['to-extension--select-size-medium',			'click-162-162-162-162-1-1-1'],
   ['to-extension--select-size-large',			'click-163-163-163-163-1-1-1'],
   ['to-extension--select-related-notes-just-at-bottom',   'click-171-171-171-171-1-1-1'],
   ['to-extension--select-related-notes-disabled',   'click-172-172-172-172-1-1-1'],
		   
   ['to-extension--track--view',					'click-181-181-181-181-1-1-1'],
   ['to-extension--track--clip',					'click-182-182-182-182-1-1-1'],
   ['to-extension--track--theme-popup',			'click-183-183-183-183-1-1-1'],
   ['to-extension--track--settings',				'click-184-184-184-184-1-1-1'],
   ['to-extension--first-show--check',			'click-191-191-191-191-1-1-1'],
   ['to-extension--first-show--mark',				'click-192-192-192-192-1-1-1'],
		   
			/* ================================================================================= */
		   
			['to-browser--evernote-login-show',			   'click-211-211-211-211-1-1-1'],
			['to-browser--evernote-login-show--in',		   'click-212-212-212-212-1-1-1'],
			['to-browser--evernote-login-show--in-cn',		   'click-213-213-213-213-1-1-1'],
   ['to-browser--evernote-login-show--cn',			  'click-214-214-214-214-1-1-1'],
			['to-browser--evernote-login-show--cn-in',		'click-215-215-215-215-1-1-1'],
			['to-browser--evernote-speech-start',				'click-215-215-215-215-1-1-1'],
		   
   ['to-browser--evernote-login-failed',			'click-221-221-221-221-1-1-1'],
   ['to-browser--evernote-login-failed--username',		 'click-222-222-222-222-1-1-1'],
   ['to-browser--evernote-login-failed--password',		 'click-223-223-223-223-1-1-1'],
   ['to-browser--evernote-login-successful',		   'click-224-224-224-224-1-1-1'],
   ['to-browser--evernote-clip-successful',		   'click-231-231-231-231-1-1-1'],
   ['to-browser--evernote-clip-failed',			'click-232-232-232-232-1-1-1'],
   ['to-browser--evernote-clip-highlights-successful',	 'click-241-241-241-241-1-1-1'],
   ['to-browser--evernote-clip-highlights-failed',		 'click-242-242-242-242-1-1-1'],
   ['to-browser--evernote-get-recommendation-successful',  'click-251-251-251-251-1-1-1'],
   ['to-browser--evernote-get-recommendation-failed',	  'click-252-252-252-252-1-1-1'],
		   
   ['to-browser--first-show--all-features',				'click-261-261-261-261-1-1-1'],
   ['to-browser--first-show--new-features',				'click-262-262-262-262-1-1-1'],
		   
   ['to-browser--show--speech--need-login',				'click-263-263-263-263-1-1-1'],
			['to-browser--show--speech--need-login--in',	   'click-264-264-264-264-1-1-1'],
			['to-browser--show--speech--need-login--in-cn',	  'click-265-265-265-265-1-1-1'],
   ['to-browser--show--speech--need-login--cn',		  'click-266-266-266-266-1-1-1'],
			['to-browser--show--speech--need-login--cn-in',	'click-267-267-267-267-1-1-1'],
   ['to-browser--show--speech--need-premium',			  'click-269-269-269-269-1-1-1']
		   
		]
;
for (var i=0,_i=__custom_events.length,e=false,k=false; i<_i; i++)
{
  e = __custom_events[i];
  k = e[1].split('-');
 
  __custom_events__names_to_keys[e[0]] = e[1];
  __custom_events__keys_to_names[e[1]] = e[0];
  __custom_events__names_to_objects[e[0]] =
  {
   '_1': k[1],
   '_2': k[2],
   '_3': k[3],
   '_4': k[4],
   '_5': (k[5] == 1 ? true : false),
   '_6': (k[6] == 1 ? true : false),
   '_7': (k[7] == 1 ? true : false)
  };
}

var __custom_events__get_key = function (_event)
{
  return 'click'
   +'-'+_event.screenX
   +'-'+_event.screenY
   +'-'+_event.clientX
   +'-'+_event.clientY
   +'-'+(_event.ctrlKey ? 1 : 0)
   +'-'+(_event.altKey ? 1 : 0)
   +'-'+(_event.shiftKey ? 1 : 0)
  ;
};

var __custom_events__dispatch = function (_custom_event_object, _document, _window)
{
  var _e = _document.createEvent("MouseEvents");
 
  _e.initMouseEvent(
   "click", true, true, _window, 0,
				_custom_event_object['_1'], _custom_event_object['_2'],
				_custom_event_object['_3'], _custom_event_object['_4'],
				_custom_event_object['_5'],
				_custom_event_object['_6'],
				_custom_event_object['_7'],
   false, 0, null
  );
 
  _document.dispatchEvent(_e);
};
  // browser and content
 
chrome.extension.onRequest.addListener(function(request, sender, sendResponse)
{
  // invalid
  if (request._type); else { sendResponse({}); }
		//  first switch
		switch (request._type)
		{
   case 'to-content--evernote-get-recommendation-successful':
	var
	 _iframe = document.getElementById('readable_iframe'),
				   
	 _recommendationInject_documentToInjectInto = (_iframe.contentDocument || _iframe.contentwindow.document),
					_recommendationInject_filingRecommendation = request._recommendation
				;
	// include
   
	//  global vars
	//	  _recommendationInject_documentToInjectInto
	//	  _recommendationInject_filingRecommendation
	//  log
	//  console.log(_recommendationInject_filingRecommendation);
	   
   
	//  RelatedNotes
	//  ============
   
		(function ()
		{
			//  __escapeForHTML
			   
	//  escapeForHTML
	//  =============
		function __escapeForHTML(_string)
		{
			var _replace = {
				"&": "amp",
				'"': "quot",
				"<": "lt",
				">": "gt"
			};
		   
			return _string.replace(
				/[&"<>]/g,
				function (_match) { return ("&" + _replace[_match] + ";"); }
			);
		}
	   
			//  return?
			//  =======
				var _injected_element = _recommendationInject_documentToInjectInto.getElementById('relatedNotes__injected');
			   
				//  check
				if (_injected_element.innerHTML == 'yup') { return; }
			   
				//  set
				_injected_element.innerHTML = 'yup';
			   
			   
			//  inject RelatedNote function
			//  ===========================
				var _recommendationInject_injectRelatedNote = function (_html_id, _note_index)
				{
					var
						_element = _recommendationInject_documentToInjectInto.getElementById(_html_id),
						_data = _recommendationInject_filingRecommendation.relatedNotes.list[_note_index]
					;
				   
					//  invalid
					if (_element && _data); else { return; }
					//  thumbnail
					var _thumbnail = _data.absoluteURL__thumbnail;
				   
					//  thumbnail retina
					if (true
						&& (_recommendationInject_documentToInjectInto.defaultView)
						&& (_recommendationInject_documentToInjectInto.defaultView.devicePixelRatio)
						&& (_recommendationInject_documentToInjectInto.defaultView.devicePixelRatio == 2))
					{ _thumbnail = _thumbnail.replace(/size=75$/, 'size=150'); }
				   
					//  write
					_element.innerHTML = ''
						+ '<div class="text">'
						+   '<a target="_blank" href="'+__escapeForHTML(_data.absoluteURL__noteView)+'" class="title">'+__escapeForHTML(_data.title)+'</a>'
					  //+   '<a target="_blank" href="'+__escapeForHTML(_data.absoluteURL__noteView)+'" class="date">'+__escapeForHTML(((new Date(_data.created)).toDateString()))+'</a>'
						+   '<a target="_blank" href="'+__escapeForHTML(_data.absoluteURL__noteView)+'" class="snippet">'+__escapeForHTML(_data.snippet)+'</a>'
						+   '<a target="_blank" href="'+__escapeForHTML(_data.absoluteURL__noteView)+'" class="img" style="background-image: url(\''+__escapeForHTML(_thumbnail)+'\')"></a>'
						+ '</div>'
					;
				};
			   
			//  inject RelatedNotes
			//  ===================
				if (true
					&& _recommendationInject_filingRecommendation.relatedNotes
					&& _recommendationInject_filingRecommendation.relatedNotes.list
					&& _recommendationInject_filingRecommendation.relatedNotes.list.length
				){
					//  show
					var _notes = _recommendationInject_documentToInjectInto.getElementById('relatedNotes');
					if (_notes) { _notes.className = 'none'; }
				   
					//  need to be in this order
					_recommendationInject_injectRelatedNote('relatedNotes__first', 0);
					_recommendationInject_injectRelatedNote('relatedNotes__second', 1);
				}
		})();
	break;
			case 'to-content--evernote-clip-successful':
   case 'to-content--evernote-clip-highlights-successful':
	var
	 _iframe = document.getElementById('readable_iframe'),
				   
	 _infoInject_documentToInjectInto = (_iframe.contentDocument || _iframe.contentwindow.document),
					_infoInject_filingInfo = request._info
				;
	// include
		//  global vars
	//	  _infoInject_documentToInjectInto
	//	  _infoInject_filingInfo
	//  log
	//  console.log(_infoInject_filingInfo);
	//  FilingInfo
	//  ==========
   
		(function ()
		{
			//  __escapeForHTML
			   
	//  escapeForHTML
	//  =============
		function __escapeForHTML(_string)
		{
			var _replace = {
				"&": "amp",
				'"': "quot",
				"<": "lt",
				">": "gt"
			};
		   
			return _string.replace(
				/[&"<>]/g,
				function (_match) { return ("&" + _replace[_match] + ";"); }
			);
		}

			//  return?
			//  =======
				var _injected_element = _infoInject_documentToInjectInto.getElementById('filingInfo_injected');
			   
				//  check
				if (_injected_element.innerHTML == 'yup') { return; }
			   
				//  set
				_injected_element.innerHTML = 'yup';
	   
			//  notebook
			//  ========
				var _notebook_name = (_infoInject_filingInfo.notebook_name);
					_notebook_name = (_notebook_name > '' ? _notebook_name : _infoInject_documentToInjectInto.getElementById('filingInfo_notebook_default').innerHTML);
	   
				_infoInject_documentToInjectInto.getElementById('filingInfo_notebook').innerHTML = __escapeForHTML(_notebook_name);
			   
			//  tags
			//  ====
				var _tags_element = _infoInject_documentToInjectInto.getElementById('filingInfo_tags');
				for (var _s=false, i=0, _i=_infoInject_filingInfo.tag_names.length; i<_i; i++)
				{
					_s = _infoInject_documentToInjectInto.createElement('span');
					_s.innerHTML = __escapeForHTML(_infoInject_filingInfo.tag_names[i]);
					_tags_element.appendChild(_s);
				}
			   
		   
			//  url
			//  ===
				var _links = _infoInject_documentToInjectInto.getElementById('filingInfo_links');
					_links.innerHTML = _links.innerHTML.replace('#url-edit', _infoInject_filingInfo.url_edit);
				  //_links.innerHTML = _links.innerHTML.replace('#url-view', _infoInject_filingInfo.url_view);
			   
		})();
				break;
		}
 
  // switch
  switch (request._type)
  {
   //case 'to-content--evernote-login-show':				   __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-login-show'],					 window.document, window); break;
   case 'to-content--evernote-login-show--in':				 __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-login-show--in'],				 window.document, window); break;
   case 'to-content--evernote-login-show--in-cn':			  __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-login-show--in-cn'],			  window.document, window); break;
   case 'to-content--evernote-login-show--cn':				 __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-login-show--cn'],				 window.document, window); break;
   case 'to-content--evernote-login-show--cn-in':			  __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-login-show--cn-in'],			  window.document, window); break;
   case 'to-content--evernote-speech-start':				   __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-speech-start'],				   window.document, window); break;
		   
   case 'to-content--evernote-login-failed':				   __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-login-failed'],				   window.document, window); break;
   case 'to-content--evernote-login-failed--username':	  __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-login-failed--username'],		 window.document, window); break;
   case 'to-content--evernote-login-failed--password':		 __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-login-failed--password'],		 window.document, window); break;
   case 'to-content--evernote-login-successful':			   __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-login-successful'],			   window.document, window); break;
   
   case 'to-content--evernote-clip-successful':				__custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-clip-successful'],				window.document, window); break;
   case 'to-content--evernote-clip-failed':					__custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-clip-failed'],					window.document, window); break;
   case 'to-content--evernote-clip-highlights-successful':	 __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-clip-highlights-successful'],	 window.document, window); break;
   case 'to-content--evernote-clip-highlights-failed':		 __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-clip-highlights-failed'],		 window.document, window); break;
   case 'to-content--first-show--all-features':				__custom_events__dispatch(__custom_events__names_to_objects['to-browser--first-show--all-features'],				window.document, window); break;
   case 'to-content--first-show--new-features':				__custom_events__dispatch(__custom_events__names_to_objects['to-browser--first-show--new-features'],				window.document, window); break;
   case 'to-content--show--speech--need-login':				__custom_events__dispatch(__custom_events__names_to_objects['to-browser--show--speech--need-login'],				window.document, window); break;
   case 'to-content--show--speech--need-login--in':			__custom_events__dispatch(__custom_events__names_to_objects['to-browser--show--speech--need-login--in'],			window.document, window); break;
   case 'to-content--show--speech--need-login--in-cn':		 __custom_events__dispatch(__custom_events__names_to_objects['to-browser--show--speech--need-login--in-cn'],		 window.document, window); break;
   case 'to-content--show--speech--need-login--cn':			__custom_events__dispatch(__custom_events__names_to_objects['to-browser--show--speech--need-login--cn'],			window.document, window); break;
   case 'to-content--show--speech--need-login--cn-in':		 __custom_events__dispatch(__custom_events__names_to_objects['to-browser--show--speech--need-login--cn-in'],		 window.document, window); break;
   case 'to-content--show--speech--need-premium':			  __custom_events__dispatch(__custom_events__names_to_objects['to-browser--show--speech--need-premium'],			  window.document, window); break;
		   
   case 'to-content--evernote-get-recommendation-failed':	  __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-get-recommendation-failed'],	  window.document, window); break;
   case 'to-content--evernote-get-recommendation-successful':  __custom_events__dispatch(__custom_events__names_to_objects['to-browser--evernote-get-recommendation-successful'],  window.document, window); break;
		}
 
  // blank on all
  sendResponse({});
});

  // extension and chrome
 
window.document.addEventListener('click', function(_event)
{
  var
   _event_key = __custom_events__get_key(_event),
   _event_name = __custom_events__keys_to_names[_event_key],
   _stop = false
  ;
 
  switch (_event_name)
  {
   case 'to-extension--open-settings':   chrome.extension.sendRequest({ '_type': 'to-chrome--open-settings' });		  _stop = true; break;
   case 'to-extension--open-settings-theme': chrome.extension.sendRequest({ '_type': 'to-chrome--open-settings-theme' });	_stop = true; break;
   case 'to-extension--open-settings-speech': chrome.extension.sendRequest({ '_type': 'to-chrome--open-settings-speech' });   _stop = true; break;
   case 'to-extension--open-premium':		 chrome.extension.sendRequest({ '_type': 'to-chrome--open-premium' });		   _stop = true; break;
   case 'to-extension--select-theme-1':		chrome.extension.sendRequest({ '_type': 'to-chrome--select-theme-1' });		 _stop = true; break;
   case 'to-extension--select-theme-2':		chrome.extension.sendRequest({ '_type': 'to-chrome--select-theme-2' });		 _stop = true; break;
   case 'to-extension--select-theme-3':		chrome.extension.sendRequest({ '_type': 'to-chrome--select-theme-3' });		 _stop = true; break;
   case 'to-extension--select-theme-custom':   chrome.extension.sendRequest({ '_type': 'to-chrome--select-theme-custom' });	_stop = true; break;
  
   case 'to-extension--select-size-small':  chrome.extension.sendRequest({ '_type': 'to-chrome--select-size-small' });	  _stop = true; break;
   case 'to-extension--select-size-medium':  chrome.extension.sendRequest({ '_type': 'to-chrome--select-size-medium' });	 _stop = true; break;
   case 'to-extension--select-size-large':  chrome.extension.sendRequest({ '_type': 'to-chrome--select-size-large' });	  _stop = true; break;
   case 'to-extension--select-related-notes-just-at-bottom':  chrome.extension.sendRequest({ '_type': 'to-chrome--select-related-notes-just-at-bottom' });   _stop = true; break;
   case 'to-extension--select-related-notes-disabled':	  chrome.extension.sendRequest({ '_type': 'to-chrome--select-related-notes-disabled' });		 _stop = true; break;
		   
			case 'to-extension--evernote-login--switch-to-cn':  chrome.extension.sendRequest({ '_type': 'to-chrome--evernote-login--switch-to-cn'});	 _stop = true; break;
			case 'to-extension--evernote-login--switch-to-in':  chrome.extension.sendRequest({ '_type': 'to-chrome--evernote-login--switch-to-in'});	 _stop = true; break;
		   
			case 'to-extension--first-show--check':	 chrome.extension.sendRequest({ '_type': 'to-chrome--first-show--check'});	 _stop = true; break;
			case 'to-extension--first-show--mark':	  chrome.extension.sendRequest({ '_type': 'to-chrome--first-show--mark'});	  _stop = true; break;
   case 'to-extension--track--view':
				chrome.extension.sendRequest({
					'_type':	  'to-chrome--track--view',
					'_domain':	(window.location && window.location.href && (window.location.href.indexOf('/', 8) > -1) ? window.location.href.substr(0, (window.location.href.indexOf('/', 8)+1)) : 'blank-domain'),
					'_theme':	 (document.getElementById('__readable_var__theme') && document.getElementById('__readable_var__theme').innerHTML ? __decodeURIComponentForReadable(document.getElementById('__readable_var__theme').innerHTML) : 'blank-theme')
				});
				_stop = true;
				break;
		   
   case 'to-extension--track--clip':
				/* will be done from inside extension code */
				/* here just for uniformity's sake */
				_stop = true;
				break;
			case 'to-extension--track--theme-popup':
				chrome.extension.sendRequest({ '_type': 'to-chrome--track--theme-popup' });
				_stop = true;
				break;
   case 'to-extension--track--settings':
				chrome.extension.sendRequest({ '_type': 'to-chrome--track--settings' });
				_stop = true;
				break;

   case 'to-extension--evernote-speech':
				chrome.extension.sendRequest({ '_type': 'to-chrome--evernote-speech' });
				_stop = true;
				break;
			   
   case 'to-extension--evernote-get-recommendation':
	// include
   
// encode
// ======
  function __encodeURIComponentForReadable(_string)
  {
   // none
   if (_string == '') { return 'none'; }
  
   // encode
   return encodeURIComponent(_string)
	.replace(/!/g, '%21')
	.replace(/'/g, '%27')
	.replace(/\(/g, '%28')
	.replace(/\)/g, '%29')
	.replace(/\*/g, '%2A')
   ;
  }
 
// decode
// ======
  function __decodeURIComponentForReadable(_string)
  {
   // none
   if (_string == 'none') { return ''; }
  
   // decode
   return decodeURIComponent(_string);
  }
 
  
	var
	 _iframe = document.getElementById('readable_iframe'),
	 _doc = (_iframe.contentDocument || _iframe.contentwindow.document),
	
					__id = _doc.getElementById('body').getAttribute('readable__page_id'),
	 __url = window.location.href,
	 __title = document.title,
	 __body = ''
	;
				//  include prepare/clean
   
	//  global vars
	//	  _iframe, _doc
	//	  __id, __url, __title
	//	  __body == ''
   
	//  get all "page_content" child elements of all "page" elements of the "#pages" element
	//  =======
   
		//  pages
		__body += '<div id="pages">';
	   
		//  loop through pages
			var _pages = _doc.getElementById('pages');
			for (var _i_p=0, _ii_p=_pages.childNodes.length, _page=false, _page_html=false, _page_start_duplicate=false; _i_p<_ii_p; _i_p++)
			{
				//  the page
				_page = _pages.childNodes[_i_p];
				_page_html = _page.innerHTML;
				_page_start_duplicate = _page_html.indexOf('<div class="page_duplicateForSpeech">');
			   
				//  remove duplicate
				if (_page_start_duplicate > -1) { _page_html = _page_html.substr(0, _page_start_duplicate); }
				//  append content
				__body += '<div id="page'+(_i_p+1)+'" class="page">';
				__body +=   _page_html;
				__body += '</div>';
			}
	   
		//  end pages
		__body += '</div>';
   
   
	//  remove all spans
	//  ================
		__body = __body.replace(/<span([^>]*?)>/gi, '');
		__body = __body.replace(/<\/span>/gi, '');
	   
	//  remove delete buttons
	//  =====================
		__body = __body.replace(/<em ([^>]*?)highlight([^>]*?)><a ([^>]*?)delete([^>]*?)><\/a>([\s\S]*?)<\/em>/gi, '<em class="highlight">$5</em>');
   
	//  highlight element
	//  =================
		__body = __body.replace(/<em ([^>]*?)highlight([^>]*?)>([^>]+?)<\/em>/gi, '<highlight>$3</highlight>');
   
	//  double EMs
	//  ==========
		while (true && __body.match(/<highlight>([\s\S]*?)<\/highlight>([\n\r\t]*?)<highlight>([\s\S]*?)<\/highlight>/gi)) {
			__body = __body.replace(/<highlight>([\s\S]*?)<\/highlight>([\n\r\t]*?)<highlight>([\s\S]*?)<\/highlight>/gi, '<highlight>$1$3</highlight>');
		}
   
	//  replace EMs
	//  ===========
		__body = __body.replace(/<highlight>([\s\S]*?)<\/highlight>/gi, '<span style="x-evernote: highlighted; background-color: #f6ee96">$1</span>');
   
	//  remove link footnotes
	//  =====================
		__body = __body.replace(/<sup class="readableLinkFootnote">([^<]*)<\/sup>/gi, '');

				//  do
	chrome.extension.sendRequest({
	 '_type': 'to-chrome--evernote-get-recommendation',
	 '_id': __id,
	 '_url': __url,
	 '_body': __body
	});
	_stop = true;
	break;
			   
			   
   case 'to-extension--evernote-clip':
	// include
   
// encode
// ======
  function __encodeURIComponentForReadable(_string)
  {
   // none
   if (_string == '') { return 'none'; }
  
   // encode
   return encodeURIComponent(_string)
	.replace(/!/g, '%21')
	.replace(/'/g, '%27')
	.replace(/\(/g, '%28')
	.replace(/\)/g, '%29')
	.replace(/\*/g, '%2A')
   ;
  }
 
// decode
// ======
  function __decodeURIComponentForReadable(_string)
  {
   // none
   if (_string == 'none') { return ''; }
  
   // decode
   return decodeURIComponent(_string);
  }
 
  
	var
	 _iframe = document.getElementById('readable_iframe'),
	 _doc = (_iframe.contentDocument || _iframe.contentwindow.document),
	
					__id = _doc.getElementById('body').getAttribute('readable__page_id'),
	 __url = window.location.href,
	 __title = document.title,
	 __body = ''
	;
				//  include prepare/clean
   
	//  global vars
	//	  _iframe, _doc
	//	  __id, __url, __title
	//	  __body == ''
   
	//  get all "page_content" child elements of all "page" elements of the "#pages" element
	//  =======
   
		//  pages
		__body += '<div id="pages">';
	   
		//  loop through pages
			var _pages = _doc.getElementById('pages');
			for (var _i_p=0, _ii_p=_pages.childNodes.length, _page=false, _page_html=false, _page_start_duplicate=false; _i_p<_ii_p; _i_p++)
			{
				//  the page
				_page = _pages.childNodes[_i_p];
				_page_html = _page.innerHTML;
				_page_start_duplicate = _page_html.indexOf('<div class="page_duplicateForSpeech">');
			   
				//  remove duplicate
				if (_page_start_duplicate > -1) { _page_html = _page_html.substr(0, _page_start_duplicate); }
				//  append content
				__body += '<div id="page'+(_i_p+1)+'" class="page">';
				__body +=   _page_html;
				__body += '</div>';
			}
	   
		//  end pages
		__body += '</div>';
   
   
	//  remove all spans
	//  ================
		__body = __body.replace(/<span([^>]*?)>/gi, '');
		__body = __body.replace(/<\/span>/gi, '');
	   
	//  remove delete buttons
	//  =====================
		__body = __body.replace(/<em ([^>]*?)highlight([^>]*?)><a ([^>]*?)delete([^>]*?)><\/a>([\s\S]*?)<\/em>/gi, '<em class="highlight">$5</em>');
   
	//  highlight element
	//  =================
		__body = __body.replace(/<em ([^>]*?)highlight([^>]*?)>([^>]+?)<\/em>/gi, '<highlight>$3</highlight>');
   
	//  double EMs
	//  ==========
		while (true && __body.match(/<highlight>([\s\S]*?)<\/highlight>([\n\r\t]*?)<highlight>([\s\S]*?)<\/highlight>/gi)) {
			__body = __body.replace(/<highlight>([\s\S]*?)<\/highlight>([\n\r\t]*?)<highlight>([\s\S]*?)<\/highlight>/gi, '<highlight>$1$3</highlight>');
		}
   
	//  replace EMs
	//  ===========
		__body = __body.replace(/<highlight>([\s\S]*?)<\/highlight>/gi, '<span style="x-evernote: highlighted; background-color: #f6ee96">$1</span>');
   
	//  remove link footnotes
	//  =====================
		__body = __body.replace(/<sup class="readableLinkFootnote">([^<]*)<\/sup>/gi, '');
  
		   
	chrome.extension.sendRequest({
	 '_type': 'to-chrome--evernote-clip',
					'_id': __id,
	 '_url': __url,
	 '_title': __title,
	 '_body': __body
	});
	_stop = true;
	break;
			   
   case 'to-extension--evernote-clip-highlights':
	// include
   
// encode
// ======
  function __encodeURIComponentForReadable(_string)
  {
   // none
   if (_string == '') { return 'none'; }
  
   // encode
   return encodeURIComponent(_string)
	.replace(/!/g, '%21')
	.replace(/'/g, '%27')
	.replace(/\(/g, '%28')
	.replace(/\)/g, '%29')
	.replace(/\*/g, '%2A')
   ;
  }
 
// decode
// ======
  function __decodeURIComponentForReadable(_string)
  {
   // none
   if (_string == 'none') { return ''; }
  
   // decode
   return decodeURIComponent(_string);
  }
 
  
	var
	 _iframe = document.getElementById('readable_iframe'),
	 _doc = (_iframe.contentDocument || _iframe.contentwindow.document),
	
					__id = _doc.getElementById('body').getAttribute('readable__page_id'),
	 __url = window.location.href,
	 __title = document.title,
	 __body = ''
	;
				//  include prepare/clean
   
	//  global vars
	//	  _iframe, _doc
	//	  __id, __url, __title
	//	  __body == ''
   
	//  get all "page_content" child elements of all "page" elements of the "#pages" element
	//  =======
   
		//  pages
		__body += '<div id="pages">';
	   
		//  loop through pages
			var _pages = _doc.getElementById('pages');
			for (var _i_p=0, _ii_p=_pages.childNodes.length, _page=false, _page_html=false, _page_start_duplicate=false; _i_p<_ii_p; _i_p++)
			{
				//  the page
				_page = _pages.childNodes[_i_p];
				_page_html = _page.innerHTML;
				_page_start_duplicate = _page_html.indexOf('<div class="page_duplicateForSpeech">');
			   
				//  remove duplicate
				if (_page_start_duplicate > -1) { _page_html = _page_html.substr(0, _page_start_duplicate); }
				//  append content
				__body += '<div id="page'+(_i_p+1)+'" class="page">';
				__body +=   _page_html;
				__body += '</div>';
			}
	   
		//  end pages
		__body += '</div>';
   
   
	//  remove all spans
	//  ================
		__body = __body.replace(/<span([^>]*?)>/gi, '');
		__body = __body.replace(/<\/span>/gi, '');
	   
	//  remove delete buttons
	//  =====================
		__body = __body.replace(/<em ([^>]*?)highlight([^>]*?)><a ([^>]*?)delete([^>]*?)><\/a>([\s\S]*?)<\/em>/gi, '<em class="highlight">$5</em>');
   
	//  highlight element
	//  =================
		__body = __body.replace(/<em ([^>]*?)highlight([^>]*?)>([^>]+?)<\/em>/gi, '<highlight>$3</highlight>');
   
	//  double EMs
	//  ==========
		while (true && __body.match(/<highlight>([\s\S]*?)<\/highlight>([\n\r\t]*?)<highlight>([\s\S]*?)<\/highlight>/gi)) {
			__body = __body.replace(/<highlight>([\s\S]*?)<\/highlight>([\n\r\t]*?)<highlight>([\s\S]*?)<\/highlight>/gi, '<highlight>$1$3</highlight>');
		}
   
	//  replace EMs
	//  ===========
		__body = __body.replace(/<highlight>([\s\S]*?)<\/highlight>/gi, '<span style="x-evernote: highlighted; background-color: #f6ee96">$1</span>');
   
	//  remove link footnotes
	//  =====================
		__body = __body.replace(/<sup class="readableLinkFootnote">([^<]*)<\/sup>/gi, '');
  
		   
	chrome.extension.sendRequest({
	 '_type': 'to-chrome--evernote-clip-highlights',
					'_id': __id,
	 '_url': __url,
	 '_title': __title,
	 '_body': __body
	});
	_stop = true;
	break;
			   
   /*case 'to-extension--evernote-unset-tag':
	// include
   
  
	var
	 _iframe = document.getElementById('readable_iframe'),
	 _doc = (_iframe.contentDocument || _iframe.contentwindow.document),
	
	 _tagElement = _doc.getElementById('filingInfo__unset_tag'),
	
					__id = _doc.getElementById('body').getAttribute('readable__page_id'),
	 __tag = _tagElement.innerHTML
	;
		   
	chrome.extension.sendRequest({
	 '_type': 'to-chrome--evernote-unset-tag',
					'_id': __id,
	 '_tag': __tag
	});
	_stop = true;
	break;*/
			   
   /*case 'to-extension--evernote-unset-notebook':
	// include
   
  
	var
	 _iframe = document.getElementById('readable_iframe'),
	 _doc = (_iframe.contentDocument || _iframe.contentwindow.document),
	
					__id = _doc.getElementById('body').getAttribute('readable__page_id')
	;
		   
	chrome.extension.sendRequest({
	 '_type': 'to-chrome--evernote-unset-notebook',
					'_id': __id
	});
	_stop = true;
	break;*/
   
   case 'to-extension--evernote-login':
	var
	 _iframe = document.getElementById('readable_iframe'),
	 _doc = (_iframe.contentDocument || _iframe.contentwindow.document),
	
	 _userElement = _doc.getElementById('evernote_login__username'),
	 _passElement = _doc.getElementById('evernote_login__password'),
	 _rememberMeElement = _doc.getElementById('evernote_login__rememberMe'),
	 __user = (_userElement.value > '' ? _userElement.value : ''),
	 __pass = (_userElement.value > '' ? _passElement.value : ''),
	 __rememberMe = (_rememberMeElement.checked == true ? true : false)
	;
  
	chrome.extension.sendRequest({
	 '_type': 'to-chrome--evernote-login',
	 '_user': __user,
	 '_pass': __pass,
	 '_rememberMe': __rememberMe
	});
	_stop = true;
	break;
		}

  if (_stop)
  {
   _event.stopPropagation();
   _event.preventDefault();
  }

}, true);


// keyboard hook
// =============
 
// keyboard hook
chrome.extension.sendRequest({ '_type': "to-chrome--get-keyboard-info" }, function(response)
{
  // decode
 
// encode
// ======
  function __encodeURIComponentForReadable(_string)
  {
   // none
   if (_string == '') { return 'none'; }
  
   // encode
   return encodeURIComponent(_string)
	.replace(/!/g, '%21')
	.replace(/'/g, '%27')
	.replace(/\(/g, '%28')
	.replace(/\)/g, '%29')
	.replace(/\*/g, '%2A')
   ;
  }
 
// decode
// ======
  function __decodeURIComponentForReadable(_string)
  {
   // none
   if (_string == 'none') { return ''; }
  
   // decode
   return decodeURIComponent(_string);
  }
 

  // global vars
  var
   __definition_items_html = response._definition_items_html,
  
   __key_activation = __decodeURIComponentForReadable(response._key_activation),
   __key_clip = __decodeURIComponentForReadable(response._key_clip),
			__key_highlight = __decodeURIComponentForReadable(response._key_highlight),
			__key_speak = __decodeURIComponentForReadable(response._key_speak)
  ;
 
  // the event
  window.addEventListener('keydown', function(_event)
  {
   // include key combo detection
   
/*
  _event must be defined
  _key_combo and _key_code will be defined at end of code
*/
var _key_code = 'NONE';
switch (true)
{
  case (_event.keyCode && (_event.keyCode >= 65 && _event.keyCode <= 90)):
   _key_code = String.fromCharCode(_event.keyCode).toUpperCase();
   break;
  
  case (_event.keyCode == 27): _key_code = 'Escape';  break;
  case (_event.keyCode == 37): _key_code = 'Left Arrow'; break;
  case (_event.keyCode == 39): _key_code = 'Right Arrow'; break;
  case (_event.keyCode == 38): _key_code = 'Up Arrow';  break;
  case (_event.keyCode == 40): _key_code = 'Down Arrow'; break;
}
// get
// ===
  var _modifierKeys = (_event.originalEvent ? _event.originalEvent : _event);
  // jQuery screws up -- fucks up the metaKey property badly
 
  var _key_combo = ''
   + (_modifierKeys.ctrlKey ? 'Control + ' : '')
   + (_modifierKeys.shiftKey ? 'Shift + ' : '')
   + (_modifierKeys.altKey ? 'Alt + ' : '')
   + (_modifierKeys.metaKey ? 'Command + ' : '')
   + _key_code
  ;
// needs a modifier -- if not just Escape key
// ================
  if ((_key_code != 'Escape') && (_key_code == _key_combo))
  {
   _key_code = 'NONE';
   _key_combo = 'NONE';
  }

   switch (true)
   {
	case ((__key_activation > '') && (_key_combo == __key_activation)):
	case ((__key_clip > '') && (_key_combo == __key_clip)):
	case ((__key_highlight > '') && (_key_combo == __key_highlight)):
	case ((__key_speak > '') && (_key_combo == __key_speak)):
	
	 // also?
					//  =====
					   
						//  clip
	  var __clip_on_launch = ((__key_clip > '') && (_key_combo == __key_clip));
						// highlight
	  var __highlight_on_launch = ((__key_highlight > '') && (_key_combo == __key_highlight));
					   
						// speak
	  var __speak_on_launch = ((__key_speak > '') && (_key_combo == __key_speak));
					   
	 // stop
	 // ====
	  _event.stopPropagation();
	  _event.preventDefault();
	 // inject
	 // ======
	  var code = ""
	   + "var "
+ " _d = document, "
+ " _b = _d.getElementsByTagName('body')[0], "
+ " _o = _d.getElementById('__readable_extension_definitions'), "
+ " _l = _d.createElement('script')"
+ ";"
+ "if (_o); else"
+ "{"
+ " _o = _d.createElement('dl');"
+ " _o.setAttribute('style', 'display: none;');"
+ " _o.setAttribute('id', '__readable_extension_definitions');"
+ " _b.appendChild(_o);"
+ "}"
+ "_o.innerHTML = '"+__definition_items_html+"';"
+ "_l.setAttribute('src', 'chrome-extension://iooicodkiihhpojmmeghjclgihfjdjhj/js/__bookmarklet_to_inject"+(__clip_on_launch ? "__andClipOnLaunch" : (__highlight_on_launch ? "__andHighlightOnLaunch" : (__speak_on_launch ? "__andSpeakOnLaunch" : "")))+".js');"
+ "_l.className = 'bookmarklet_launch';"
+ "_b.appendChild(_l);";
	  eval(code);
	 
	 break;
   }
  
  }, true);
});

	   
	//  expose clearly
	//  ==============
 
	//  expose clearly
	//  ==============
   
		(function ()
		{
	   
			//  return
			if (window.location.hostname.match(/(evernote|yinxiang).com$/gi)); else { return; }
		   
			//  add to head
			try
			{
				var _meta = document.createElement("meta");
					_meta.name = "evernote-clearly-extension";
					_meta.content = "installed";
			   
				document.head.appendChild(meta);
			}
			catch (e) {}
		   
			//  add to body
			try
			{
				document.body.className += ' evernote-clearly-extension';
			}
			catch (e) {}
		   
		})();
	   
   
   



#47
fulgerul46

fulgerul46

    Junior Member

  • Grup: Members
  • Posts: 178
  • Înscris: 14.11.2011
acuma merge

#48
catalinman

catalinman

    RCS & RDS

  • Grup: Senior Members
  • Posts: 27,512
  • Înscris: 16.12.2006

View Postbambucea76, on 28 noiembrie 2012 - 07:38, said:

La mine merge.ro si a mers sde la 06.00 fara probleme - pe RDS.
Pai iti zic si de ce.

Romtelecom, UPC si majoritatea operatorilor din romania au fost afectati si inca sunt afectati; serverele lor de DNS cache inca puncteaza catre IP-urile incorecte:
> server 193.231.100.130
Default Server:  ns3.romtelecom.net
Address:  193.231.100.130

> google.ro
Server:  ns3.romtelecom.net
Address:  193.231.100.130

Non-authoritative answer:
google.ro       nameserver = ns1.joomlapartner.nl
google.ro       nameserver = ns2.joomlapartner.nl

RDS nu a fost afectat din cauza politicilor de securitate implementate pentru serverele DNS folosite de client.

Iata cum ar fi corect:

> server 193.231.252.1
Default Server:  dns2.rcs-rds.ro
Address:  193.231.252.1

> google.ro
Server:  dns2.rcs-rds.ro
Address:  193.231.252.1

Non-authoritative answer:
google.ro       nameserver = ns1.google.com
google.ro       nameserver = ns2.google.com
google.ro       nameserver = ns3.google.com
google.ro       nameserver = ns4.google.com

ns1.google.com  internet address = 216.239.32.10
ns2.google.com  internet address = 216.239.34.10
ns3.google.com  internet address = 216.239.36.10
ns4.google.com  internet address = 216.239.38.10

Edited by catalinman, 28 November 2012 - 10:52.


#49
skybax

skybax

    Junior Member

  • Grup: Members
  • Posts: 87
  • Înscris: 08.11.2006
Google Romania (google.ro) was hacked on the 28th of november 2012 by the Algerian hacker MCA-CRB. The action took place shortly after a Romanian hacking community (knows as RST) was caught by the FBI in collaboration with the Romanian Police. Their servers were confiscated from the hosting service provider leaving a lot of bloggers offline.


Ce se vorbeste in afara si ce a aparut la noi in presa.

#50
andreic

andreic

    Very OLD Member

  • Grup: Moderators
  • Posts: 122,593
  • Înscris: 07.02.2003
Telefonul fara fir... de joaca unii la dns si altii iau credit, tipic Posted Image E un fel de nu mai poti sa-ti accesezi floppy drive-ul... inseamna ca e hackerit :)

Edited by andreic, 28 November 2012 - 11:47.


#51
Wazot

Wazot

    Taxi Driver

  • Grup: Senior Members
  • Posts: 2,031
  • Înscris: 10.05.2008
Ce tare a fost faza

#52
Getodacul

Getodacul

    ±

  • Grup: Senior Members
  • Posts: 2,863
  • Înscris: 03.03.2004
Eu nu pot sa-mi accesez floppy-disk-ul. O fi hackerit? Stai ca am uitat, n-am unitate floppy.

#53
mendis

mendis

    Member

  • Grup: Members
  • Posts: 392
  • Înscris: 27.09.2006
Aveti mai jos detalii. Din pacate mass-media a intoxicat si nici macar nu si-a cerut scuze tuturor din Romania pe care i-a pus sa intre pe un site spart! (Jesus Christ..., e ca si cum dai stire "vedeti ca trage unul cu tunul in centru, mergeti sa vedeti!)

http://www.hosting-w... Google-224.htm

Varianta avansata ar putea fi ca cei care au facut acest poisoning, sa fi salvat cookie-urile de la gmail, yahoo, (asta ca sa nu zicem de phishing) etc, sau mai frumos, sa vezi ca mx-ul pentru gov.ro sa zicem sau ce mama berzelor domenii au astia de la sts, sri, etc sa fi fost cateva ore serverul din Olanda care afisa mira... 99.99% dintre voi nici nu va dati seama ce s-a intamplat azi dimineata dpdv al securitatii in .RO, cred ca daca algerienii aia faceau ceva pregatit si voiau sa ne zapaceasca, era apocaliptic cu efecte de haos zile intregi, cheltuieli, concedieri etc...

#54
dygey

dygey

    Al dracu' Member

  • Grup: Senior Members
  • Posts: 6,652
  • Înscris: 13.10.2009
nici la ora asta n-au fost in stare sa-si repare DNS-urile? ping-ul catre google.ro
nu duce nicaieri, ipconfig /flushdns la fel...unde mama dracu' mai e problema? la
google sau la provider? sa stiu pe care dintre astia doi il injur...

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate