Jump to content











Photo
- - - - -

[project] nativeEx_BSOR


  • Please log in to reply
51 replies to this topic

#26 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 17 January 2008 - 02:22 AM

The new script is available in the nativeEx_BSOR download on the nativeex.boot-land.net server.

Hi Peter,

Great new addition! I tried to download but it's not on the server as far as I can tell. Was the upload unsuccessful?

Regards,
Galapo.

#27 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 17 January 2008 - 02:53 AM

New Version of urtl\native.exe for nativeex_BSOR.

This is the version with updated copyright and help.

Attached File  src.zip   1.7KB   545 downloads
Attached File  native.zip   6.77KB   655 downloads

#28 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 17 January 2008 - 09:29 AM

Hi Peter,

Great new addition! I tried to download but it's not on the server as far as I can tell. Was the upload unsuccessful?

Regards,
Galapo.

Now it is really on the server :thumbsup:
And it contains the new version aeroxp posted.

Peter

#29 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 17 January 2008 - 09:51 AM

Thanks! I'm going to test the new option tomorrow.

Regards,
Galapo.

#30 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 18 January 2008 - 12:13 PM

I added the bootMenu.Script to the project.

Peter

bootMenu.gif

#31 asiekierka

asiekierka

    Member

  • Advanced user
  • 48 posts

Posted 20 January 2008 - 08:08 AM

I plan to make a project based on WinRoot and nativeEx_BSOR stuff, BUT:
1) Using the Windows 2000 SP4 core (smaller)
2) Working properly on a single floppy.

I plan to work on it, BUT it still seems... impossible.
I'll try though. I'll need your permission, psc, to use info of scripts from your project. Otherwise i wouldn't be able to publish my project...

#32 thunn

thunn

    Silver Member

  • .script developer
  • 531 posts
  • Location:Brooklyn, New York
  • Interests:computers<br />mechanics<br />distortion<br /><br />
  •  
    United States

Posted 20 January 2008 - 08:46 AM

But Psc is still waiting to hear from O&O!
Just kidding Peter, great little project!

#33 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 20 January 2008 - 03:55 PM

1) Using the Windows 2000 SP4 core (smaller)

It gives you a stop error. Your best bet is Whistler 2462. (RamBoot is not supported, gives a SYSTEM_LICENSE_VIOLATION error.)

2) Working properly on a single floppy.

Impossible, the Kernel is 1.1 MB Compressed. The hal is 50kb compressed, and NTDll is 597-700kb.

#34 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 20 January 2008 - 04:23 PM

Impossible, the Kernel is 1.1 MB Compressed. The hal is 50kb compressed, and NTDll is 597-700kb.

Well if the whole OS should fit on a floppy, we're not talking about a lot of functionality here. So i'm pretty sure that the files in question can be slimmed down. :D

:thumbsup:

#35 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 20 January 2008 - 04:25 PM

Your main problem: Drivers.

#36 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 20 January 2008 - 04:36 PM

psc, did you get it working?

#37 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 20 January 2008 - 04:40 PM

psc, did you get it working?


If you mean my post in NDK:

I wrote 'as previously'. The ACCESS issue is still not solved.

Peter

#38 asiekierka

asiekierka

    Member

  • Advanced user
  • 48 posts

Posted 20 January 2008 - 04:54 PM

aeroxp: STOP error, eh? It's because of PE-like mode that isn't supported by Win2k and earlier.
Also we could slim NTDLL/NTOSKRNL.

EDIT: We can also rewrite the NCLI, but it shouldn't be needed.
EDIT#2: We can also maybe... use ReactOS stuff?

#39 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 20 January 2008 - 05:01 PM

Your main problem: Drivers.

For a fun project like this, which will never have any real use and only the goal, to start from a single floppy and present you a command prompt?

I would say the biggest problem is smarts ...and knowledge ...and smarts! :D

I still have a demo disk of a unix that starts from a floppy, has a desktop, mouse and keyboard support, a filemanager, a javascript capable browser and a TCP stack including a dialer.
Not to mention a game and some demos!

Never underestimate what a true geek can do! :D

:thumbsup:

#40 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 20 January 2008 - 05:07 PM

aeroxp: STOP error, eh? It's because of PE-like mode that isn't supported by Win2k and earlier.

If that is the reason for the error, you will just have to fix ntoskrnl. the difference between PE mode and not PE mode is, that the registry is loaded read only and never tried to write it back.
Doesn't seem to be two impossible things to fix, when you already slimming down the file.

:thumbsup:

#41 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 20 January 2008 - 07:53 PM

Stop: Entry point not found.
---

EDIT#2: We can also maybe... use ReactOS stuff?


I have tried that long ago... It boots up to a blue screen or a black screen.

#42 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 11 February 2008 - 05:56 AM

Hi Peter,

In the '!CopyFiles.script' I'd like to suggest the addition of the follow line
ShellExecute,Hide,&#34;attrib&#34;,&#34;-R #$q%target_win%\TXTSETUP.sif#$q&#34;
after the line
CopyOrExpand,%source_win%\TXTSETUP.sif,%target_win%

