-
Notifications
You must be signed in to change notification settings - Fork 40
/
index.html
executable file
·301 lines (267 loc) · 15.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-FVTW7P4');</script>
<!-- End Google Tag Manager -->
<title>Get .CRX Chrome Extension file, it's source code and download .CRX to your computer.</title>
<meta name="keywords" content="crx, chrome, extension, get, extract, download, source, code"/>
<meta name="description" content="Get Chrome Extension as .crx file and extract it's source code in one click, right in your browser."/>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<meta name="author" content="Vladimir Ignatev">
<link rel="icon" type="image/png" href="images/favicon.png">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9423687387443767"
crossorigin="anonymous"></script>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-FVTW7P4"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<div class="breakthrough center nomargin">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9423687387443767"
crossorigin="anonymous"></script>
<!-- Basic responsive display ad -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-9423687387443767"
data-ad-slot="2749869570"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
<div class="tool-wrapper">
<div class="logo"><img src="images/logo.png" height="50" alt="crx extractor logo" /></div>
<div class="welcome">
<div class="row">
<div class="twelve columns">
<div class="container">
<div class="twelve columns">
<div class="header-wrapper">
<h1>Get .crx Chrome Extension file and extract source code in one click</h1>
</div>
<div class="cta-wrapper">
<button class="button-primary cta-button" id="cta-letsstart" tabindex="1">Let's start</button>
</div>
</div>
</div>
</div>
<div class="twelve columns adsense-top-side hide-small">
<div class="adsense-wrapper hide-small" style="margin-top:-17rem;">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9423687387443767"
crossorigin="anonymous"></script>
<!-- Basic responsive display ad -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-9423687387443767"
data-ad-slot="2749869570"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
</div>
</div>
</div>
<div class="tool container" style="display: none;">
<div class="row">
<div class="five columns">
<h3 class="center">Get source code</h3>
<div id="drop-zone">
<div class="thanks" style="display: none;">
<p>You're awesome! Thank you! ❤</p>
</div>
<div class="ui-wrapper">
<p>Drop .crx file here or click <br/>the button to choose the file</p>
<input type="file" name="file" id="file" tabindex="5" />
</div>
<div class="download-btn-wrapper">
<a href="#" style="display:none;" tabindex="6" class="download button button-primary">Download source</a>
</div>
</div>
<div class="download-source-err" style="display: none;">
<p></p>
</div>
</div>
<div class="seven columns">
<div class="container">
<div class="row">
<div class="twelve columns">
<h3 class="center">Download .CRX file from the <a href="https://chrome.google.com/webstore/category/extensions" target="_blank" rel="nofollow">Chrome WebStore</a></h3>
</div>
</div>
<div class="row">
<div class="twelve columns">
<input type="text" tabindex="2" id="crx-download-input" class="u-full-width" placeholder="Paste the URL of Chrome Extension here" />
<button class="download-crx-ok button-primary" tabindex="3">OK</button>
<a href="#" style="display: none;" class="download-crx button button-primary" tabindex="4">Get .CRX</a>
<p id="crx-suggestion"><i class="typcn typcn-arrow-sync"></i><span class="name">extension</span> <span class="link">link</span></p>
</div>
</div>
<div class="row">
<div class="twelve columns">
<div class="download-crx-err" style="display: none;">
<p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="article-wrapper">
<div class="article container">
<div class="breakthrough row">
<div class="row">
<h3 class="center">Turn any Chrome extension into white box. <br/>Learn from code. Debug. Pentest it!</h3>
</div>
</div>
<div class="row">
<div class="four columns">
<h3>How to use CRX Extractor?</h3>
<ol>
<li>Drop the <code>.crx</code> file into the placeholder</li>
<li>Wait until it gets processed</li>
<li>Click "Download" and get source code of Chrome extension as .zip archive with all related metadata</li>
</ol>
<h3>How to get .crx Chrome Extension File?</h3>
<ol>
<li>Head your browser to <a href="https://chrome.google.com/webstore/category/extensions" target="_blank" rel="nofollow">Chrome WebStore<span class="typcn typcn-tabs-outline"></span></a></li>
<li>Find an extension you'd like to save and copy the URL from the address bar of your browser</li>
<li>Paste the link to the right pane on CRXExtractor and click "OK". Then click the appeared button. The download should start immediately.</li>
</ol>
</div>
<div class="four columns">
<h3>How CRX Extractor works?</h3>
<p>To get a Chrome Extension source code, the utility parses the provided
.crx file, extracts 'magic' header and the stored code signature.</p>
<p>Along with meta-data, the .crx file contains .zip-archive. This archive
contains the extension manifest, source code, popup.html and all related
source files.</p>
<p><strong>CRX Extractor</strong> has been created with the help
of an official Google documentation describing
<code>.crx</code> Chrome Extensions file format.</p>
<p>Want to know more about this tool and about the .CRX file format?
<a href="about.html">Check out the about page</a>!</p>
</div>
</div>
<div class="breakthrough border-top border-bottom row center">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9423687387443767"
crossorigin="anonymous"></script>
<!-- Basic responsive display ad -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-9423687387443767"
data-ad-slot="2749869570"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
<div class="row">
<div class="six columns">
<h3>Motivation</h3>
<p>The problem of Chrome Extensions security is well-known. Extensions
have enormous power, because they allowed to access history and cookies
of your browser and even change the content of the page you see.
This opens a huge amount of vectors for fishing attacks, cookie stuffing and even spyware,
opening up opportunities for malicious code to exploit your network resources.</p>
<p>Attackers can track your behaviour in Internet and your geolocation
as well. They can steal your Facebook account or authentication cookies
for online banking site you trust.</p>
<p>The fact that the <code>.crx</code> format documented doesn't make
it easy to manipulate. That's why this tool was created.</p>
<p>If you get Chrome Extension source code from .crx, you get unchained in researching
it's behaviour, find a malicious code, and easily learn from code
to build better user experiences and improve Chrome browser use cases
and defend yourself.</p>
<h3>Learn more</h3>
<ol>
<li>Learn how to create your first Chrome Extension <br/>with <a href="https://developer.chrome.com/extensions/getstarted" rel="nofollow" target="_blank">Getting Started guide<span class="typcn typcn-tabs-outline"></span></a></li>
<li><a href="https://developer.chrome.com/extensions/crx#scripts" rel="nofollow" target="_blank">Packaging of a Chrome Extension into .crx<span class="typcn typcn-tabs-outline"></span></a></li>
<li><a href="http://www.darkreading.com/risk-management/google-chrome-extensions-6-security-facts/d/d-id/1103551" rel="nofollow" target="_blank">Google Chrome Extensions: 6 Security Facts<span class="typcn typcn-tabs-outline"></span></a></li>
</ol>
</div>
<div class="six columns">
<h3>Privacy and personal data</h3>
<p>Get Chrome Extension source code without any advanced tools. CRXExtractor turns the extraction
into an automated process accomplished solely on the browser side. This means that we do not store any of your personal data or usage patterns.</p>
<p>However, CRXExtractor use third-party tools to improve the quality of service. Please read carefully privacy info pages of Google Analytics and Google AdSense.</p>
<h3>Copyrights notice</h3>
<p>The .crx extractor itself is distributed as is, under terms of GNU GPL v3.
To obtain a source code of the tool, use the GitHub link from the footer.</p>
<p>Please use all the data you obtain using the tool with the respect to
assigned copyrights. Don't redistribute or modify obtained content
if you aren't permitted to act.</p>
<h3>Communicate</h3>
<div id="communicate"></div>
<p>We are at the ProductHunt and Twitter! Rate us, follow us, suggest us a better idea!</p>
<iframe src="https://c.yvoschaap.com/producthunt/counter.html#href=http%3A%2F%2Fwww.producthunt.com%2Fr%2F339d34a3779743%2F73424&layout=tall" width="56" height="65" scrolling="no" frameborder="0" allowtransparency="true"></iframe><br/>
<a href="https://twitter.com/intent/tweet?screen_name=crxextractor" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @CRXExtractor</a><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9423687387443767"
crossorigin="anonymous"></script>
<ins class="adsbygoogle"
style="display:block"
data-ad-format="autorelaxed"
data-ad-client="ca-pub-9423687387443767"
data-ad-slot="1852501122"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
</div>
</div>
</div>
<div class="footer-wrapper">
<div class="footer container">
<div class="row">
<div class="six columns copyrights hide-small">
<p>© 2016-2022 CRXExtractor.<br/>
© 2015 Google Inc, used with permission. Google, Chrome, Chrome WebStore are registered trademarks of Google Inc.</p>
<p>Photo of Felix Lindner by Die Welt, "Wie "gute" Hacker Firmen im Cyberkrieg helfen"</p>
<br/>
<!-- Place this tag where you want the button to render. -->
<a class="github-button" href="https://github.com/vladignatyev" data-style="mega" data-count-href="/vladignatyev/followers" data-count-api="/users/vladignatyev#followers" data-count-aria-label="# followers on GitHub" aria-label="Follow @vladignatyev on GitHub">Follow @vladignatyev</a>
<a class="github-button" href="https://github.com/vladignatyev/crx-extractor" data-icon="octicon-star" data-style="mega" data-count-href="/vladignatyev/crx-extractor/stargazers" data-count-api="/repos/vladignatyev/crx-extractor#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star vladignatyev/crx-extractor on GitHub">Star</a>
</div>
<div class="two columns copyrights"> </div>
<div class="three columns links">
<a href="https://twitter.com/intent/tweet?screen_name=crxextractor" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @CRXExtractor</a><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
<iframe src="https://c.yvoschaap.com/producthunt/counter.html#href=http%3A%2F%2Fwww.producthunt.com%2Fr%2F339d34a3779743%2F73424&layout=tall" width="56" height="65" scrolling="no" frameborder="0" allowtransparency="true"></iframe>
<a href="about.html">About</a>
<a href="contact.html">Contact</a>
<a href="terms-of-use.html">Terms Of Use</a><br/>
<a href="/modtips/index.html">🎁 BONUS: Minecraft Modding Tips</a>
<a href="/modtips/actual-guns-cso.html">🎁 BONUS: Actual Guns CSO</a>
<a href="/modtips/actual-guns-3d.html">🎁 BONUS: ActualGuns 3D</a>
<a href="/photos/index.html">HQ Backgrounds and photos for your website or promo</a>
</div>
</div>
</div>
</div>
<link rel="stylesheet" type="text/css" href="css/stylesheet.min.css">
<link rel="stylesheet" type="text/css" href="css/typicons.min.css">
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Raleway" lazyload>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/app.min.js"></script>
<!-- Place this tag in your head or just before your close body tag. -->
<script async defer src="https://buttons.github.io/buttons.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-82390179-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>