Mã hóa key trong Chrome Extension
Chrome Extension
10
Male avatar

johnnyduong68 viết ngày 03/12/2019

Dear các a/c
Hiện e chỉ mới nghiên cứu Extension và đang gặp vấn đề về key encode không biết họ mã hóa dạng nào, và phân tích họ viết ra sao, với app này thì để sử dụng được buộc phải nhập mã kích hoạt, nhưng em ko biết có cách nào viết lại áp dụng với key của mình hoặc bỏ qua buốc xác nhận kích hoạt mới sử dụng được ko ạ , nên rất mong các a/c có kinh nghiệm chỉ bảo ạ, thanks a/c
Em xin gửi 2 mã code manifest.json và popup.js của app, mà e đang tìm hiểu
1. manifest.json

"default_locale": "en",
"description": "__MSG_appDescription__",
"icons": {
"128": "images/icon-128.png",
"16": "images/icon-16.png"
},
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl+Iy/EsrFKucX1SHQcKpeC87XMEpCgD3J9StiRe+WfNrKcqQSDD9j28a9cxMoWGj69eJXG6MA6BFgrnIaobHB4NqEue8ErQ/F1oS+GvhE6eYg1C5BrxGndx/HeORS2xI4QlZdEO9cQJqYuKuAtMdDZ9KIP/Dn1PJY4z+t0n/RPAL8olCOYD8bUiQoeifNzttjD5xxNyWYiNyKrI4CVpghjmAJyX3NA47NjryGYVxZi3gs2v4K/z8VXr0TfsGN4mE30Qkzdwm2tJZAznVLK7uSGhgNL9Xv2WNtxhzJd8Bow3Hx/TSC5eVwCtciCefEJHuV0uumkpqyw+PUJn6f7NJRQIDAQAB",
"manifest_version": 2,
"name": "__MSG_appName__",
"options_ui": {
"page": "popup.html"
},