I made this change myself, but others may need it too if copying from CD.

Thanks,
Galapo.

#43 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 30 June 2009 - 08:38 PM

There is a redesign available: Download center > nativeEx server > nativeEx_BSOR.

It runs under WB 077 RC 1 and higher.

The project now is less complicated for unexperienced users.

When you have downloaded, define your XP (any SP) or W2003 (any SP) source CD and start.

The project will run into qEmu with TinyKRNL.

New: The target files are cached for OS, SP, Language, etc.
As a result: The first run takes around one to two minutes to build the ISO.
The second run only takes about 5 seconds, even with a different target application.

Whenever something changes with the source CD, an additional cache item is generated.

Please note, that BlueCon does not work when built with W2003 source.

BTW: I'm restarting to work with: 'Not have a fixed target application, but a menu'. Chances are good, following my latest Googleing.

Peter

#44 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 04 July 2009 - 08:16 PM

I plan to make a project based on WinRoot and nativeEx_BSOR stuff, BUT:
1) Using the Windows 2000 SP4 core (smaller)
2) Working properly on a single floppy.

I plan to work on it, BUT it still seems... impossible.
I'll try though. I'll need your permission, psc, to use info of scripts from your project. Otherwise i wouldn't be able to publish my project...


I compiled a version of NCLI for NT4/2000. It features something called CPUID!

If you mean my post in NDK:

I wrote 'as previously'. The ACCESS issue is still not solved.

Peter


You don't have to use NtCreateProcess or ZwCreateProcess, you can use RtlCreateUserProcess.

Here's a prototype:
NTSYSAPI 

NTSTATUS

NTAPI

RtlCreateUserProcess&#40;







  IN PUNICODE_STRING	  &#91;i&#93;&#91;color=&#34;blue&#34;&#93;ImagePath&#91;/color&#93;&#91;/i&#93;,

  IN ULONG				&#91;i&#93;&#91;color=&#34;blue&#34;&#93;ObjectAttributes&#91;/color&#93;&#91;/i&#93;,

  IN OUT PRTL_USER_PROCESS_PARAMETERS &#91;i&#93;&#91;color=&#34;blue&#34;&#93;ProcessParameters&#91;/color&#93;&#91;/i&#93;,

  IN PSECURITY_DESCRIPTOR &#91;i&#93;&#91;color=&#34;blue&#34;&#93;ProcessSecurityDescriptor&#91;/color&#93;&#91;/i&#93; OPTIONAL,

  IN PSECURITY_DESCRIPTOR &#91;i&#93;&#91;color=&#34;blue&#34;&#93;ThreadSecurityDescriptor&#91;/color&#93;&#91;/i&#93; OPTIONAL,

  IN HANDLE			   &#91;i&#93;&#91;color=&#34;blue&#34;&#93;ParentProcess&#91;/color&#93;&#91;/i&#93;,

  IN BOOLEAN			  &#91;i&#93;&#91;color=&#34;blue&#34;&#93;InheritHandles&#91;/color&#93;&#91;/i&#93;,

  IN HANDLE			   &#91;i&#93;&#91;color=&#34;blue&#34;&#93;DebugPort&#91;/color&#93;&#91;/i&#93; OPTIONAL,

  IN HANDLE			   &#91;i&#93;&#91;color=&#34;blue&#34;&#93;ExceptionPort&#91;/color&#93;&#91;/i&#93; OPTIONAL,

  OUT PRTL_USER_PROCESS_INFORMATION &#91;i&#93;&#91;color=&#34;blue&#34;&#93;ProcessInformation&#91;/color&#93;&#91;/i&#93; &#41;;

Here's a litttle example:




PRTL_USER_PROCESS_INFORMATION ProcessInformation;

	UNICODE_STRING SessionMgr;

	PRTL_USER_PROCESS_PARAMETERS ProcessParameters;



	RtlCreateUserProcess&#40;

				   &SessionMgr,

				   OBJ_CASE_INSENSITIVE,

					RtlDeNormalizeProcessParams&#40; ProcessParameters &#41;,

					 NULL,

					NULL,

					 NULL,

				   FALSE,

				   NULL,

				   NULL,

				   ProcessInformation&#41;;


#45 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 22 July 2009 - 08:14 PM

w00t! Found out how to make new process!
NTSTATUS

RtlCreateNewProcess&#40;

	VOID 

	&#41;

