These are my notes on recovering your hacked Joomla website (de-hack/dehack/dehacking).
The best prevention is to have good reliable backups.
If you receive reports from a customer that their website is hacked you need to look at their site from your computer.
Precautions
What should I do to check?
This by far is the best way to recover your joomla website.
This will replace all files and your database, so if youor backup is really old or out of date you should consider if this is the best option for you.
The site should now be running but it might not be clean, backups can still have issues. Perform the Hack Cleanup to finish.
If you do not have any backups you will need to repair your Joomla installation using the following procedure. This is not the preferred option.
Full Package Joomla System Files Re-Install
This section should re-enable Joomla but malware might be present in 3rd Party Apps and in random folders all over the place and should not be counted on as fully cleaning your website.
This section will also allow you to get a list of installed extensions and their version numbers. You can get these from your database if you know what you are doing.
You can move to the 'Perfom Hack Cleanup' section if you have time contraints or are happy that the infection is not envasive, this is not recommended. You should carry on with the next section.
Full Fresh Install with 3rd Party Apps brought back in
This is a lot more thourough in cleaning you site but requires a lot more work. This assumes you have followed the section above and have a backup of the infected site and a list of extensions.
The site should now be running but it might not clean yet. Perform the Hack Cleanup to finish.
These instructions should be done for all versions of recovery and help prevent getting re-infected and remove any straggling malware or unwanted behaviour.
Users and Passwords
RSFirewall
If already installed upgrade it if it is not the latest version.
Upgrade Joomla and Extensions
Backup again before doing this sections for safety.
Joomla Settings
Final Operations
I use cPanel for hosting so this is what I do but you can easily translate these in to any other hosting platform
Password Checklist
When fixing multiple websites you need to record the username and passwords. I use a text file with the following in:
This for me is a very important process to know. For my longer articles I mainly create them in office and then copy and then paste them in to my WYSIWYG (JCE Editor). This method allows me to write the articles quicker without fear of time outs and lost content etc.
With putting most of my articles on my website there is no need to keep the word documents as this would get tiresome and could be confusing. There is a downside to this. If you want any of the articles in a word format you no longer have the original and the article has been converted in to a HTML page.
Until now I did not know how to convert the Joomla articles back to Word Documents and i was use to that when I copied the document back from the website and pasted into Word 2010 the results were undesireable and not how I remembered the original word document, the formatting could be loast, the wrong font was being used and the heading references were missing.
I will now show you how to completly restore a Word document from a Joomla article. You should note that this will work with other content such as K2 articles.
You now have a word version of your HTML article. The headings and formatting is maintained. You can also paste the word document back into a WYSIWYG with no further issues.
Notes
You now have a word version of your HTML article, there might be a few things you need to sort out but the headings and formatting is maintained. You can also paste the word document back into a WYSIWYG with no further issues.
Notes
This keeps the formatting from the website but does not correctly attach heading status to the headings even though they are in the nav pane. You can merge the styles which seems to restore the fonts but not the heading.
If you use this method you will have to use the 'Change Style' feature and manually set the headings again. There is also a chance that there will be font settings in the document that will be copied back in to a Joomla rticle should you want to try and use this code back in the joomla article, perhaps after editing it.
They might be stuff that cannot be translated properly like code highlighting, but these can be sorted out manually as they most likely never existed in a word document anyway
Office 2016 - This might be more forgiving for direct pasting of content as it is a lot newer and because HTML and document formats probably have more parity
More to come as I do the project.
Notes
my methods makes the phone the microscope, not adding one onto it
Before converting to GPT it is important to know why and if you can convert. This article should help you make that decision.
MBR is standard method to present partitions to the bios so operating systems can load. The BIOS is hardcoded to read the first part of any hard drive, this is the MBR. In the MBR is stored the locations of the primary partitions. Each physical disk can have up to 4 primary partitions and within this you can create an extended partition which can hold up to a theoretical limit of 25 partitions (I think!).
Only primary partitions can be booted from and to boot from a partition, it must be set to active.
You can only have 1 active partition per physical disk so this limits the bootable partitions on a hard disk using MBR to 1. MBR is now known as a legacy method. MBR is limited to drives under 2.2TiB in size as it cannot address any larger than this.
In the bios there are instructions to load and execute certain files that are found in the root of the active partition and because these instructions are hardcoded in the bios it enables your OS to be loaded even after power down. Operating systems know this and place the appropriate files for the boot procedure in the root. If these files get corrupted or deleted the OS will fail to load.
GPT is the new way of addressing partitions on a drive. I believe Linux has been using this for a while and it is not limited to 2.2TiB drive sizes amongst other things.
GPT hard disk configurations also put a dummy MBR in place that reports the whole disk as ‘allocated’ (check this) to prevent Non-GPT aware programs corrupting the disk.
GPT Notes
Windows 10 needs a EFI partition to be able to boot windows that is located on a GPT hard disk.
The easiest way to clear this up is to describe the different technologies used by Windows 10 in this new setup.
This article is not finished and is just a holding page for now and to hold collections of code i find:
Video in webpages can make a website look a lot more expensive and professional but you must make sure you have enough bandwidth to cope as it can be quite intensive.
<video class="background-video" aria-role="img" aria-label="PrestaShop" data-mp4-src="//img-cdn.prestashop.com/home/product-video-bg.mp4" data-webm-src="//img-cdn.prestashop.com/home/product-video-bg.webm" data-poster="//img-cdn.prestashop.com/home/bg-video.jpg" autoplay="autoplay" muted="muted" loop="loop" volume="0" canplay="false"> <source type="video/mp4" src="//img-cdn.prestashop.com/home/product-video-bg.mp4"> <source type="video/webm" src="//img-cdn.prestashop.com/home/product-video-bg.webm"> </video>
Links
The following HTML code formed an email I received from Outlook.com and as you can see it has working CSS styles embedded in it.
I have pasted the code exactly as it appeared (ie. non-tabulated). You might be able to use tabluated HTML code but I cannot be 100% sure. The CSS code inside the <script> tags has been remmed out and this might be intentional.
Try adding your own code and extend this example. I would also mess with all the other elements to see what they do.
HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Hello</p>
<p><br>
</p>
<p>From QuantumWarp.com<br>
</p>
</div>
</body>
</html>
This is a weird one. I updated my Samsung S2 to Cyanogenmod 13.0 (cm-13.0-20160528-NIGHTLY-i9100 / Android 6.01) which went well but every time I tried installing the GApps I got the error ’Not enough room on the system partition to install’. At first I check my drives and there was room on the SD card and data partition. These are not the system partition which was my first mistake. The system partition on an S2 is on 500mb in size so it is only just enough room for CM13.0 but not GAPPS as well.
In simple terms we need to alter the partition sizes. The S2 comes with a 16GB flash chip but for some reason Samsung on gave 500mb to the system partition and 2.0GB to the data partition.
We will make the system partition larger and while we are at it, make the data partition bigger. System partition will go to 1GB and the data partition will go to 6GB. The Internal SD will take the remainder and ends up about 7.5GB
Now I have given you the idea of what we are going to achieve, here come the tricky bit. I have learnt this information from many different places to put together simple instructions especially for those who are not experienced at flashing but I do encourage you to read my instructions and then have a look at the links and research I have put together just in case I have got anything wrong.
To repartition the phone we will use the REPIT from Lanchon but that needs to have an IsoRec compatible Bootloader/Recovery in place otherwise issues will occur and could possibly brick your phone.
The ROM being loaded also needs to be IsoRec compatible I believe otherwise it might not load correctly. I am not 100% about this.
Because of how things are you most likely cannot just install the latest version of TWRP which is IsoRec compatible because it is only available in an img format. To get around this we will install an older version of TWRP which is available in zip format that can be installed from most Custom Recoveries. Once this old version of TWRP is installed we can then use it to install the newer version in the img package format. There are other ways to install the img package:
NB: I don’t think you can install the img packages via ODIN. ODIN is file system aware and I think img are binary files
Make sure your battery is charged and perform these actions whilst the phone is plugged into the mains.
These instructions are geared for my Samsung Galaxy S2 i9100 Int
1. Download the following files to your PC
2. Rename the REPIT file
lanchon-repit-20160415-system=1.0-data=same-sdcard=max-preload=min+wipe-i9100.zip
-->
lanchon-repit-20160415-system=1.0-data=6-sdcard=max-preload=min+wipe-i9100.zip
3. Copy the following files to your phones Internal SD Card
4. Backup all that is important to you, pick whatever method you prefer. A nandroid and a files backup is the best. Copy the backup of the phone on to your PC
We now are going to repartition the drive which is very simple, when you know how. This will give a 1gb system partition and a 5.91GB data partition, the internal SD Card will take the rest of the space which is about 7.49GB
You now should have a Samsung S2 with a much larger system and data drive. Dont forget you can always re-run this process and make the drives larger, but for now you can just use your phone for flashing ROMs as you have in the past. The only exceptions I can see is do not flash stuff by ODIN as I do not know if it will break anything.
These are my notes I made whilst I figured all of this out, which would of not been possible without the guys who did the all of the programming.
Heimdall v1.4.0 Copyright (c) 2010-2013, Benjamin Dobell, Glass Echidna http://www.glassechidna.com.au/ This software is provided free of charge. Copying and redistribution is encouraged. If you appreciate this software and you would like to support future development please consider donating: http://www.glassechidna.com.au/donate/ Initialising connection... Detecting device... Claiming interface... ERROR: Claiming interface failed!
It is possibly to directly embed an image in to the HTML rather than linking it as you normally would. This is very useful when you want to write contained articles, some apps or where you are not able to link to external assets.
The following technique embed a binary image directly within an <img> tag
NB: Dont use this method for large images.
Example