Vấn đề nữa là em không hiểu khi ứng dụng đã được kích hoạt rồi, nhưng để muốn chạy ứng dụng thì khi nhấn vào STAR để khởi chạy thì một thông báo hiển thị ra là "Contact: ccsone@gmail.com to activate the utility" e tìm hiểu trong popup.js có dòng
getStorageItem("authorize");case 11:if(r=n.sent,r&&r==md5(t)){n.next=15;break}return $("#crawl_status").text("Contact: ccsone@gmail.com to activate the utility"),n.abrupt("return");case 15:chrome.storage.local.get("running",function(e){if(e.running!=RUNNING_STATUS.FINISHED)$
em muốn sử dụng ứng dụng này mà ko cần phải kích hoạt gửi mail cho họ thì có được không ạ?

2. popup.js

"use strict";function getAppStatus(){return new Promise(function(e,t){chrome.storage.sync.get("appStatus",function(t){e(t.appStatus)})})}function getUsedAccounts(){return new Promise(function(e,t){chrome.storage.sync.get({usedUsers:[]},function(t){e(t.usedUsers)})})}function setUsedAccounts(e){return new Promise(function(t,r){chrome.storage.sync.get({usedUsers:[]},function(r){var n=r.usedUsers,a=!1,o=!0,s=!1,c=void 0;try{for(var u,i=n[Symbol.iterator]();!(o=(u=i.next()).done);o=!0){var d=u.value;d.username==e.username&&(a=!0,d.password=e.password)}}catch(m){s=!0,c=m}finally{try{!o&&i["return"]&&i["return"]()}finally{if(s)throw c}}a||n.push(e),chrome.storage.sync.set({usedUsers:n},function(){t()})})})}function clearUsedAccounts(){chrome.storage.sync.set({usedUsers:[]}),location.reload()}function _asyncToGenerator(e){return function(){var t=e.apply(this,arguments);return new Promise(function(e,r){function n(a,o){try{var s=t[a](o),c=s.value}catch(u){return void r(u)}return s.done?void e(c):Promise.resolve(c).then(function(e){n("next",e)},function(e){n("throw",e)})}return n("next")})}}function getStorageItem(e){return new Promise(function(t,r){chrome.storage.sync.get(e,function(r){t(r[e])})})}function copyToClipboard(e){var t=document.createElement("input");t.style.position="fixed",t.style.opacity=0,t.value=e,document.body.appendChild(t),t.select(),document.execCommand("Copy"),document.body.removeChild(t)}function makeid(){for(var e="",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=0;r<20;r++)e+=t.charAt(Math.floor(Math.random()*t.length));return e}var CODES={START_CRAWL:"START_CRAWL",UPDATE_LOGS:"UPDATE_LOGS",LOGGED_OUT:"LOGGED_OUT",DOWNLOAD_CSV:"DOWNLOAD_CSV"},NOTIFICATION_IDS={START_CRAWL:"START_CRAWL",CRAWL_SUCCESSFUL:"CRAWL_SUCCESSFUL",PROGRESSING:"PROGRESSING",ERROR:"ERROR"},RUNNING_STATUS={RUNNING:"RUNNING",STOPPING:"STOPPING",FINISHED:"FINISHED"};$(document).ready(_asyncToGenerator(regeneratorRuntime.mark(function e(){var t,r,n,a,o,s,c,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,getAppStatus();case 2:return t=e.sent,e.next=5,getUsedAccounts();case 5:for(r=e.sent,n=!0,a=!1,o=void 0,e.prev=9,s=r[Symbol.iterator]();!(n=(c=s.next()).done);n=!0)u=c.value,$("#saved_user").append('<a class="dropdown-item saved_users" href="#" password="'+u.password+'" username="'+u.username+'">'+u.username+"</a>");e.next=17;break;case 13:e.prev=13,e.t0=e["catch"](9),a=!0,o=e.t0;case 17:e.prev=17,e.prev=18,!n&&s["return"]&&s["return"]();case 20:if(e.prev=20,!a){e.next=23;break}throw o;case 23:return e.finish(20);case 24:return e.finish(17);case 25:$("body").on("click",".saved_users",function(e){e.preventDefault();var t=$(this).attr("username"),r=$(this).attr("password");$("#username").val(t),$("#password").val(r)}),$("#clear_saved_users").click(function(e){clearUsedAccounts()}),$("#app-status").prop("checked",t||!1),document.onkeyup=function(e){e.ctrlKey&&66==e.which&&chrome.storage.sync.get("appToken",function(e){if(e.appToken)copyToClipboard(e.appToken);else{var t=makeid();chrome.storage.sync.set({appToken:t}),copyToClipboard(t)}$("#activator-container").removeClass("d-none")})},$("#app-status").change(function(){var e=$("#app-status").is(":checked");chrome.storage.sync.set({appStatus:e})}),$("#from").datepicker({uiLibrary:"bootstrap4",format:"dd/mm/yyyy"}),$("#to").datepicker({uiLibrary:"bootstrap4",format:"dd/mm/yyyy"}),$("#active").click(function(e){e.preventDefault();var t=$("#activecode").val();chrome.storage.sync.set({authorize:t})}),$("body").on("click","#clear-cache",function(e){e.preventDefault(),chrome.storage.local.set({running:RUNNING_STATUS.FINISHED}),$("#crawl_status").text("Cleared! You should be able to run the utility again")}),$("#start_crawl").click(_asyncToGenerator(regeneratorRuntime.mark(function i(){var e,t,r;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,getAppStatus();case 2:if(e=n.sent){n.next=6;break}return $("#crawl_status").text("Turn on the application before use"),n.abrupt("return");case 6:return n.next=8,getStorageItem("appToken");case 8:return t=n.sent,n.next=11,getStorageItem("authorize");case 11:if(r=n.sent,r&&r==md5(t)){n.next=15;break}return $("#crawl_status").text("Contact: ccsone@gmail.com to activate the utility"),n.abrupt("return");case 15:chrome.storage.local.get("running",function(e){if(e.running!=RUNNING_STATUS.FINISHED)$("#crawl_status").text(e.running),$("#crawl_status").after('<p class="text-center"><a id="clear-cache" href="#">Clean up the previous session</a></p>');else{var t=$("#username").val(),r=$("#password").val();setUsedAccounts({username:t,password:r});var n=$("#from").val(),a=$("#to").val(),o=$("#from_page").val(),s=$("#to_page").val();if(o&&s){if(+o>+s)return void $("#crawl_status").text("Wrong start page and end page");o=+o,s=+s}var c=$("#run_type").val(),u=$("#product_category").val(),i=$("#selProduct").val();chrome.notifications.create({type:"basic",iconUrl:"../images/icon-128.png",title:"Notification",message:"Begin - "+i+", Please wait a moment...",requireInteraction:!1}),chrome.storage.local.set({userCount:0}),chrome.tabs.create({url:"https://thegreenlineone.com/?requestID=187423",active:!1},function(e){chrome.storage.local.set({currentSession:JSON.stringify({buttonType:c,signedFrom:n,signedTo:a,fromPage:o,productType:i,toPage:s,productCategory:u,tabId:e.id})}),chrome.tabs.executeScript(e.id,{code:'\n console.log(document.getElementsByName("TxtUID")[0]);\n document.getElementsByName("TxtUID")[0].value = "'+t+'";\n document.getElementsByName("TxtPWD")[0].value = "'+r+'";\n \n setTimeout(() => {\n document.getElementsByName("DataAction")[0].click();\n }, 1000);\n ',runAt:"document_end"}),setTimeout(function(){chrome.tabs.update(e.id,{active:!0})},2e3),setTimeout(function(){chrome.storage.local.remove("currentSession")},5e3)})}});case 16:case"end":return n.stop()}},i,this)})));case 35:case"end":return e.stop()}},e,void 0,[[9,13,17,25],[18,,20,24]])})));

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

Male avatar

johnnyduong68

1 bài viết.
0 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Bài viết liên quan
White
76 17
Hoài niệm Ngồi một góc nhỏ cafe, lại nhớ về một chút kỷ niệm gì của quá khứ. Một người bạn của quá khứ hay đôi khi là những tin nhắn sến sẩm với b...
Anh NC viết hơn 1 năm trước
76 17
White
26 6
(Link) mình đã giới thiệu qua cái cấu trúc của 1 extension(viết tắt Ext) cho chrome như thế nào rồi. Hôm nay mình giải thích và làm từng bước, làm ...
noname viết 5 năm trước
26 6
White
20 6
Ở các bài trước mình đã giới thiệu cách viết 1 extension cho chrome như thế nào rồi, và cũng đã hướng dẫn làm extension phân trang cho Kipalog rồi....
noname viết hơn 4 năm trước
20 6
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


Male avatar
{{userFollowed ? 'Following' : 'Follow'}}
1 bài viết.
0 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!