AutoBSA++ - App Preview (Development)

AceInfinity

Emeritus, Contributor
Joined
Feb 21, 2012
Posts
1,728
Location
Canada
I've been working on this one for a few weeks while I figure out StringCrypt. It's going to be a revised version of my AutoBlue application that I created some months ago. So far i've got Aero detection, NT version detection for various internal reasons, the Firefox-like button is working perfectly now, I've created a couple other custom controls for this as well, one of which you can see in the preview (the progress display, which contains both loading animation and label).

It was a request from a community of others, including some MVP's and MCC's, asking why I didn't continue development on AutoBlue (which was originally written in VB.net). AutoBSA++ is written fully in C# so far. Writhziden actually re-inspired me to continue with this app, so i'm doing a full revision of my original, and this one will be plenty more advanced than the former app I created.

Note: I've gotten a bit farther on StringCrypt, and a few of my other projects. I will be soon releasing a ton of my projects in a bit more time... The only reason why I haven't officially released some previews that i've handed out on this forum as a showcase is because I usually have literally no time during the week, with work and everything. The only real time that I have is on the weekends, so by the time the work week is over, I get my rest in, and begin rapid catch up mode on Saturday and Sunday.

When the holidays come along though for me, expect to see a whole sh*tload of new stuff on my behalf. :winking:

Anyways, here's the first WIP preview:
eDyQb.gif


This is one of my bigger development projects however. I'll be hosting this on it's own site, and it'll be available for everyone involved in the BSOD community, maybe even perhaps open source if you're lucky.

Note: I know i've promised to start development on another project as well for NoelDP. I'll get to that as well hopefully when I have some time. I'd like to get at least a few alpha or beta releases out for some of my current projects though beforehand so that they are out of my way in the meantime. Having too many projects on the go just makes things cluttered in terms of priorities. It's also much easier to focus on one or two projects at a time.

edit: Testing my logging class I wrote:
g2h7b.gif


Cheers
~Ace
 
Last edited:
Sorry guys, discontinued development for now. My motivation was lost after I lost all of my VS projects folder... It will take me some time to recover from all those hours I lost, not only in relation to this project, but others too...
 
Sorry to hear that. Do you have a backup scheme in mind to prevent that from happening in the future? I currently have my VS projects folder backed up every hour in incremental backups, and then a full backup once a day toward the end of the day.
 
I could create a batch file to back up to my external drive at an interval with a system task... Although before I installed Windows 8 as my official OS, I DID back things up to a zip archive, the only thing is, I forgot to move that zip archive along with a few other backups I made over to my external after the compression was finished.

It took a while though, so I neglected the currently compressing archives while I had move other backups to my external harddrive. Went to reformat, and install Windows 8 without being aware...

Easy enough using RoboCopy.

What's done was done though. Now all I can do is glance over at my gif images and see all of the work that is now lost. Very very disappointed currently, it's depressing. What you can't see here is how much time I invested into this project alone, exclusive of all of my other projects as well. I had a website build on my localhost for when the release of this app was ready, I lost that too.

Back to square 1, from maybe about square 1000.
 
Last edited:
Believe me, I can fathom the sinking feeling that goes with that. In the process of creating the current apps, I've lost version changes along the way many times and had to start anew. I know that has happened to me on other occasions with other programming projects, and it is always a bit depressing.

The bright side of that happening for us programmers is we often find more innovate methods to accomplish the same tasks the second time through because we've learned from doing it the first time. Probably not much consolation, but hopefully it helps a little to think about it from that angle.

If you need anything, program wise or just a friendly programmer to vent to, let me know.
 
Sadly i've had this happen multiple times before as well, but after doing it the first time or two, you'd think or assume that you'd take more precautions to not have it happen again; what a deceiving assumption to make. lol

