Google Chrome拡張ファイルを直接変更するにはどうすればよいですか?(.CRX)


96

これらの拡張機能がどの言語であるかはわかりませんが、HTML、Javascript、またはJSONで記述されていると思います。私が知る限り、それらは.CRXファイルで「圧縮」されています。

Chrome拡張機能のhtml、js、json(またはそれらが使用する言語)を直接変更することは可能ですか?


私はこれを理解しようと多くの時間を無駄にしました、そして私はここにリストされたアプローチの多くを試しました。Macを使用していて解凍が機能しない場合は、ダウンロードしてKekaを試してください。7-Zipをベースにした無料のMacユーティリティです。CRXファイルの名前を変更する必要はありません。アプリを開き、CRXファイルをアプリにドロップします。内容をフォルダーに抽出します。keka.io
Trevor

回答:


87

私はそれをグーグルで検索し、これを見つけました:

Google Chrome拡張機能のファイルタイプはCRXです。基本的には圧縮形式です。したがって、拡張機能、スクリプト、コードの背後にあるものを確認したい場合は、ファイルタイプを「CRX」から「ZIP」に変更するだけです。

ファイルを解凍すると、必要なすべての情報が得られます。このようにして、根性を確認したり、拡張機能を自分で作成したり、自分のニーズに合わせて変更したりする方法を学ぶことができます。

次に、自動的にファイルを作成してCRXに戻すChromeの内部ツールを使用して、ファイルをパックして戻すことができます。それをインストールするには、クリックするだけです。


14
crxファイルには、zip
形式の

5
ファイルを解凍すると、something.zip.cpgzになりますか?
f01

7
拡張機能の名前をcrxtoに変更しzipてクリックしても機能しません。unzipコマンドはさらに上で動作しますcrx拡張。
iRonin 2016年

1
MacOSでは、ファイルタイプを「CRX」から「ZIP」に変更してもCRXを抽出できません。zipファイルを抽出しようとすると、別のファイルFileName.zip.cpgzが作成されるためです
Ripon Kumar Saha

106

インストールされているChrome拡張機能のディレクトリは次のとおりです。

  1. 変更する拡張機能のフォルダをコピーします。(拡張機能IDに従って名前が付けられます。拡張機能のIDを見つけるには、に移動しますchrome://extensions/)。コピーしたら、_metadataフォルダーを削除する必要があります。

  2. からchrome://extensionsデベロッパーモード選択ロードアンパック延長...とコピーした拡張フォルダを選択することは、これはバージョンによって命名されたサブフォルダが含まれている場合は、マニフェストファイルがある、このバージョンのフォルダを選択し、このファイルには、クロームのために必要です。

  3. 変更を加えたら、[再読み込み]を選択し、拡張機能のページを更新して変更を確認します。


Chrome拡張ディレクトリ

マック:

/Users/username/Library/Application Support/Google/Chrome/Default/Extensions

Windows 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/

3
ちなみに、少なくともWindowsでは、\Default拡張機能の場所のパスにあるディレクトリは、拡張機能がインストールされているプロファイルを指しています。Chromeで複数のプロファイルを使用している場合\Defaultはデフォルトのプロファイルで\Profile1あり、これが最初に作成される追加のプロファイルです。
HeatfanJohn 2013

2
:すばやくアクセス拡張機能のソースコードに、このChromeの拡張機能をチェックアウトchrome.google.com/webstore/detail/extension-source-locator/...
Shaihi

@Shaihiそれはあなたの拡張機能だと思います。これにはいくつかの問題があります。最も重要なのは、新しいタブをハイジャックすることnullです。また、ユーザー名が返されるため、コピーされたパスが機能しません。私はOS Xを使用しています。作業。また、拡張機能と拡張機能IDの間のスラッシュがありません。
JDavis 2013

@JDavis-入力ありがとうございます!それは私のものです...スラッシュを修正しました-Macをまだテストしていません:s新しいタブの乗っ取りについては、クリックを節約できると思っていましたが、入力を取得したら、変更を検討します。
Shaihi 2013

1
我々は、拡張フォルダをどこにコピーするか?それを別の場所にコピーし、「解凍された拡張機能をロード...」しようとすると、「拡張機能の読み込みエラー」...「マニフェストファイルが見つからないか、読み取れません」が表示されました。
jbyrd 2015

45

署名されたCRXファイルには、ほとんどすべてのunzippersがbarfするヘッダーが含まれています。これは最も簡単な方法ではありませんが、bashコマンドラインから実行する方法を次に示します。

基本的な考え方は、元の署名されていないzipファイルが始まる場所を見つけ、CRXファイルをzipファイルにコピーし、CRXヘッダーを除外することです。

  1. hexdump -C the_extension.crx | more
  2. 出力でzipファイルの先頭を確認します。これはASCIIバイト「PK」です。私が試したサンプルでは、​​PKはオフセット0x132にありました。(CRX仕様を読むことから、この数は署名の長さが異なるため、ファイルごとに異なると思います。)この数は、次のステップで使用します。
  3. dd if=the_extension.crx of=the_extension.zip bs=1 skip=0x132 (skipパラメーターには、前のステップで見つけたオフセットを代入します。)
  4. 作成した.zipを解凍します。
  5. 解凍したディレクトリのファイルをいじってから、署名なし/解凍した拡張機能をChromeインストールにインストールするか、他のChrome拡張機能と同じように再パッケージします。

これを行うにはもっと簡潔な方法があると私は確信しています。バッシュの専門家、私の答えを改善してください。


3
素晴らしいヒント!私のPKオフセットも0x132
Stefan Schmidt

21
コマンドラインユーティリティで実際に解凍できましたunzip。それはヘッダーの追加の306バイトについて不平を言いましたが、とにかくそれをしました。
Lex R

2
unzip完全に動作します:warning [YouTubeCenter.crx]: 304 extra bytes at beginning or within zipfile (attempting to process anyway)
Navinが

hexdumpのオフセットをどのように計算しますか?私はpkを含む次の行を持っています00000230 63 d5 11 76 bf 9f 50 4b 03 04 14 00 08 08 08 00 |c..v..PK........|
kchoi

「Bashエキスパート」としての資格があるかどうかは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}}}')
わかり

