Hi Peter,The new script is available in the nativeEx_BSOR download on the nativeex.boot-land.net server.
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.
Posted 17 January 2008 - 02:22 AM
Hi Peter,The new script is available in the nativeEx_BSOR download on the nativeex.boot-land.net server.
Posted 17 January 2008 - 02:53 AM
Posted 17 January 2008 - 09:29 AM
Now it is really on the serverHi 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.
Posted 17 January 2008 - 09:51 AM
Posted 20 January 2008 - 08:08 AM
Posted 20 January 2008 - 08:46 AM
Posted 20 January 2008 - 03:55 PM
It gives you a stop error. Your best bet is Whistler 2462. (RamBoot is not supported, gives a SYSTEM_LICENSE_VIOLATION error.)1) Using the Windows 2000 SP4 core (smaller)
Impossible, the Kernel is 1.1 MB Compressed. The hal is 50kb compressed, and NTDll is 597-700kb.2) Working properly on a single floppy.
Posted 20 January 2008 - 04:23 PM
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.Impossible, the Kernel is 1.1 MB Compressed. The hal is 50kb compressed, and NTDll is 597-700kb.
Posted 20 January 2008 - 04:25 PM
Posted 20 January 2008 - 04:36 PM
Posted 20 January 2008 - 04:40 PM
psc, did you get it working?
Posted 20 January 2008 - 04:54 PM
Posted 20 January 2008 - 05:01 PM
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?Your main problem: Drivers.
Posted 20 January 2008 - 05:07 PM
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.aeroxp: STOP error, eh? It's because of PE-like mode that isn't supported by Win2k and earlier.
Posted 20 January 2008 - 07:53 PM
EDIT#2: We can also maybe... use ReactOS stuff?
Posted 11 February 2008 - 05:56 AM
ShellExecute,Hide,"attrib","-R #$q%target_win%\TXTSETUP.sif#$q"after the line
CopyOrExpand,%source_win%\TXTSETUP.sif,%target_win%
Posted 30 June 2009 - 08:38 PM
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...
If you mean my post in NDK:
I wrote 'as previously'. The ACCESS issue is still not solved.
Peter
NTSYSAPI NTSTATUS NTAPI RtlCreateUserProcess( IN PUNICODE_STRING [i][color="blue"]ImagePath[/color][/i], IN ULONG [i][color="blue"]ObjectAttributes[/color][/i], IN OUT PRTL_USER_PROCESS_PARAMETERS [i][color="blue"]ProcessParameters[/color][/i], IN PSECURITY_DESCRIPTOR [i][color="blue"]ProcessSecurityDescriptor[/color][/i] OPTIONAL, IN PSECURITY_DESCRIPTOR [i][color="blue"]ThreadSecurityDescriptor[/color][/i] OPTIONAL, IN HANDLE [i][color="blue"]ParentProcess[/color][/i], IN BOOLEAN [i][color="blue"]InheritHandles[/color][/i], IN HANDLE [i][color="blue"]DebugPort[/color][/i] OPTIONAL, IN HANDLE [i][color="blue"]ExceptionPort[/color][/i] OPTIONAL, OUT PRTL_USER_PROCESS_INFORMATION [i][color="blue"]ProcessInformation[/color][/i] );
PRTL_USER_PROCESS_INFORMATION ProcessInformation; UNICODE_STRING SessionMgr; PRTL_USER_PROCESS_PARAMETERS ProcessParameters; RtlCreateUserProcess( &SessionMgr, OBJ_CASE_INSENSITIVE, RtlDeNormalizeProcessParams( ProcessParameters ), NULL, NULL, NULL, FALSE, NULL, NULL, ProcessInformation);
Posted 22 July 2009 - 08:14 PM
NTSTATUS RtlCreateNewProcess( VOID ) { NTSTATUS s; // Status UNICODE_STRING imgname; // ImageName UNICODE_STRING imgpath; // Nt ImagePath UNICODE_STRING dllpath; // Nt DllPath (DOS Name) PRTL_USER_PROCESS_PARAMETERS processparameters; // ProcessParameters RTL_USER_PROCESS_INFORMATION processinformation={0}; // ProcessInformation // // Change name to Nt format // s = RtlDosPathNameToNtPathName_U(L"C:\\smss.exe", &imgpath, NULL, NULL); // // Initialize Unicode strings. // RtlInitUnicodeString(&imgname, L"smss.exe"); RtlInitUnicodeString(&dllpath, L"c:\\"); // // Create ProcessParameters value // s = RtlCreateProcessParameters(&processparameters, &imgname, &dllpath, 0, 0, 0, 0, 0, 0, 0); // // GRAND FINALE: CREATE PROCESS!!! // s = RtlCreateUserProcess(&imgpath, OBJ_CASE_INSENSITIVE, processparameters, NULL, NULL, NULL, FALSE, NULL, NULL, &processinformation ); // // Hook to new process! // s = NtResumeThread(processinformation.ThreadHandle, NULL); return STATUS_SUCCESS; }
Posted 05 August 2009 - 12:07 PM
NTSTATUS NtChkdsk( VOID ) { UNICODE_STRING EnvString, NullString, UnicodeSystemDriveString; NTSTATUS status; // Status UNICODE_STRING imgname; // ImageName UNICODE_STRING imgpath; // Nt ImagePath UNICODE_STRING dllpath; // Nt DllPath (DOS Name) UNICODE_STRING cmdline; // Nt CommandLine PRTL_USER_PROCESS_PARAMETERS processparameters; // ProcessParameters RTL_USER_PROCESS_INFORMATION processinformation={0}; // ProcessInformation WCHAR Env[2] = { 0,0 }; // Process Envirnoment PKUSER_SHARED_DATA SharedData = (PKUSER_SHARED_DATA)USER_SHARED_DATA; // Kernel Shared Data RtlInitUnicodeString(&imgpath,L"\\SystemRoot\\System32\\autochk.exe"); // Image path is %SystemRoot%\System32\Autochk.exe RtlInitUnicodeString(&imgname, L"autochk.exe"); // Image name is autochk.exe RtlInitUnicodeString(&dllpath, SharedData->NtSystemRoot); // DLL Path is %SystemRoot% RtlInitUnicodeString(&cmdline, L"autocheck *"); // Command Line parameters status = RtlCreateProcessParameters(&processparameters, &imgname, &dllpath, &dllpath, &cmdline, Env, 0, 0, 0, 0); DbgPrint("Launching Process: %s, DllPath=%s, CmdLine=%s", &imgname, &dllpath, &cmdline); status = RtlCreateUserProcess(&imgpath, OBJ_CASE_INSENSITIVE, processparameters, NULL, NULL, NULL, FALSE, NULL, NULL, &processinformation ); status = NtResumeThread(processinformation.ThreadHandle, NULL); return STATUS_SUCCESS; }
Posted 05 August 2009 - 09:42 PM
s = NtResumeThread(processinformation.ThreadHandle, NULL);and
s = NtResumeProcess(processinformation.ProcessHandle, NULL);Both work like described above.
Posted 05 August 2009 - 09:52 PM
Posted 05 August 2009 - 10:15 PM
And how to come back into the menu after <process> finished?Also, you should kill the previous process to make it work. (urtl1 -> urtl2, kill urtl1)
Posted 05 August 2009 - 10:54 PM
0 members, 0 guests, 0 anonymous users