The only thing is, I don't think i've ever had this happen with such a large collection of big projects, including this one alone. I had manually finished writing out about ~5000 lines of code (with probably 200 lines of comments, and 100 blank lines max), and I had only really just finished the design, certain system checks, error handling, logging, visual stuff, custom controls, etc... And about maybe 20% in to the full length of what the finished project would be.

I should change the title of this topic to sap story for the time being lol. I can't see working on this project for at least another month or so until i'm finished with other priorities and gain a bit more interest to re-create this. I had it perfect too, the day before this happened. My visual itself, and its events were all working flawlessly.
 
Last edited:
Yeah, you seem to really have the GUI side of things down for your visual representation. I wish I knew that aspect half as well as you do. I just found out last night that the SysnativeBSODApps I designed the GUI for had a major flaw: no DPI awareness. I'm running a 1920x1080 resolution system that has 125% Display settings, so when I opened the apps, I only saw about 60% of what I had intended the user to see. Spent most of the evening yesterday learning about DPI awareness and how to scale things based on the DPI settings, and then I spent the better part of today implementing it.

Where did you learn how to put the GUIs together and how to program in general? Most of what I've learned is self-taught with a little guidance from my dad who is a software developer.
 
Yeah, you seem to really have the GUI side of things down for your visual representation. I wish I knew that aspect half as well as you do. I just found out last night that the SysnativeBSODApps I designed the GUI for had a major flaw: no DPI awareness. I'm running a 1920x1080 resolution system that has 125% Display settings, so when I opened the apps, I only saw about 60% of what I had intended the user to see. Spent most of the evening yesterday learning about DPI awareness and how to scale things based on the DPI settings, and then I spent the better part of today implementing it.

Where did you learn how to put the GUIs together and how to program in general? Most of what I've learned is self-taught with a little guidance from my dad who is a software developer.

Programming in general has all been self taught. Inspired and influenced by other pretty advanced, self-driven programmers, that i've met throughout my life. I started the basics of programming with batch at first once long ago, then progressed from there. I now know a multitude of languages because of that. Scripting languages such as Batch, Perl, Powershell, and others, to compiled languages such as VB.NET, C#, C/C++, Java, etc... To some extent. I'm most involved with the .NET framework though.

Security has also always been something that I have been involved in. I knew a guy that had a career in Bell security systems. His job was basically to crack into Bell's system, and if he found a security flaw, write security measures to prevent against the flaws he found. I've learned a lot from some very talented members among certain forums as well. Quite a few of them, it had always amazed me for why they didn't work for the security group somewhere at Microsoft, although they did teach me lots.

GUI representation... I've always been slightly involved in Graphical design, so combining concepts from what I know about visual representation, and programming, I can usually come up with some good software design for the UI itself. Knowing how image file formats as well (through past experiences) has also helped me. I've written a PNG file format parser, and compression methods, and i've also dealt quite a bit with BMP file formats. These help you as well for how the graphics are drawn and depicted on-screen for your UI; transparency properties, colors, ect...

I know people who are game developers, database administrators, webmasters, automation programmers, security analysts, and general desktop software developers though. Each of my contacts with these individuals in my life, has helped me improve ever so slightly with my own knowledge of various aspects in computers, which extend past just the programming. Sometimes I find, knowing a little about everything, is better than a lot about one thing.

Knowing past the .NET framework is essential as well for understanding of how Windows forms work. Which are all given the helper of the Win32 API. So if you look into how the Win32 API works, this may also help you out a little. Especially for what I tried to do with the graphical interface for this program. "Drawing" to the non-client area of the form, is not just a simple task. There's various functions in Windows API's though that help you "override" and control the way a Windows form is shown.

~Ace
 
Back in the game on this one! :grin1:

It's the only real big project I have left since I lost my entire works... But aside from that, i'm actually pretty excited to see this thing come together within the next month or two. No previews for now. I want to keep the surprise until I get my first release out there for some beta testing after I have a week or so to debug it on my own to get through a first wave of possible bugs. Code is kept super clean though, so that will help me prevent probably 80% of any bugs, and perhaps all major bugs hopefully. I spent all day reconstructing the main form, and programming events, and re-writing the class structures. I can't wait!

