Hello,
In my application using FiddlerCore, I see that Windows Search Box on Windows 11 isn't able to make connections to the internet. I would like to be able to get this to work in some way but I'm not sure how.
I did some investigation by trying out Fiddler Everywhere and found that the same problems occurs most of the time, except sometimes when the root certificate is installed to machine store. I tried installing the certificate to machine store for my FiddlerCore application but it still didn't remedy the issue.
Please let me know if there's any solution!


In my program; I use Fiddler Core. When ran on a pc; it set's the proxy as it should but when trying to browse the network with the proxy on; i'm getting "Your connection is Not private"; error message on all browsers. Please see attached photos for reference. Here is my running code:
private void stopfiddler()
{
if (!FiddlerApplication.IsStarted())
{
}
else
{
FiddlerApplication.Shutdown();
}
}
public static void SavePreferences()
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
string cert = ConfigurationManager.AppSettings["fiddler.certmaker.bc.cert"];
string key = ConfigurationManager.AppSettings["fiddler.certmaker.bc.key"];
if (cert == null || key == null)
{
config.AppSettings.Settings.Add("fiddler.certmaker.bc.cert", FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.cert", null));
config.AppSettings.Settings.Add("fiddler.certmaker.bc.key", FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.key", null));
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
else
{
config.AppSettings.Settings["fiddler.certmaker.bc.cert"].Value = FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.cert", null);
config.AppSettings.Settings["fiddler.certmaker.bc.key"].Value = FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.key", null);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
}
public static bool IsCertCreated()
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
string cert = ConfigurationManager.AppSettings["fiddler.certmaker.bc.cert"];
string key = ConfigurationManager.AppSettings["fiddler.certmaker.bc.key"];
if (cert != null && key != null)
{
return true;
}
else
{
return false;
}
}
public static void RemoveFiddlerPreferences()
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Remove("fiddler.certmaker.bc.cert");
config.AppSettings.Settings.Remove("fiddler.certmaker.bc.key");
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name);
}
public static void LoadPreferences()
{
string cert = ConfigurationManager.AppSettings["fiddler.certmaker.bc.cert"];
string key = ConfigurationManager.AppSettings["fiddler.certmaker.bc.key"];
if (!string.IsNullOrEmpty(cert) && !string.IsNullOrEmpty(key))
{
FiddlerApplication.Prefs.SetStringPref("fiddler.certmaker.bc.cert", cert);
FiddlerApplication.Prefs.SetStringPref("fiddler.certmaker.bc.key", key);
}
}
private void Installcert()
{
if (IsCertCreated())
{
}
else
{
BCCertMaker.BCCertMaker certProvider = new BCCertMaker.BCCertMaker();
certProvider.CreateRootCertificate();
X509Certificate2 rootCert = certProvider.GetRootCertificate();
// Create a certificate store and add the root certificate to it
X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
store.Add(rootCert);
SavePreferences();
}
}
private void Remove()
{
using (var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine))
{
store.Open(OpenFlags.ReadWrite);
var certificatesToRemove = store.Certificates
.Cast<X509Certificate2>()
.Where(c => c.SubjectName.Name.ToLower().Contains("DO_NOT_TRUST_FiddlerRoot"))
.ToList();
foreach (var cert in certificatesToRemove)
{
string certPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, cert.Thumbprint + ".cer");
if (File.Exists(certPath))
{
File.Delete(certPath);
}
store.Remove(cert);
}
RemoveFiddlerPreferences();
store.Close();
MessageBox.Show("Deleted");
}
}
private void appentext(string value)
{
if (InvokeRequired)
{
return;
}
}


So; in one of my applications; I am attempting to try to find text within a decoded response. The problem is, that response changes every day. However, the format as you see below always stays the same BEFORE the numbers that are underlined. Only the numbers change. The end goal is to find this response; and then print it to a textbox. How can I accomplish this?

I keep getting this error, no matter what I'm doing... I've tried both SaveRequestBody and SaveResponseBody. What am I doing wrong?

Is it possible with Fiddler Core to completely replace a response like its possible with Fiddler Classic to do in the "RAW" section if you put a breakpoint before the Response?
Thanks
