Hey all, I've got a large number of questions today, and I'm not really looking for specific answers, but rather, resources available for me to answer any questions I may have in various areas.
I'm planning on devoting quite a bit of time in the near future to the creation of a suite of offline tools for the diagnostic of malfunctioning Windows systems, and in particular, I would like to make this suite available, open-source, for use under a Linux environment.
In order to create this suite, I'm going to have to do some extensive reverse-engineering of various Windows tools, and attempt to recreate them, open-source, for cross-platform compatibility. So I'm hoping to find any information that anyone else knows relating to these tools who has already worked on them, to help me avoid re-reverse engineering the wheel.
Specifically, I would truly appreciate any technical information available about the following subjects:
Registry
Linux support for registry editing is fairly limited, although the project for NT Password Removal Tool appears to be open-source and looks like it's done most of the reverse-engineering already. If anyone has any other good details I should know when beginning to program for the registry, let me know, since it's a central part of most of these other tools.
CHKDSK vs fsck.ntfs(ntfsfix)
I've used fsck.ntfs in the past and found it... lacking. It seemed very crude and basic in comparison with the information and scanning of CHKDSK, so if anyone knows any details about exactly how CHKDSK works, and what would need to be changed in fsck.ntfs in order to duplicate/improve its effectiveness, I'm all ears.
SFC
System File Checker is a powerful tool that is definitely underused. However, I don't think it's been reverse-engineered much, so if anyone can point me to exactly what SFC compares against to detect corrupted OS files, I'll be extremely grateful. I hope to allow repairs from original disc WIM files in those cases where the cache fails to contain an uncorrupted file.
Driver Changes
I would love to create a Linux tool that utilizes the resources created by the various Driverpack teams, and I'm seriously thinking about basing it on DriverPack Solution's system or the Driver Installer Assistant setup. However, with a major twist. I would like to be able to update/add/remove drivers from an offline Windows. Since no one has done this previously, I assume there's either a major complication or a technical detail that makes it either extremely difficult or impossible, but if it's even remotely possible, please pass me any details about the Windows driver setup(registry details, etc.) and I'm willing to attempt it.
Add/Remove Programs
If anyone knows how to get access to the Add/Remove Programs list, I'd like to know the details. While I'll probably not attempt to create an offline manual uninstaller system, I think being able to see the installed programs of an offline system could be very helpful. Also, does Windows list anti-virus products separately for its "AntiVirus not installed" dialog?
Windows Installs, Repairs, and Updates
Essentially, I would like to convert WinNTSetup to Linux. I believe the author of the program frequents these forums, so "hi!" I'd love to see if this would be possible. On top of that, I'd like to attempt to perhaps bypass the Text Mode of the install, also implementing the Windows Repair Install for XP. Along with that, I'd really REALLY love to look into creating a custom Repair Install for Windows Vista/7/8. Perhaps the offline SFC would better serve this purpose, but I'd love to look into it. Specifically, I need to know how to rollback Windows Updates to allow a repair install to not cause major registry confusion.
It's a pretty big project, but I've been working with these various tools for years, and I believe I have the programming knowledge and time to pull this off, I just hope I can spend more time programming and less time trying to guess how Microsoft decided to program things.
Thanks in advance!
Edited by Falkoner, 14 April 2014 - 02:26 PM.