PDA

View Full Version : windows internals


Bill Cunningham[_2_]
June 18th 15, 06:40 PM
I don't expect MS to share their source code. But what about people who
are interested in how windows works inside? There is
http://technet.microsoft.com but they don't seem to answer everything. Are
there any other good sources anyone knows abut they might want to share?

Bill

Mayayana
June 18th 15, 06:57 PM
| I don't expect MS to share their source code. But what about people who
| are interested in how windows works inside? There is
| http://technet.microsoft.com but they don't seem to answer everything. Are
| there any other good sources anyone knows abut they might want to share?
|

It depends on what you want to know or do.
The Win32 API is a set of functions that provides
access for programmers. If it's documented there
you can depend on it. Things that are not
documented can change at any time.

I think it helps if you view Windows as a platform.
It provides functionality for software, interfacing
with the hardware. If you want to know exactly
how the platform works that will be very difficult
to find out, and it's very specialized. If you want to
use the platform there's documentation.

Bill in Co
June 18th 15, 06:58 PM
Bill Cunningham wrote:
> I don't expect MS to share their source code. But what about people who
> are interested in how windows works inside? There is
> http://technet.microsoft.com but they don't seem to answer everything. Are
> there any other good sources anyone knows abut they might want to share?
>
> Bill

How about some technical books that could be found via a search on Amazon or
some other book sites, for example? That's where I'd start.

Bill Cunningham[_2_]
June 18th 15, 07:56 PM
"Mayayana" > wrote in message
...
>| I don't expect MS to share their source code. But what about people
>who
> | are interested in how windows works inside? There is
> | http://technet.microsoft.com but they don't seem to answer everything.
> Are
> | there any other good sources anyone knows abut they might want to share?
> |
>
> It depends on what you want to know or do.
> The Win32 API is a set of functions that provides
> access for programmers. If it's documented there
> you can depend on it. Things that are not
> documented can change at any time.
>
> I think it helps if you view Windows as a platform.
> It provides functionality for software, interfacing
> with the hardware. If you want to know exactly
> how the platform works that will be very difficult
> to find out, and it's very specialized. If you want to
> use the platform there's documentation.

That's what I'm looking for. As a platfom or OS. I know they use
components which are a library of functions. What I would be interested in
would probably need to tie directly to the kernel. Not so much applications.

Bill

VanguardLH[_2_]
June 18th 15, 08:07 PM
Bill Cunningham wrote:

> I don't expect MS to share their source code. But what about people
> who are interested in how windows works inside? There is
> http://technet.microsoft.com but they don't seem to answer
> everything. Are there any other good sources anyone knows abut they
> might want to share?

https://technet.microsoft.com/en-us/sysinternals/bb963901.aspx

Written by Mark Russinovich, the author of the SysInternals utilities
that Microsoft eventually acquired. A bit pricey for my pockets plus
I've never had to delve that deep into the OS. Unless you're looking
into becoming an OS programmer, this could be more than you want to
know. With all the technologies rolled into this OS, it could take you
years to figure it all out - or, at least, to get dangerous.

Mayayana
June 18th 15, 08:27 PM
| That's what I'm looking for. As a platfom or OS. I know they use
| components which are a library of functions. What I would be interested in
| would probably need to tie directly to the kernel. Not so much
applications.
|

That's a *very* big topic. You can do a
search for what you want to achieve. That's
likely to turn up APIs. Then there's the
matter of what language you use to call the
APIs and how that gets applied -- script,
compiled, etc.

An application is something that uses the
platform APIs (functions). One doesn't "tie
directly to the kernel", except maybe a very
sophisticated virus. In other words, Windows
as a platform doesn't expose Windows' own
functionality. Whatever you can get Windows
to do is done by writing software applications.

Example: You can call GetVersionEx in
kernel32.dll to get the Windows version.
There's documentation here that you can
find by searching:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms724451%28v=vs.85%29.aspx

So, say you want to use that function.
First you need to be working with some kind
of programming tool that can call Win32 API
functions. Then you have to know how to
call it. You also need to know how to handle
the returned address to a data structure that
holds the info.

Assuming you know a programming language
and have something like Visual Studio, you can
proceed. But then if you read the link above you'll
see that there are gotchas: GetVersionEx may not
work properly in Win10. In the future it will return
the version that a program says it runs in, rather
than the version actually running! MS says to use
other methods in 10+ if you want to get the Windows
version.

There are also other gotchas that MS is not
telling you. First, the minimum supported version
is usually a lie. MS docs used to list the actual min
Windows version, which is probably Win95 for
GetVersionEx. But increasingly they just pretend their
older products don't exist. Does your software need
to run on Win98. No problem. But you'd think otherwise
if you listen to Microsoft's marketing dept lies.

