ฉันไม่แน่ใจว่าส่วนขยายเหล่านั้นเป็นภาษาใดฉันคิดว่าส่วนขยายเหล่านี้เขียนด้วย Html, Javascript หรือ JSON เท่าที่ฉันรู้ว่ามีการ "บีบอัด" ในไฟล์. CRX
เป็นไปได้ที่จะแก้ไข html, js, json ของส่วนขยาย Chrome โดยตรง (หรือภาษาที่ใช้)?
ฉันไม่แน่ใจว่าส่วนขยายเหล่านั้นเป็นภาษาใดฉันคิดว่าส่วนขยายเหล่านี้เขียนด้วย Html, Javascript หรือ JSON เท่าที่ฉันรู้ว่ามีการ "บีบอัด" ในไฟล์. CRX
เป็นไปได้ที่จะแก้ไข html, js, json ของส่วนขยาย Chrome โดยตรง (หรือภาษาที่ใช้)?
คำตอบ:
ฉันค้นหาใน Google และพบสิ่งนี้:
ประเภทไฟล์นามสกุลของ Google Chrome คือ CRX มันเป็นรูปแบบการบีบอัดเป็นหลัก ดังนั้นหากคุณต้องการดูว่าอะไรอยู่เบื้องหลังส่วนขยายสคริปต์และโค้ดเพียงแค่เปลี่ยนประเภทไฟล์จาก“ CRX” เป็น“ ZIP”
แตกไฟล์และคุณจะได้รับข้อมูลทั้งหมดที่คุณต้องการ ด้วยวิธีนี้คุณจะเห็นความกล้าเรียนรู้วิธีเขียนส่วนขยายด้วยตัวคุณเองหรือปรับเปลี่ยนตามความต้องการของคุณเอง
จากนั้นคุณสามารถสำรองข้อมูลด้วยเครื่องมือภายในของ Chrome ซึ่งจะสร้างไฟล์กลับไปที่ CRX โดยอัตโนมัติ การติดตั้งเพียงแค่คลิก
crx
เป็นzip
และการคลิกจะไม่ทำงาน unzip
คำสั่งจะทำงานแม้ในcrx
ส่วนขยาย
ไดเร็กทอรีส่วนขยายของ Chrome ที่ติดตั้งอยู่ด้านล่าง:
คัดลอกโฟลเดอร์ของส่วนขยายที่คุณต้องการแก้ไข (ตั้งชื่อตาม ID ส่วนขยายหากต้องการค้นหา ID ของส่วนขยายให้ไปที่chrome://extensions/
) เมื่อคัดลอกแล้วคุณต้องลบโฟลเดอร์ _metadata
จากchrome://extensions
ในโหมดนักพัฒนาให้เลือกโหลดส่วนขยายที่ไม่ได้แพ็ค ...และเลือกโฟลเดอร์ส่วนขยายที่คัดลอกของคุณหากมีโฟลเดอร์ย่อยซึ่งตั้งชื่อตามเวอร์ชันให้เลือกโฟลเดอร์เวอร์ชันนี้ที่มีไฟล์รายการไฟล์นี้จำเป็นสำหรับ Chrome
ทำการเปลี่ยนแปลงของคุณจากนั้นเลือกโหลดซ้ำและรีเฟรชหน้าสำหรับส่วนขยายของคุณเพื่อดูการเปลี่ยนแปลงของคุณ
ไดเรกทอรีส่วนขยายของ Chrome
Mac:
/Users/username/Library/Application Support/Google/Chrome/Default/Extensions
วินโดว 7:
C:\Users\username\AppData\Local\Google\Chrome\User Data\Default\Extensions
Windows XP:
C:\Documents and Settings\YourUserName\Local Settings\Application Data\Google\Chrome\User Data\Default
Ubuntu 14.04:
~/.config/google-chrome/Default/Extensions/
\Default
ไดเร็กทอรีในเส้นทางตำแหน่งส่วนขยายจะชี้ไปยังโปรไฟล์ที่ติดตั้งส่วนขยาย หากคุณใช้หลายโปรไฟล์ใน Chrome \Default
เป็นโปรไฟล์เริ่มต้นและ\Profile1
เป็นโปรไฟล์แรกที่สร้างขึ้น
null
ชื่อผู้ใช้ดังนั้นเส้นทางที่คัดลอกไม่ทำงาน - ฉันใช้ OS X - ไอเดียเจ๋ง ๆ แต่มันต้องการเพียงเล็กน้อย งาน. อ้อและเช่นกันเครื่องหมายทับระหว่างส่วนขยายและรหัสส่วนขยายหายไป
ไฟล์ CRX ที่เซ็นชื่อมีส่วนหัวที่จะทำให้ส่วนใหญ่ / ทั้งหมดคลายซิปเพื่อ barf นี่ไม่ใช่วิธีที่ง่ายที่สุดในการดำเนินการ แต่นี่คือวิธีการทำจากบรรทัดคำสั่ง bash
แนวคิดพื้นฐานคือการค้นหาตำแหน่งที่ไฟล์ zip ที่ไม่ได้ลงชื่อดั้งเดิมเริ่มต้นจากนั้นคัดลอกไฟล์ CRX ไปยังไฟล์ zip แต่ไม่รวมส่วนหัว CRX
hexdump -C the_extension.crx | more
dd if=the_extension.crx of=the_extension.zip bs=1 skip=0x132
(สำหรับพารามิเตอร์การข้ามให้แทนที่ค่าชดเชยที่คุณพบในขั้นตอนก่อนหน้านี้)ฉันแน่ใจว่ามีวิธีที่รัดกุมกว่านี้ในการทำเช่นนี้ ผู้เชี่ยวชาญด้าน Bash โปรดปรับปรุงคำตอบของฉัน
0x132
unzip
ผมเป็นจริงสามารถที่จะเปิดเครื่องรูดมันกับอรรถประโยชน์บรรทัดคำสั่ง มันบ่นเกี่ยวกับส่วนหัวเพิ่มเติมอีก 306 ไบต์ แต่ก็ยังทำอยู่ดี
unzip
ทำงานได้อย่างสมบูรณ์:warning [YouTubeCenter.crx]: 304 extra bytes at beginning or within zipfile (attempting to process anyway)
00000230 63 d5 11 76 bf 9f 50 4b 03 04 14 00 08 08 08 00 |c..v..PK........|
webext="Downloads/Extension_v0.1.crx" dd if="$webext" of="${webext%.crx}.zip" bs=1 skip=$(hexdump "$webext" | awk '/50 4b/{a=$1; for(i=2;i<=NF;i++){if($i=="50" && $(i+1)=="4b"){print "0x"substr(a,0,6)i-2;exit}}}')
โปรดทราบว่าโปรแกรม zip บางโปรแกรมมีปัญหาในการคลายซิป CRX อย่างที่อธิบายไว้ - หากเป็นกรณีนี้ให้ลองใช้ 7-Zip - http://www.7-zip.org/
ฉันได้อ่านคำตอบอื่น ๆ แล้วและพบว่าสิ่งสำคัญคือต้องสังเกตสิ่งอื่น ๆ :
1. ) สำหรับผู้ใช้ Mac: เมื่อคุณคลิก "Load unpacked extension ... " โฟลเดอร์ Library จะถูกซ่อนไว้ตามค่าเริ่มต้นและ (แม้ว่าตัวเลือก Show Hidden files จะถูกสลับบน Mac ของคุณ) ก็อาจไม่ปรากฏในหน้าต่าง Finder ของ Chrome .
2. ) โฟลเดอร์ย่อยที่มีส่วนขยายคือสตริงตัวอักษรและตัวเลขแบบสุ่มที่ตั้งชื่อตาม ID ของส่วนขยายซึ่งสามารถพบได้ในหน้าส่วนขยายของ Chrome หากตั้งค่าสถานะนักพัฒนาเป็นจริง (ช่องทำเครื่องหมายด้านขวาบนในหน้าส่วนขยาย)
(พูดไปแล้ว) ฉันพบสิ่งนี้ขณะสร้างธีม Chrome (ซึ่งหายไปนานแล้ว ... :-P)
ธีม Chrome ส่วนขยาย ฯลฯ เป็นเพียงไฟล์บีบอัด รับ7-zipหรือWinRarเพื่อเปิดเครื่องรูด แต่ละส่วนขยาย / ธีมมีไฟล์ manifest.json เปิดไฟล์ manifest.json ใน notepad จากนั้นหากคุณทราบการเข้ารหัสให้แก้ไขโค้ด จะมีบางไฟล์อื่น ๆ หากคุณดูในไฟล์รายการคุณอาจสามารถหาได้ว่ามีไว้เพื่ออะไร จากนั้นคุณสามารถเปลี่ยนแปลงทุกสิ่ง ...
ไฟล์. CRX ก็เหมือนกับไฟล์. ZIP เพียงแค่เปลี่ยนนามสกุลแล้วคลิกขวา> แตกไฟล์เท่านี้ก็เสร็จเรียบร้อย
เมื่อคุณแตกไฟล์แล้ว -> แก้ไขและเพิ่มลงใน zip และเปลี่ยนนามสกุลกลับเป็น. crx
วิธีอื่น ๆ -> เปิด Chrome -> การตั้งค่า -> ส่วนขยาย -> เปิดใช้งานตัวเลือกสำหรับนักพัฒนา -> โหลดส่วนขยายที่ไม่ได้แพ็ก (โฟลเดอร์ไฟล์ที่แตกแล้วที่แก้ไข) แล้วคลิกส่วนขยายของแพ็ค
ตอนนี้ Chrome เป็นผู้ใช้หลายคนจึงExtensions
ควรจะซ้อนอยู่ในโปรไฟล์ของผู้ใช้ระบบปฏิบัติการแล้วโปรไฟล์ผู้ใช้ Chrome ผู้ใช้ Chrome ครั้งแรกของฉันถูกเรียกว่าProfile 1
ฉันเส้นทางเป็นExtensions
C:\Users\
username
\AppData\Local\Google\Chrome\User Data\
Profile 1
\Extensions\
เพื่อค้นหาของคุณไปที่chrome://version/
(ฉันใช้about:
ความเกียจคร้าน)
สังเกตProfile Path
และต่อท้าย\Extensions\
และคุณมีของคุณ
หวังว่านี่จะทำให้ข้อมูลเกี่ยวกับคำถามนี้เป็นปัจจุบันมากขึ้น
เป็นไปได้ที่จะแก้ไขโค้ดของนามสกุล. CRX เนื่องจากเป็นไฟล์. zip ที่เรียบง่าย คุณสามารถดาวน์โหลดนามสกุลแตกไฟล์ซอร์สโค้ดแก้ไข (ทดสอบและดีบักตามที่อยู่ข้างคุณ) และแพ็กเกจกลับเป็นไฟล์. CRX
ฉันใช้เครื่องมือนี้เพื่อดาวน์โหลดส่วนขยาย. CRX และแยกซอร์สโค้ดและมันก็ใช้ได้กับฉัน: http://crxextractor.com
ทุกสิ่งที่ทำคือการแยกวิเคราะห์รูปแบบไฟล์. CRX และแยก. zip จริงที่มีซอร์สโค้ด
หากคุณติดตั้ง Chrome เวอร์ชันพกพาหรือติดตั้งไว้ในไดเร็กทอรีที่กำหนดเองส่วนขยายจะไม่สามารถใช้งานได้ในไดเร็กทอรีที่อ้างถึงในคำตอบด้านบน
ลองคลิกขวาที่ทางลัดของ Chrome และตรวจสอบไดเรกทอรี "Target" จากนั้นไปที่ไดเร็กทอรีเดียวด้านบนและคุณควรจะเห็นUser Data
โฟลเดอร์จากนั้นสามารถใช้คำตอบที่กล่าวถึงข้างต้นได้