Code Forum Application

TableFlipGod

New Coder
May 13, 2019
29
6
4
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:

Code_Block

Active Coder
May 24, 2019
187
53
38
github.com
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)
 

Code_Block

Active Coder
May 24, 2019
187
53
38
github.com
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
12
2
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
 

Code_Block

Active Coder
May 24, 2019
187
53
38
github.com
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

Coder
Jun 5, 2019
82
12
8
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.
 

Code_Block

Active Coder
May 24, 2019
187
53
38
github.com
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.
 

sn0w

Coder
Jun 6, 2019
37
14
8
[DATA EXPUNGED]
sn0w.sh
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

New Coder
May 13, 2019
29
6
4
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

New Coder
May 13, 2019
29
6
4
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...
 

TableFlipGod

New Coder
May 13, 2019
29
6
4
I'm not blaming you for using an obfuscator, but publishing the code (even if it's not beautiful and perfect) might make more sense.
People can help you by pointing out possible bugs/errors, and the whole thing would look a lot less sketchy.
Ye but the whole point for me to learn ( i learn alot differently) is to find out how the bugs work and when i obfuscated it. its so people couldnt de-obfuscate it and get the code and steal my idea ;(
 

sn0w

Coder
Jun 6, 2019
37
14
8
[DATA EXPUNGED]
sn0w.sh
when i obfuscated it its so people couldnt de-obfuscate it and get the code and steal my idea ;(
From what I've seen so far, the people here are really nice.
I don't think any of us would want to take your project and sell it as ours.

If you want to work and learn alone, that's perfectly fine.
Nobody here is forcing you to make your stuff public or to accept our help.
But if you choose to work this way, you might want to try and use obfuscation methods that cause less sketchy results.
One thing I would recommend is limiting yourself to "symbol renaming", which basically just renames every class/method/variable/etc to random stuff.
This is not the most secure option, but it makes reversing your code economically unfeasible, while causing less (if any) antivirus false-positives.
 

TableFlipGod

New Coder
May 13, 2019
29
6
4
From what I've seen so far, the people here are really nice.
I don't think any of us would want to take your project and sell it as ours.

If you want to work and learn alone, that's perfectly fine.
Nobody here is forcing you to make your stuff public or to accept our help.
But if you choose to work this way, you might want to try and use obfuscation methods that cause less sketchy results.
One thing I would recommend is limiting yourself to "symbol renaming", which basically just renames every class/method/variable/etc to random stuff.
This is not the most secure option, but it makes reversing your code economically unfeasible, while causing less (if any) antivirus false-positives.
Yea ive noticed that ive been on like more toxic forums where everyone is just cancer so i have to get used to a nice and helpful environment :)
 

TableFlipGod

New Coder
May 13, 2019
29
6
4
From what I've seen so far, the people here are really nice.
I don't think any of us would want to take your project and sell it as ours.

If you want to work and learn alone, that's perfectly fine.
Nobody here is forcing you to make your stuff public or to accept our help.
But if you choose to work this way, you might want to try and use obfuscation methods that cause less sketchy results.
One thing I would recommend is limiting yourself to "symbol renaming", which basically just renames every class/method/variable/etc to random stuff.
This is not the most secure option, but it makes reversing your code economically unfeasible, while causing less (if any) antivirus false-positives.
v3rmillion if you're curious..