HTML
This code is not complete because it is sending my search funny.
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAGQAZADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL" alt="">
This is the most efficient way of doing eBay and is especially useful when you are doing many items
1.jpg, 2.jpg, 3.jpg etc......
tn_1.jpg, tn_2.jpg, tn_3.jpg etc......
{Website eBay Folder}/{Item Name}/
We now have the images uploaded on our webserver but need to create a HTML gallery to use them.
This code is a nicely layed out basic gallery that you can use for your eBay listings but hosting the images on your own server saving you money and allowing you to add as many images as you want. I use the free program Easy Thumbnails for creating the thumbnails.
HTML
<p>Click on the images for a larger version</p> <p> <a href="https://quantumwarp.com/ebay/items/bottle/1.jpg" style="padding: 5px;"><img alt="" src="http://quantumwarp.com/ebay/items/bottle/tn_1.jpg" /></a> <a href="https://quantumwarp.com/ebay/items/bottle/2.jpg" style="padding: 5px;"><img alt="" src="http://quantumwarp.com/ebay/items/bottle/tn_2.jpg" /></a> <a href="https://quantumwarp.com/ebay/items/bottle/3.jpg" style="padding: 5px;"><img alt="" src="http://quantumwarp.com/ebay/items/bottle/tn_3.jpg" /></a> <a href="https://quantumwarp.com/ebay/items/bottle/4.jpg" style="padding: 5px;"><img alt="" src="http://quantumwarp.com/ebay/items/bottle/tn_4.jpg" /></a> <a href="https://quantumwarp.com/ebay/items/bottle/5.jpg" style="padding: 5px;"><img alt="" src="http://quantumwarp.com/ebay/items/bottle/tn_5.jpg" /></a> <a href="https://quantumwarp.com/ebay/items/bottle/6.jpg" style="padding: 5px;"><img alt="" src="http://quantumwarp.com/ebay/items/bottle/tn_6.jpg" /></a> <a href="https://quantumwarp.com/ebay/items/bottle/7.jpg" style="padding: 5px;"><img alt="" src="http://quantumwarp.com/ebay/items/bottle/tn_7.jpg" /></a> </p>
Build the product specific gallery HTML code
The process is fairly easy and straight forward but I will write it down anyway. You only need to do this if you are doing multiple images for you item and is to bypass eBay costs for extra images.
That should be it, you have made one complete eBay product and listed it using TurboLister.
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABACiiigD//Z" alt="">
This is a page to display various client locations utilising BT Google Map Plugin. this layout is fully responsive via the Joomlashine template grid layout.
Tel: 01772 123456
Mobile: 07747 123456
Tel: 01772 123456
Mobile: 07747 123456
Tel: 01772 123456
Mobile: 07747 123456
Tel: 01772 123456
Mobile: 07747 123456
HTML
<h1>Locations</h1>
<div class="grid-layout">
<div>
<h2>Manchester</h2>
<address>Rocky Lane<br />Skerton<br />Manchester<br />Cumbria<br />MA1 1QW</address>
<p>Tel: 01772 123456</p>
<p>Mobile: 07747 123456</p>
</div>
<div>
{lo admodule mod_bt_googlemaps,Locations - Manchester}
</div>
</div>
<p> </p>
<div class="grid-layout">
<div>
<h2>Manchester</h2>
<address>Rocky Lane<br />Skerton<br />Manchester<br />Cumbria<br />MA1 1QW</address>
<p>Tel: 01772 123456</p>
<p>Mobile: 07747 123456</p>
</div>
<div>
{lo admodule mod_bt_googlemaps,Locations - Manchester}
</div>
</div>
<p> </p>
<div class="grid-layout">
<div>
<h2>Manchester</h2>
<address>Rocky Lane<br />Skerton<br />Manchester<br />Cumbria<br />MA1 1QW</address>
<p>Tel: 01772 123456</p>
<p>Mobile: 07747 123456</p>
</div>
<div>
{lo admodule mod_bt_googlemaps,Locations - Manchester}
</div>
</div>
<p> </p>
<div class="grid-layout">
<div>
<h2>Manchester</h2>
<address>Rocky Lane<br />Skerton<br />Manchester<br />Cumbria<br />MA1 1QW</address>
<p>Tel: 01772 123456</p>
<p>Mobile: 07747 123456</p>
</div>
<div>
{lo admodule mod_bt_googlemaps,Locations - Manchester}
</div>
</div>
<p> </p>