Jump to content











Photo
- - - - -

Hello!


  • Please log in to reply
17 replies to this topic

#1 Alex Ionescu

Alex Ionescu

    Newbie

  • Members
  • 14 posts
  •  
    Canada

Posted 03 January 2008 - 07:06 PM

Hi Everyone!

My name is Alex Ionescu and I was invited by Nuno to join this awesome community, something that I've been wanting to do on my own for some time!

My interests in Windows are probably well-known by most of you so I'll stick to boot stuff, which I haven't usually talked about:

- I've always been obsessed with code size, started out by writing guides on how to make tiny VB programs, making the smallest possible PE files in assembly, finding the best compiler optimization switches to make tiny C code, finding the best file packer tools, etc.
- As an extension to that, I've also always really wanted a tiny OS -- my first experiments started with the Mini95 (I believe that was the name) .cab file that came on the Win95 Setup CD, which was the tiny Windows 95 setup interface and drivers that loaded when you installed Windows.
- More recently, I started a project called TinyKRNL to re-implement the Windows 2003 core and make an OS bootable until "native" mode (no GUI, no Win32). It was based on reverse engineering and ReactOS, and used actual win2k3 files while their equivalents were being reversed. The project is now shut down, but a tool that remained is the Native CLI (command line interface) which I wrote, a very bare-bones equivalent of the DOS command line, but written so that the kernel can execute it as a user-mode native program. I've seen this binary re-released on another forum, saw lots of people were interested, and I'm about to re-release the source code for it (the latest).

(If you don't know about my other background (ReactOS/Kernel Development), feel free to Google my name)

Anyways, I'm excited to see other people interested in some of the same things, and although I'm extremely busy these days, hopefully I can find some time to snoop around these forums once in a while! My blog address is http://www.alex-ionescu.com and as for the NCLI, I'll post a thread on that once I'm ready...

Thanks again to Nuno for inviting me :cheers:

#2 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 03 January 2008 - 08:00 PM

Alex, it's a pleasure and a honour to have you aboard, welcome! :cheers:

jaclaz

#3 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 January 2008 - 02:08 AM

It is an honor to have you here!

:cheers:

#4 Alex Ionescu

Alex Ionescu

    Newbie

  • Members
  • 14 posts
  •  
    Canada

Posted 05 January 2008 - 02:29 PM

Thanks guys!

Here are the couple of things I'd like to work on (with my schedule, please realize progress could be erratic -- weeks of silence, days of coding).

1) Boot to NCLI - AeroXP seems to have been doing a good job with the environment itself, I want to work on my NCLI itself which has the ability to befome a much better tool than the recovery console (the console is a hacked up, closed source smss that uses a special driver to do screen output, the NCLI is something everyone can work on and much easier to improve).

Towards this goal, two related projects of mine will be useful -- the NDK (Native Development Kit) which is a set of headers allowing the proper building of native apps... this is 99% completed and used by ReactOS so it's tested, and the NDL, the Native Development Library, which I started working on months ago but never finished.

The idea behind the NDL is to hide some of the more complex native APIs away, and to provide a wrapper library around some of them. This would include memory functions, thread/process functions, screen output and keyboard input, etc. Maybe even sound and networking in the future. My knowledge of AFD.sys and PortCls.sys internals means we could be playing music or serving FTP files from the NCLI, one day :cheers:

