Бложек теперь на old.mrThe.name. Следите за обновлениями.

Понадобилось сделать скриншот содержимого браузера. Делать это через принтскрин не самый оптимальный выбор, учитывая сколько у Chrome(Chromium) расширений.
Было найдено отличное расширение Explain and Send Screenshots.

.

Оно минималистично, удобно, да ещё и может отправить скриншот на imgur или другой замечательный хосниг картинок, что является огромным плюсом.
Но есть у него один минус: расширение добавляет на картинку своё название и ссылку на страницу на которой мы делаем сриншот:
Не нужные надписи
И если название ещё можно пережить, то ссылка обычно не нужна вообще. К тому же, если делаешь скриншот небольшого куска текста, то эти надписи мешают его читать.

.

Само приложение просит доната хотя бы в 1$. Не много, но проблема в том, что после удаления и повторной установки приложение снова просит донат, а это уже как-то обидно.

.

Рассмотрим способ взлома и получения всех функций на примере этого расширения:

1) Сначала, нужно найти где находится приложение:
В каталоге приложений ссылка выглядит как

https://chrome.google.com/webstore/detail/mdddabjhelpilpnpgondfmehhcplpiin/details

где mdddabjhelpilpnpgondfmehhcplpiin – уникальный id. Он-то нам и нужен.

.

Итого, приложение находится:

Linux:
/home/YourUserName/.config/chromium/Default/Extensions/mdddabjhelpilpnpgondfmehhcplpiin

Mac:
/Users/YourUserName/Library/Application Support/Google/Chrome/Default/Extensions/mdddabjhelpilpnpgondfmehhcplpiin

Windows 7:
C:\Users\YourUserName\AppData\Local\Google\Chrome\User Data\Default\Extensions\mdddabjhelpilpnpgondfmehhcplpiin

Windows XP:
C:\Documents and Settings\YourUserName\Local Settings\Application Data\Google\Chrome\User Data\Default\mdddabjhelpilpnpgondfmehhcplpiin

В этой папке, обычно, есть подпапка с именем версии или чем-то подобным. В ней уже лежит само приложение, которое представляет из себя набор обычных js\html\css файлов.

.

Стоит туда зайти и в глаза тут же бросается файл с именем “donate.html”.

В нём находится вот такой таймер:

		setInterval(function() {			
			if (location.href.match(/paypalInline=fail|paypalInline=success/)) {
				var success = location.href.match("success");				
				history.replaceState({}, 'After paypayInline', location.href.replace(/#.*/, "#paypayInline=acknowledged"));
				if (dg && dg.isOpen()) {
					dg.closeFlow();
				}
				if (success) {
					showSuccessfulPayment();
					sendGA(['_trackEvent', "paypal", "success"]);
				} else {
					$("#paymentFailure").text(chrome.i18n.getMessage("failureWithPayPalPurchase")).slideDown("slow").delay(6000).slideUp("slow");
					sendGA(['_trackEvent', "paypal", "cancel?"]);
				}
			}
		}, 500);

В котором видно код, который срабатывает при успешной оплате пейпалом:

showSuccessfulPayment();
sendGA(['_trackEvent', "paypal", "success"]);

Остаётся вставить его в любое понравившееся место, например чуть выше есть функция setPayPayInlineParam, которая срабатывает при клике на кнопку оплаты через пейпал. В самое её начало вставим наш код активации:

showSuccessfulPayment();
sendGA(['_trackEvent', "paypal", "success"]);
return 1;

Остаётся сохранить файл, перезапустить браузер и нажать на эту самую кнопку в приложени. Вуаля, получаем сообщение об успешном донате и видим, что теперь можно отлючить добавление этих надписей:
Отличный результат
Метод не универсальный, но общий алгоритм ясен: найти методы вызывающиеся при успешной оплате и вызвать их.
.
Напоминаю, что всё описанное выше применимо только после оплаты всех возможностей приложения, так как нужно поддерживать автора, но нет смысла отвлекать его от работы, если мы всего-лишь переустановили браузер и приложение “забыло” что было оплачено.
.

Похожие записи:

3 комментария к “Взлом расширений chrome”

  1. phpdreamer Пишет:

    Круто, спасибо. Хром у меня запасной браузер, к платным аддонам не присматривался пока

  2. w Пишет:

    Рекомендую https://droplr.com/ как альтернативу всем скриншотилкам и файлопомойкам. Быстро, удобно и без рекламы конечно же.

    mr.The: у него же нет решения под линукс. А тут решение под браузер – вполне кроссплатформенное, причём.

  3. Bo0oM Пишет:

    Ну да, думаю не составит труда, тем более, что ты его можешь обратно запаковать))
    На самом деле это зип архив
    Я даже как то пытался сделать rss – читалку. Сделал для kaimi.ru, чисто для собственного использования)
    Вот что из этого вышло
    h_ttp://bo0om.ru/kaimi.crx

Оставить комменатрий: