Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
Mã hóa key trong Chrome Extension
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]])})));




