Skip to content

Commit 2dd27af

Browse files
committed
deobfuscating code
1 parent cf9fac8 commit 2dd27af

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

content/academy/anti_scraping/techniques/fingerprinting.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,14 +186,24 @@ Built-in JavaScript encoding functions are used to transform the code into, for
186186

187187
## Detecting fingerprinting scripts
188188

189-
Because of how common it has become to obfuscate fingerprinting scripts, browser extensions such as [**Don't Fingerprint Me**](https://github.com/freethenation/DFPM) have been created to help detect them. In the extension's window, you can see a report on which functions commonly used for fingerprinting have been called, and which navigator properties have been accessed.
189+
As mentioned above, many sites obfuscate their fingerprinting scripts to make them harder to detect. Luckily for us, there are ways around this.
190+
191+
### Manual de-obfuscation
192+
193+
Almost all sites using fingerprinting and tracking scripts try to protect them as much as much as they can. However, it is impossible to make client-side JavaScript immune to reverse engineering. It is only possible to make reverse engineering difficult and unpleasant for the developer. The procedure used to make the code as unreadable as possible is called [obfuscation](https://www.techtarget.com/searchsecurity/definition/obfuscation#:~:text=Obfuscation%20means%20to%20make%20something,code%20is%20one%20obfuscation%20method.).
194+
195+
When you want to dig inside the protection code to determine exactly which data is collected, you will probably have to deobfuscate it. Be aware that this can be a very time-consuming process. Code deobfuscation can take anywhere up to 1-2-days to be at a semi-readable state.
196+
197+
We recommend watching some videos from [Jarrod Overson on YouTube](https://www.youtube.com/channel/UCJbZGfomrHtwpdjrARoMVaA/videos) to learn the tooling necessary to deobfuscate code.
198+
199+
### Using browser extensions
200+
201+
Because of how common it has become to obfuscate fingerprinting scripts, there are many extensions help identify fingerprinting scripts due to the fact that browser fingerprinting is such a big privacy question. Browser extensions such as [**Don't Fingerprint Me**](https://github.com/freethenation/DFPM) have been created to help detect them. In the extension's window, you can see a report on which functions commonly used for fingerprinting have been called, and which navigator properties have been accessed.
190202

191203
![Don't Fingerprint Me extension window]({{@asset anti_scraping/techniques/images/dont-fingerprint-me.webp}})
192204

193205
This extension provides monitoring of only a few critical attributes, but in order to to deceive anti-scraping protections, the full list is needed. However, the extension does reveal the scripts that collect the fingerprints.
194206

195-
Because browser fingerprinting is also a big privacy question, there are many extensions help identify fingerprinting scripts.
196-
197207
## [](#anti-bot-fingerprinting) Anti-bot fingerprinting
198208

199209
On websites which implement advanced fingerprinting techniques, they will tie the fingerprint and certain headers (such as the **User-Agent** header) to the IP address of the user. These sites will block a user (or scraper) if it made a request with one fingerprint and set of headers, then tries to make another request on the same proxy but with a different fingerprint.

0 commit comments

Comments
 (0)