{

	

	NTSTATUS					 s;						   // Status

	UNICODE_STRING			   imgname;					 // ImageName

	UNICODE_STRING			   imgpath;					 // Nt ImagePath

	UNICODE_STRING			   dllpath;					 // Nt DllPath &#40;DOS Name&#41;

	PRTL_USER_PROCESS_PARAMETERS processparameters;	   // ProcessParameters

	RTL_USER_PROCESS_INFORMATION processinformation={0};  // ProcessInformation 

		//

		// Change name to Nt format

		//

		s = RtlDosPathNameToNtPathName_U&#40;L&#34;C&#58;\\smss.exe&#34;, &imgpath, NULL, NULL&#41;;

		//

		// Initialize Unicode strings.

		//

		RtlInitUnicodeString&#40;&imgname, L&#34;smss.exe&#34;&#41;;

		RtlInitUnicodeString&#40;&dllpath, L&#34;c&#58;\\&#34;&#41;;

		//

		// Create ProcessParameters value

		//

		s = RtlCreateProcessParameters&#40;&processparameters, &imgname, &dllpath, 0, 0, 0, 0, 0, 0, 0&#41;;

		//

		// GRAND FINALE&#58; CREATE PROCESS!!!

		//

		s = RtlCreateUserProcess&#40;&imgpath,

				OBJ_CASE_INSENSITIVE,

				processparameters,

				NULL,

				NULL,

				NULL,

				FALSE,

				NULL,

				NULL,

				&processinformation

			&#41;;

		//

		// Hook to new process!

		//

		s = NtResumeThread&#40;processinformation.ThreadHandle, NULL&#41;;

	return STATUS_SUCCESS;

}


#46 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 05 August 2009 - 12:07 PM

Added command line:
NTSTATUS

NtChkdsk&#40;

	VOID

	&#41;

{

	UNICODE_STRING EnvString, NullString, UnicodeSystemDriveString;

	NTSTATUS					 status;						   // Status

	UNICODE_STRING			   imgname;					 // ImageName

	UNICODE_STRING			   imgpath;					 // Nt ImagePath

	UNICODE_STRING			   dllpath;					 // Nt DllPath &#40;DOS Name&#41;

	UNICODE_STRING			   cmdline;					 // Nt CommandLine

	PRTL_USER_PROCESS_PARAMETERS processparameters;	   // ProcessParameters

	RTL_USER_PROCESS_INFORMATION processinformation={0};  // ProcessInformation

	WCHAR Env&#91;2&#93; = { 0,0 };							   // Process Envirnoment

	PKUSER_SHARED_DATA SharedData = &#40;PKUSER_SHARED_DATA&#41;USER_SHARED_DATA;  // Kernel Shared Data

	RtlInitUnicodeString&#40;&imgpath,L&#34;\\SystemRoot\\System32\\autochk.exe&#34;&#41;; // Image path is %SystemRoot%\System32\Autochk.exe 

	RtlInitUnicodeString&#40;&imgname, L&#34;autochk.exe&#34;&#41;;						// Image name is autochk.exe

	RtlInitUnicodeString&#40;&dllpath, SharedData->NtSystemRoot&#41;;			  // DLL Path is %SystemRoot%

	RtlInitUnicodeString&#40;&cmdline, L&#34;autocheck *&#34;&#41;;						// Command Line parameters

		

		status = RtlCreateProcessParameters&#40;&processparameters, &imgname, &dllpath, &dllpath, &cmdline, Env, 0, 0, 0, 0&#41;;

		DbgPrint&#40;&#34;Launching Process&#58; %s, DllPath=%s, CmdLine=%s&#34;,

			 &imgname,

			 &dllpath,

			 &cmdline&#41;;

		   status = RtlCreateUserProcess&#40;&imgpath,

								 OBJ_CASE_INSENSITIVE,

									processparameters,

									NULL,

									NULL,

									NULL,

									FALSE,

										   NULL,

									NULL,

									&processinformation

			&#41;;

		status = NtResumeThread&#40;processinformation.ThreadHandle, NULL&#41;;

	return STATUS_SUCCESS;

}


#47 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 05 August 2009 - 09:42 PM

Thanks for your new snippet!

But currently I'm still fighting with your previous one.

In the first view it seems to be very well:

If I choose TinyKRNL from pscMenu, TinyKRNL is started and the help lines are shown. Great!

But when I try to do a command like e.g. 'dir', no 'dir' is shown. Instead of this the pscMenu is shown again.

But TiniKRNL is not really exited. Choosing pscMenu entries randomly(?) shows the pscMenu prompt > or the TinyKRNL prompt D:\I386>

Looks like there is some trouble with the console, standardinput, standardoutput and standarderror handles.

Currently I do not have so much time. But I'm going to collect all facts and post (and send you a copy of the BSOR source)

BTW: Do you knw the difference between
s = NtResumeThread&#40;processinformation.ThreadHandle, NULL&#41;;
and
s = NtResumeProcess&#40;processinformation.ProcessHandle, NULL&#41;;
Both work like described above.
Peter

#48 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 05 August 2009 - 09:52 PM

Either will work, one resumes the thread, one resumes the process, resuming the process is recommended but Ntoskrnl uses ResumeThread.

Also, you should kill the previous process to make it work. (urtl1 -> urtl2, kill urtl1)

#49 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 05 August 2009 - 10:15 PM

Also, you should kill the previous process to make it work. (urtl1 -> urtl2, kill urtl1)

And how to come back into the menu after <process> finished?

A lot of questions Billy th Door seems intentionally not to anwer us! :idea: (or hides anywhere)

Peter

#50 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 05 August 2009 - 10:54 PM

Perhaps, suspend the process?

Also, after you launch Recovery Console/Windows Setup, you can not go back to the standard Kernel Text-mode, limitation of SetupDD.sys

And it's not Bill: it's Ted Miller. :idea:




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users