2) Boot to Win32 - The idea here is to boot to a real cmd.exe, with the least amount of DLLs and apps required. I'd like to see just smss, csrss, winsrv, basesrv and kernel32, user32, gdi32 and advapi32 for now. I'm not sure if anyone has already done this (no Winlogon -- it brings in way too many DLLs), and I do believe it may required some modified DLLs to work. Instead of Winlogon, an equivalent of WinInit.exe would be required to finish setting up the last parts of user-mode (Winlogon doesn't only do logon, it also handles the current control set, finishes initializing the registry, and sets up some Win32k stuff).

My main priority will be the development of #1, since that provides the smallest (yet functional, with enough coding in NCLI) NT environment. I was doing some experiments last year where I even managed to get a native app to display a window on the screen, this is without csrss, user32, gdi32 or any other user-mode DLL.

#5 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 05 January 2008 - 03:57 PM

2) Boot to Win32 - The idea here is to boot to a real cmd.exe, with the least amount of DLLs and apps required. I'd like to see just smss, csrss, winsrv, basesrv and kernel32, user32, gdi32 and advapi32 for now. I'm not sure if anyone has already done this (no Winlogon -- it brings in way too many DLLs), and I do believe it may required some modified DLLs to work. Instead of Winlogon, an equivalent of WinInit.exe would be required to finish setting up the last parts of user-mode (Winlogon doesn't only do logon, it also handles the current control set, finishes initializing the registry, and sets up some Win32k stuff).


Dietmar just accomplished something like that:
http://www.boot-land...?...ic=3717&hl=

It's in a VERY EARLY preliminary stage, but it's a start. :cheers:

Have you got any idea for a minlogon replacement?

Is there a way to modify ReactOS winlogon into a minlogon? :cheers:

:cheers:

jaclaz

#6 Alex Ionescu

Alex Ionescu

    Newbie

  • Members
  • 14 posts
  •  
    Canada

Posted 05 January 2008 - 04:12 PM

Dietmar just accomplished something like that:
http://www.boot-land...?...ic=3717&hl=

It's in a VERY EARLY preliminary stage, but it's a start. :cheers:

Have you got any idea for a minlogon replacement?

Is there a way to modify ReactOS winlogon into a minlogon? :cheers:

:cheers:

jaclaz


No, ReactOS has a full-blown WinLogon alternative, that won't work in Windows, and isn't fully complete (but does more than what it should). It would have to be coded by hand.

I looked at the file list...it's a great start, but I was thinking to have a lot less files than that (like I said, it probably requires modified files).

#7 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 January 2008 - 05:02 PM

My main priority will be the development of #1, since that provides the smallest (yet functional, with enough coding in NCLI) NT environment. I was doing some experiments last year where I even managed to get a native app to display a window on the screen, this is without csrss, user32, gdi32 or any other user-mode DLL.


Very interesting... Can I see a screenshot?

#8 pscEx

pscEx

    Platinum Member

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

Posted 05 January 2008 - 09:33 PM

@Alex

Very welcome here!

I think you can become an enhancement of this forum!

Peter

BTW: This 'welcome' is rather egoistic!
Currently I'm trying to go into the secrets of native API / ntdll.dll. I also looked into soucefourge's tinyKernel. But unfortunatelly the CVS did not lead to any source :cheers:
Maybe you can help me in my nativeEx_BSOR project to give me enough knowledge to write an smss.exe as menu for different final apps.

#9 Alex Ionescu

Alex Ionescu

    Newbie

  • Members
  • 14 posts
  •  
    Canada

Posted 12 January 2008 - 02:37 AM

@Alex

Very welcome here!

I think you can become an enhancement of this forum!

Peter

BTW: This 'welcome' is rather egoistic!
Currently I'm trying to go into the secrets of native API / ntdll.dll. I also looked into soucefourge's tinyKernel. But unfortunatelly the CVS did not lead to any source :cheers:
Maybe you can help me in my nativeEx_BSOR project to give me enough knowledge to write an smss.exe as menu for different final apps.


Hmm, why is egoistic?

TinyKRNL is gone, what remains will be replaced by NCLI. Your idea about a menu is really great, perhaps that should be the initial smss.exe, and use the NCLI's "Execute another program" code to run different programs. I will try working on that this weekend.

I'm thinking of using Google Code as a repository, and having an SVN server... I just finished teaching this week so I'll start on this right now.

Aeroxp: I'll get a screenshot for you when I can find my code again -- shouldn't take too long!

#10 AeroXP

AeroXP

    Frequent Member

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

Posted 12 January 2008 - 04:40 AM

Great!

#11 TheHive

TheHive

    Platinum Member

  • .script developer
  • 4199 posts

Posted 12 January 2008 - 07:51 AM

Welcome to the board.
Also wanted to mention that you probably wont see a response from Nuno untill later in in mid-February. He is off to finish some of his studies.

http://www.boot-land...-out-t3656.html

#12 NARUTO

NARUTO
  • Members
  • 2 posts
  •  
    China

Posted 12 January 2008 - 08:05 AM

haha,Alex :cheers:


PS:NCLI seems not open source.

#13 Alex Ionescu

Alex Ionescu

    Newbie

  • Members
  • 14 posts
  •  
    Canada

Posted 13 January 2008 - 04:58 AM

haha,Alex :thumbsup:


PS:NCLI seems not open source.


http://code.google.c...ive-nt-toolkit/ is where I will upload everything and manage the project from. It will be GPL 2.0.

Here's that picture you asked for, aero... I realize it's not much but it works :D
Posted Image

#14 AeroXP

AeroXP

    Frequent Member

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

Posted 13 January 2008 - 05:19 AM

Posted Image


Awesome! :thumbsup:

#15 NARUTO

NARUTO
  • Members
  • 2 posts
  •  
    China

Posted 13 January 2008 - 08:13 AM

http://code.google.c...ive-nt-toolkit/ is where I will upload everything and manage the project from. It will be GPL 2.0.

Here's that picture you asked for, aero... I realize it's not much but it works :thumbsup:
Posted Image


Well done!! :D

#16 Ove

Ove

    .script developer

  • .script developer
  • 192 posts
  • Location:Fagaras, Romania
  •  
    Romania

Posted 20 January 2008 - 11:16 AM

Great!
Another romanian on the forum :thumbsup:

Welcome, Alex !

#17 lynch4fr

lynch4fr
  • Members
  • 2 posts
  •  
    France

Posted 01 June 2017 - 03:09 PM

Hi all,

I want to program a native executable. Maybe with native-nt-toolkit : https://code.google....ive-nt-toolkit/

But the project is down ? It is juste possible to download NDK.zip where is NDL.zip ? and SAMPLE ?

Where can i download a full version ? or a similar tool kit ?

 

Thanks !!!



#18 Blackcrack

Blackcrack

    Frequent Member

  • Advanced user
  • 458 posts
  •  
    Germany

Posted 01 June 2017 - 06:10 PM

cool :)

 

best regards

Blacky






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users