My deadline i'm aiming for, to have the first release out: December. 17, 2012

I've just undergone about 12 hours of continuous development over the weekend here, and I think I've sparked some new powerful ideas from this re-write.
 
Excellent news!! I am really looking forward to seeing the beta and being among testers. :-}
 
You've been very supportive of my project here writhziden so I must thank you for that. It's really encouraging :) Up to December. 17th, if I estimate correctly, it should give me enough time for what I have planned to have a first version working, clean up my code, debug it to find any possible noticeable bugs and maybe sort them out by then as well. But in the world of programming, all I can do is assume. You never know what troubles you can run into. I think i've got it all mapped out in my head pretty well. I have a copy of Visio though so perhaps I'll map it out there first as well to make sure that I have a plan before I go too far with the construction process.
 
Glad I could be a source of encouragement. :-}

Let me know if you need a set of .dmps to test with. I have hundreds lying around to use. :lol:
 
Glad I could be a source of encouragement. :-}

Let me know if you need a set of .dmps to test with. I have hundreds lying around to use. :lol:

If you wouldn't mind that'd be great! Saves me some time from having to look around various sites to find a variety of them on SF, TSF, etc...
 
Thanks a ton :) Should be great for debugging my application.

Edit: done downloading. When I get a chance to test my first build i'm going to line them all up in a row and see what my app can do with it. I'm already curious to see if these classes i'm writing will stand up to that lol.
 
Last edited:
I have a question for those involved with the DRT. :)

Is this location https://www.sysnative.com/drivers/msdriver.php, good to use as reference, and how often is it updated? If so, I can give the user the option to always use that location, or to use a file stored locally on the computer filesystem to check drivers that are Microsoft drivers... Either way.

I'm just about to start writing classes that can check modules for various drivers and retrieve information from them. Also using the System.Reflection namespace for a few things, and if I can think of a way to add extensibility to my application, i'll create a plugin system for it so others can develop plugins for my application.

I've also edited the manifest so my app requests Admin rights on startup. It'll be good, I've added an option to edit a local system environment variable that the debugger uses to reference the symbols.
 
Last edited:
Quick preview of my entire solution so far, and i'm still working on the dumps analysis part, and DRT interaction, as well as various settings saves through serialized config files (load/save).

TdRUk.png


I've literally re-written everything, and have even gotten past where I was at earlier. Quite a lot of code at this point, and some pretty advanced additions i've made as well.

Quick app preview:
91sU5.png


Now that I'll have lots of free time, I can finally start working on this as much as I've been wanting to do for a while. I was way too busy earlier to do hardly anything, and now that I get a break, it'll be back to the regular active AceInfinity for me :)
 
Last edited:
I have a question for those involved with the DRT. :)

Is this location https://www.sysnative.com/drivers/msdriver.php, good to use as reference, and how often is it updated? If so, I can give the user the option to always use that location, or to use a file stored locally on the computer filesystem to check drivers that are Microsoft drivers... Either way.

I'm just about to start writing classes that can check modules for various drivers and retrieve information from them. Also using the System.Reflection namespace for a few things, and if I can think of a way to add extensibility to my application, i'll create a plugin system for it so others can develop plugins for my application.

I've also edited the manifest so my app requests Admin rights on startup. It'll be good, I've added an option to edit a local system environment variable that the debugger uses to reference the symbols.

I imagine those involved with the DRT did not read the above post, or like me, they were expecting someone else to respond. For the current apps, we use a .txt file. I can PM you a link to it if you need it, and I can also include what information can be parsed from it. The .txt file include the driver names, whether it is a Windows driver or a 3rd party driver, driver descriptions, etc.
 
Last edited:

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top