Code Forum Application

TableFlipGod

Active Coder
May 13, 2019
126
25
29
14
Do you hate using your browser or is it too slow?

Well i got the solution for you!

Code Forum App!

Its light weight, portable, and most of all EASY TO USE. ITS JUST 1 CLICK AWAY FROM CODE FORUM BEING ON YOUR DEVICE

Not usable on mac or Linux. ( coming soon )

DOWNLOAD

CODE ON!
 
Last edited:
D

Dan-Kode

Guest
I think an App for CodeForum would be quite good. But at this moment in time, it's not worth it. I think Malcolm should focus his Efforts on growing the Community and creating Challenges for us to participate in(That also includes getting that CodeForum-Github Page filled with Content)
 
D

Dan-Kode

Guest
Well, from what I've tested so far, it just displays the Website and nothing else. Another thing is that when I booted-up the Application, Windows gave me a Warning, saying that my PC will be at risk if I do happen to run it. So either that Application has some sketchy code in it(Which if it does, then do remove it) or it's simply just an Application which Windows finds untrustworthy.
 

Dnyan

New Coder
Jun 4, 2019
13
3
4
I too will love to see an app which is purely a code forum app, instead of discord app or a webview.

Hope @Malcolm will make it happen by this year end or so.

it also true that, instead of nothing, it is always better to have something on finger tips.

Your website have very great look and some good dev too.

Thanks for making this app available
 
D

Dan-Kode

Guest
Of course, @TableFlipGod is the one who will maintain the application but is not in the burner for what I have to do. But from the screenshots and video I received, it looks pretty good!
As @Malcolm, said. He doesn't have Plans for an App nor' will he be the one Developing and Maintaining everything.
 

Tealk

Active Coder
Jun 5, 2019
169
39
28
SysAdmin
Anzah.Tools
It doesn't make any sense to create an app anymore today. The effort is not worth it because everything is created with Responsive Webdesign.
 
D

Dan-Kode

Guest
I actually don't see the point in making a Website into an App. Yeah, sure. It's fine if it's more an Educational-App or a News-App. But the thing about this is that it's for PCs. I don't really see the point in making an App for CodeForum.
 
D

Dan-Kode

Guest
You do realize that it's just a downloadable Version of CodeForum.org that displays the Website in an Application.
 

sn0w

Coder
Jun 6, 2019
42
19
8
[DATA EXPUNGED]
So either that Application has some sketchy code in it(Which if it does, then do remove it)
I decided to take a little look at this and find out why so many programs detect it as malicious.
TL;DR: It doesn't do anything malicious, but it's using "active obfuscation" which triggers false positives in AV software.

For whatever reason, the OP decided to obfuscate their program.
When you open it you're greeted by this:



The actual code sits in a static byte-array which is loaded and "decrypted" at runtime:



Fortunately the obfuscator doesn't use any kind of actual encryption,
so we can just reverse this process by copy-paste'ing the Decrypt(P_0, P_1) method into an empty C# project.

These are the 3 lines of code that are required to get the raw project back:
C#:
//
// Decrypt just like the program itself does it
// "Original" contains the copy-pasted code from codeforum.exe
//
GCHandle gCHandle = Original.Decrypt(Original.payload, 3928749853u);
byte[] decryptedAssembly = (byte[])gCHandle.Target;

// Then just save the COFF somewhere and we're done
File.WriteAllBytes("codeforum.coff", decryptedAssembly);
Then we can just throw the generated COFF file into a decompiler and we have the actual code.



Nothing shady going on here.
The whole program logic basically boils down to this:

C#:
private void InitializeComponent()
{
    System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CodeForum.Form1));
    webBrowser1 = new System.Windows.Forms.WebBrowser();
    SuspendLayout();
    webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill;
    webBrowser1.IsWebBrowserContextMenuEnabled = false;
    webBrowser1.Location = new System.Drawing.Point(0, 0);
    webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
    webBrowser1.Name = "webBrowser1";
    webBrowser1.Size = new System.Drawing.Size(800, 450);
    webBrowser1.TabIndex = 0;
    webBrowser1.Url = new System.Uri("http://codeforum.org", System.UriKind.Absolute);
    webBrowser1.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(WebBrowser1_PreviewKeyDown);
    base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 13f);
    base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    base.ClientSize = new System.Drawing.Size(800, 450);
    base.Controls.Add(webBrowser1);
    base.Icon = (System.Drawing.Icon)resources.GetObject("$this.Icon");
    base.Name = "Form1";
    Text = "CodeForum Application - Made By: TableFlipGod - Thanks Malcolm";
    ResumeLayout(false);
}
Something that might be good to know for privacy-conscious users is that the bug reporting feature sends your reports into a Discord server:

