Mohammed Fayed Blog


Windows Error 809

Error 809: The network connection between your computer and the VPN server could not be established because the remote server is not responding. This could be because one of the network devices (e.g, firewalls, NAT, routers, etc) between your computer and the remote server is not configured to allow VPN connections. Please contact your Administrator or your service provider to determine which device may be causing the problem.

To fix this error, a one-time registry change is required because the VPN server and/or client is behind NAT (e.g. home router). run the following from an elevated command promptYou must reboot your PC when finished.

  • For Windows Vista, 7, 8.x and 10

    REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f
  • For Windows XP ONLY 

    REG ADD HKLM\SYSTEM\CurrentControlSet\Services\IPSec /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f

Although uncommon, some Windows systems disable IPsec encryption, causing the connection to fail. To re-enable it, run the following command and reboot your PC.

  • For Windows XP, Vista, 7, 8.x and 10

    REG ADD HKLM\SYSTEM\CurrentControlSet\Services\RasMan\Parameters /v ProhibitIpSec /t REG_DWORD /d 0x0 /f



 I faced an issue, that Windows 10 desktop icons width become too large and only one icon was appearing on the screen, I tried every method and option I know in the GUI but it was not fixed, finally the fix was done through the registry key:

HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics

I updated the [IconSpacing, IconVerticalSpacing] and set them to -1125

then I signed out and signed in again 

  1. Navigate to /lib/systemd/system in your terminal and open docker.service file
    vi /lib/systemd/system/docker.service
  2. Find the line which starts with ExecStart and adds -H=tcp:// to make it look like
    ExecStart=/usr/bin/dockerd -H=fd:// -H=tcp://
  3. Save the Modified File
  4. Reload the docker daemon
    systemctl daemon-reload
  5. Restart the container
    sudo service docker restart

 I have created a RemovePreload.reg text file with the following content, this way this fix can easily be re-applied every time without navigating the registry:

Windows Registry Editor Version 5.00
[-HKEY_USERS\.DEFAULT\Keyboard Layout\Preload]
To use this, save it in a text file and change the extension from .txt to .reg. Then whenever it comes back, you can just double click it and restart or sign out.

In windows 10 the FIPS ( Federal Information Processing Standards ) policy is enabled by default which means that windows will drop the password part from the database connection string which will give you an error like:

System.Data.Entity.Core.ProviderIncompatibleException: An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See for information on DbContext and connections. See the inner exception for details of the failure.

---> System.Data.Entity.Core.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string.

---> Oracle.ManagedDataAccess.Client.OracleException: ORA-01017: invalid username/password; logon denied

To solve this issue we have to disable the FIPS security policy by setting this key in windows registry:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy] to zero

I came across an application that I want to explore it's private files (especially the downloaded media files) and after searching some try and error I found that an easy way to to it is by using ADB tools to backup the application to my PC and then decompress and decrypt  the backup file (because my mobile is encrypted and so the backup must be encrypted too) and then extract the media files :)

1- I used this ADB installer so I don't have to install the full SDK.

2- Then I downloaded android-backup-extractor to extract the the backup file.
3- if you are using Java 8 Update 161 or later skip this step as Oracle's release notes for Java 8 Update 161, stated that unlimited cryptography is enabled by default.

and to be able to decrypt the backup file you will need to download Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 or  Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8 according to your java run-time version.

then I executed the bellow command :

adb backup -noapk com.MyApp.AppName


java -jar abe-all.jar unpack backup.ab backup.ab.tar [MyPassword]

like :

λ adb backup -noapk com.MyApp.AppName
Now unlock your device and confirm the backup operation.

λ java -jar abe-all.jar unpack backup.ab backup.ab.tar [MyPassword]
Calculated MK checksum (use UTF-8: true): C15A850070F1791D786135F7ECCC96053B63F55374EB46CEFA4C52C1B3219D44
0% 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%
311480832 bytes written to backup.ab.tar.

From Wikipedia :

In computing, a symbolic link is a term for any file that contains a reference to another file or directory in the form of an absolute or relative path and that affects path-name resolution.

How to Create Symbolic Links in Windows :

we can use MKLINK command in windows to create links to folder or files, for folder I use the syntax :
> mklink /J Link Target

Sample :

> mklink /j myFolder D:\fayed\myOriginalFolder
Junction created for myFolder  <<===>> D:\fayed\myOriginalFolder

The full command option is :

λ mklink
Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    specifies the new symbolic link name.
        Target  specifies the path (relative or absolute) that the new link
                refers to.