There's another gotcha
with OS emulation. If you run a program on Vista and
tell Windows to run it as if it were XP, then if
that program tries to use GetVersionEx it will be told
it's running on XP! Very confusing. And MS doesn't
tell you about that abberant behavior. So actually,
GetVersionEx has limited usability these days.
Nevertheless, it's the standard method for checking
what Windows version you're running on.

So that's a partial, quickie rundown on one kernel
function that *should* tell you what version of
Windows is running. :)

As you can see, it gets very complex, very quickly.
On the other hand, there's no reason to call GetVersionEx
unless it's from inside a program that you've written,
which needs to run differently on different Windows
versions. Since you haven't even given a clue as to
what you actually want to do there's no way to even
begin to explain how or if you might do it.

Bill Cunningham[_2_]
June 18th 15, 08:55 PM
"VanguardLH" > wrote in message
...

> https://technet.microsoft.com/en-us/sysinternals/bb963901.aspx
>
> Written by Mark Russinovich, the author of the SysInternals utilities
> that Microsoft eventually acquired. A bit pricey for my pockets plus
> I've never had to delve that deep into the OS. Unless you're looking
> into becoming an OS programmer, this could be more than you want to
> know. With all the technologies rolled into this OS, it could take you
> years to figure it all out - or, at least, to get dangerous.

Sounds like what I would want. So they sell it in expensive book then. I
know what you mean by "...ora at least, get dangerous." I do have Andrew
Tannebaum's book though it's an older edition. It seems to teach a bit. But
windows design is quite different than *nixs. Including minix.

Bill

Bill in Co
June 19th 15, 12:30 AM
Bill Cunningham wrote:
> I don't expect MS to share their source code. But what about people who
> are interested in how windows works inside? There is
> http://technet.microsoft.com but they don't seem to answer everything. Are
> there any other good sources anyone knows abut they might want to share?
>
> Bill

First match which I found on an Amazon search which just might be what
you're looking for:

"Windows Internals", by MS guru Mark Russinovich (who has also written some
MS utilities, like the Sysinternals stuff. He has several books listed
there. I also seem to recall some titles like Inside Windows from various
authors from the past. (even Norton had one as I recall).

JJ[_11_]
June 20th 15, 11:03 AM
On Thu, 18 Jun 2015 13:40:24 -0400, Bill Cunningham wrote:
> I don't expect MS to share their source code. But what about people who
> are interested in how windows works inside? There is
> http://technet.microsoft.com but they don't seem to answer everything. Are
> there any other good sources anyone knows abut they might want to share?
>
> Bill

I'd suggest checking out ReactOS' source code since they're based on reverse
engineered Windows 2000. i.e. those that aren't part of any API. Not in
details (e.g. exact data structure), but in overall.

Bill Cunningham[_2_]
June 21st 15, 01:23 AM
"JJ" > wrote in message
.. .

> I'd suggest checking out ReactOS' source code since they're based on
> reverse
> engineered Windows 2000. i.e. those that aren't part of any API. Not in
> details (e.g. exact data structure), but in overall.

I will. Does reactOS if you happen to know right off support something
similar to "components". MS really copied that from Apple.

Bill

Bill in Co
June 21st 15, 02:21 AM
Bill in Co wrote:
> Bill Cunningham wrote:
>> I don't expect MS to share their source code. But what about people
>> who are interested in how windows works inside? There is
>> http://technet.microsoft.com but they don't seem to answer everything.
>> Are
>> there any other good sources anyone knows abut they might want to share?
>>
>> Bill
>
> First match which I found on an Amazon search which just might be what
> you're looking for:
>
> "Windows Internals", by MS guru Mark Russinovich (who has also written
> some MS utilities, like the Sysinternals stuff. He has several books
> listed
> there. I also seem to recall some titles like Inside Windows from various
> authors from the past. (even Norton had one as I recall).

I'm curious, Bill, if any of the books by Russinovich were of any help?

Mayayana
June 21st 15, 02:33 AM
| I will. Does reactOS if you happen to know right off support something
| similar to "components". MS really copied that from Apple.
|

Why don't you explain what you're wanting to do?
You're getting good answers for someone who wants
to master OSs and maybe get a job at Microsoft. But
you said you wanted to use the platform functionality,
which would imply writing software. And talking about
components implies relatively high-level programming,
not the kind of low-level stuff you'd be getting from
Mark Russinovich. (I'd guess that one probably needs
a computer science degree to even understand his book.)

You keep asking questions that imply you don't
know enough to ask the question. Then you never
clarify what you really need. Maybe you're just
posting to chat? Usually people post about a particular
issue they need to figure out.

Nil[_5_]
June 21st 15, 06:07 AM
On 20 Jun 2015, "Mayayana" > wrote in
microsoft.public.windowsxp.general:

> You keep asking questions that imply you don't
> know enough to ask the question. Then you never
> clarify what you really need. Maybe you're just
> posting to chat?

Bingo.

Google