C#:
private void Button1_Click(object sender, EventArgs e)
{
    if (nameBox.Text == "" || BugBox.Text == "" || ReBox.Text == "")
    {
        AlertBox.set_kind(1);
        ((Control)AlertBox).Text = "Please Fill Out ALL Fields Before Submitting";
        ((Control)AlertBox).Show();
        Task.Delay(3000);
    }
    else
    {
        using (dWebHook dWebHook = new dWebHook())
        {
            AlertBox.set_kind(0);
            ((Control)AlertBox).Text = "Successfully Send Bug Report Thanks For Your Feedback";
            ((Control)AlertBox).Show();
            dWebHook.WebHook = "https://discordapp.com/api/webhooks/585206796776374322/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
            dWebHook.SendMessage("\nusername: " + nameBox.Text + "\n Bug: " + BugBox.Text + "\n How to reproduce: " + ReBox.Text);
            Task.Delay(3000);
            ((Control)AlertBox).Hide();
            Close();
        }
    }
}
That's all, folks.
 
Last edited:
  • Like
Reactions: Ghost

TableFlipGod

Active Coder
May 13, 2019
126
25
29
14
Well, from what I've tested so far, it just displays the Website and nothing else. Another thing is that when I booted-up the Application, Windows gave me a Warning, saying that my PC will be at risk if I do happen to run it. So either that Application has some sketchy code in it(Which if it does, then do remove it) or it's simply just an Application which Windows finds untrustworthy.
Malcolm has watched me code it... there is no malicous code in it at all!
 

TableFlipGod

Active Coder
May 13, 2019
126
25
29
14
I decided to take a little look at this and find out why so many programs detect it as malicious.
TL;DR: It doesn't do anything malicious, but it's using "active obfuscation" which triggers false positives in AV software.

For whatever reason, the OP decided to obfuscate their program.
When you open it you're greeted by this:



The actual code sits in a static byte-array which is loaded and "decrypted" at runtime:



Fortunately the obfuscator doesn't use any kind of actual encryption,
so we can just reverse this process by copy-paste'ing the Decrypt(P_0, P_1) method into an empty C# project.

These are the 3 lines of code that are required to get the raw project back:
C#:
//
// Decrypt just like the program itself does it
// "Original" contains the copy-pasted code from codeforum.exe
//
GCHandle gCHandle = Original.Decrypt(Original.payload, 3928749853u);
byte[] decryptedAssembly = (byte[])gCHandle.Target;

// Then just save the COFF somewhere and we're done
File.WriteAllBytes("codeforum.coff", decryptedAssembly);
Then we can just throw the generated COFF file into a decompiler and we have the actual code.



Nothing shady going on here.
The whole program logic basically boils down to this:

C#:
private void InitializeComponent()
{
    System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CodeForum.Form1));
    webBrowser1 = new System.Windows.Forms.WebBrowser();
    SuspendLayout();
    webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill;
    webBrowser1.IsWebBrowserContextMenuEnabled = false;
    webBrowser1.Location = new System.Drawing.Point(0, 0);
    webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
    webBrowser1.Name = "webBrowser1";
    webBrowser1.Size = new System.Drawing.Size(800, 450);
    webBrowser1.TabIndex = 0;
    webBrowser1.Url = new System.Uri("http://codeforum.org", System.UriKind.Absolute);
    webBrowser1.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(WebBrowser1_PreviewKeyDown);
    base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 13f);
    base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    base.ClientSize = new System.Drawing.Size(800, 450);
    base.Controls.Add(webBrowser1);
    base.Icon = (System.Drawing.Icon)resources.GetObject("$this.Icon");
    base.Name = "Form1";
    Text = "CodeForum Application - Made By: TableFlipGod - Thanks Malcolm";
    ResumeLayout(false);
}
Something that might be good to know for privacy-conscious users is that the bug reporting feature sends your reports into a Discord server:

C#:
private void Button1_Click(object sender, EventArgs e)
{
    if (nameBox.Text == "" || BugBox.Text == "" || ReBox.Text == "")
    {
        AlertBox.set_kind(1);
        ((Control)AlertBox).Text = "Please Fill Out ALL Fields Before Submitting";
        ((Control)AlertBox).Show();
        Task.Delay(3000);
    }
    else
    {
        using (dWebHook dWebHook = new dWebHook())
        {
            AlertBox.set_kind(0);
            ((Control)AlertBox).Text = "Successfully Send Bug Report Thanks For Your Feedback";
            ((Control)AlertBox).Show();
            dWebHook.WebHook = "https://discordapp.com/api/webhooks/585206796776374322/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
            dWebHook.SendMessage("\nusername: " + nameBox.Text + "\n Bug: " + BugBox.Text + "\n How to reproduce: " + ReBox.Text);
            Task.Delay(3000);
            ((Control)AlertBox).Hide();
            Close();
        }
    }
}
That's all, folks.
i only made that so i can fix bugs i couldnt find for long terms...