9

いくつかのzipプログラムは、サティッシュのようなトラブルCRXを解凍していることに注意してくださいが説明-このような場合には、7 -ジップを使用してみてください- http://www.7-zip.org/


1
わあ!少なくともビスタでは、ファイル拡張子を変更する必要すらありません。7-zipはその悪い男の子の町に行きます!
JKirchartz、2011年

いいえ、違います。.crxを.zipに名前変更し、7-ZIPでZIPを開けないというエラーが表示されました。
Jez

2

私は他の回答を読み、他のいくつかのことに注意することが重要だと気づきました:

1.)Macユーザーの場合:[パッケージ化されていない拡張機能を読み込む...]をクリックすると、ライブラリフォルダーはデフォルトで非表示になり、(Macで[非表示のファイルを表示]オプションがオンになっている場合でも)Chromeのファインダーウィンドウに表示されない場合があります。

2.)拡張機能を含むサブフォルダーは、拡張機能のIDにちなんで名付けられたランダムな英数字の文字列です。これは、開発者フラグがtrueに設定されている場合、Chromeの拡張機能ページにあります。(拡張機能ページの右上のチェックボックス)


それでは#1の解決策は何ですか?私はすでに隠しフォルダを表示していますが、あなたが言うように、拡張ディレクトリの場所を選択しようとするとディレクトリが表示されません。
o_O 2016年

@o_O -これは屋に行くここに来て...長い間あったが、していますmacworld.com/article/2057221/...
jenming

2

(すでに述べた)私はこれをいくつかのChromeテーマ(長い間なくなっている... :-P)を作成しているときに見つけました

Chromeのテーマ、拡張機能などは単なる圧縮ファイルです。7-zipまたはWinRarを取得して解凍します。各拡張機能/テーマにはmanifest.jsonファイルがあります。manifest.jsonファイルをメモ帳で開きます。次に、コーディングがわかっている場合は、コードを変更します。他のいくつかのファイルがあります。マニフェストファイルを見ると、その目的を理解できる可能性があります。次に、すべてを変更できます...


1

.CRXファイルは.ZIPファイルに似ています。拡張子を変更して右クリックし、[ファイルの抽出]をクリックするだけです。

ファイルを抽出したら->ファイルを変更し、zipに追加して拡張子を.crxに戻します。

他の方法-> Chromeを開く->設定->拡張機能->開発者向けオプションを有効にする->解凍された拡張機能(変更された抽出ファイルフォルダー)を読み込み、拡張機能のパックをクリックします。

ソース


1

これで、ChromeはマルチユーザーなのでExtensions、OSユーザープロファイルの下にネストする必要があります。次に、Chromeユーザープロファイル、最初のChromeユーザーが呼び出されましたProfile 1、私のExtensionsパスはでしたC:\Users\ username \AppData\Local\Google\Chrome\User Data\ Profile 1 \Extensions\

あなたのものを見つけるためにナビゲートしますchrome://version/(私about:は怠惰のうちに使用します)。

に注意してProfile Path、追加\Extensions\してください。

これにより、この質問に関するこの情報がさらに最新のものになることを願っています。


1

シンプルな.zipアーカイブなので、.CRX拡張子のコードを変更することが可能です。拡張機能をダウンロードして、ソースコードを抽出し、変更(テストしてデバッグする)して、パッケージ化して.CRXファイルに戻すことができます。

私は単に.CRXの拡張機能をダウンロードし、ソースコードを抽出するために、このツールをGoogleで検索し、それが私の仕事:http://crxextractor.com

それが行うすべてのことは、.CRXファイル形式を解析し、ソースコードを含む実際の.zipを抽出することです。


0

Chromeのポータブルバージョンをインストールした場合、またはカスタムディレクトリにインストールした場合-上記の回答で参照されているディレクトリでは拡張機能を利用できません。

Chromeのショートカットを右クリックして、「ターゲット」ディレクトリを確認してください。そこから、上の1つのディレクトリに移動すると、User Dataフォルダーが表示され、上記の回答を使用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.