Use TCP/IP before OS booted - bootloader

I have tried to find ways to actually send and recieve data from a remote computer before the OS is booted with windows boootloader. Is there any way I can send or recieve data with TCP/P before the OS is fully booted up?

There are several viable solutions. The easiest is to look at something like the PXE toolkit http://pxe-toolkit.sourceforge.net/web-site.html
It's quite powerful, and can probably do what you wish to do.
There are options, look at the bootp protocol. have a look at the following project as well:
http://gynvael.coldwind.pl/?id=423

Related

How to pull info off the bios as a file

I am messing around with some coding and have some used/broken computers. I would like to see what kind of stuff I can do remotely to these computers.
I have a PXE boot setup to install operating systems remotely. What I am wondering is that if there is a way to pull the system/hardware information off of the machines from another computer (ethernet preferably) at the bios.
From there, I would like to save it as a file externally?(I would also be curious if I could wipe the data on these remotely too).
Hopefully, this is clear enough, let me know if you have questions.
I will eventually figure this out but I was hoping for a kickstart in the right direction.
Thanks for the help in advanced!
Well, maybe you can start 'hacking' the grub legacy source code, grub 0.97 already have network boot support, some file systems and a primitive hard disk driver.
As a bonuses, grub legacy works on protected mode but have some pretty simple functions to switch to real mode and from there you can call whatever BIOS services you want, so I think you can deviate grub from your primary function and adapt to your necessity.

Is there a WinAPI way to detect remote applications like LogMeIn?

Years ago, there were functions in Win32 whereby the app could check to see if a user was running the app via Terminal Services/Remote Desktop. I thnk it was something like:
GetSystemMetrics(1000H)
Is there a system call one can make to check to see if a Win32 or Win64 app is being run remotely via a program like GotoMyPC or LogMeIn?
No, there is not. Those are third party apps doing their own video/input capturing and network streaming. They are plain ordinary apps as far as Windows is concerned. Terminal Services is built into Windows, which is why there are APIs to query TS status.
The only way I can (currently) think of, other than using the aforementioned API call, is also seeing if any particular processes you can identify are running (e.g. GotoMyPC or LogMeIn... they will have some process running). Without doing too much research, they may be running without actually having someone using them. If, however, they launch something to do the streaming, you could check for that.
Just to make sure that this isn't an XY problem, what is it that you're trying to do - and perhaps there is another way?

running Mathematica remotely on macs

Here is what I want to do:
I want to run Mathematica on another Mac from my Mac (both Snow Leopards). I want to do this because the remote Mac has multiple cores/processors while my local Mac is rather shabby. I would like to have the front end still locally (i.e. the graphical interface).
What I've learned:
I used to do this type of thing from multiple Linux machines and was expecting to have similar success for Mac-to-Mac operation. However no such luck.
The problem seems to be a display issue (front end).
Mac front end runs in Aqua while X11 is what is really needed (this is why there is no problem on Unix). While Macs have X11, for some reason Mathematica can't use it.
So how do I get around this issue?
Possible solutions that I have had to rule out are: 1. screen sharing. Not practical since someone else will be using the remote Mac on another account. Screen sharing only uses the active screen. 2. Installing Unix on the remote computer. Not possible in my situation.
Thanks.
You should be able to set up a remote kernel on the other Mac. This is done through the Evaluation > Kernel Configurations menu item. The you can set the remote kernel for a given notebook using Evaluation > Notebook's Kernel or globally via Evaluation > Default Kernel.
I haven't done this in a while, and it's sometimes useful to test things from a terminal with something like
ssh <user>#<remote.machine.com> </path/to/remote/Mathematica.app/Contents/MacOS/MathKernel>
Why not use the command line kernel? I have a script math which does:
#!/bin/bash
rlwrap /Applications/Mathematica.app/Contents/MacOS/MathKernel
I built rlwrap from source, but basically that tool gives you readline behaviors. You can just do
ssh remote-machine /Applications/Mathematica.app/Contents/MacOS/MathKernel
The only solution, I believe, is for you to upgrade to OS X Lion. It allows simultaneous screen sharing sessions where each user can control the screen for their own account:
http://www.apple.com/macosx/whats-new/features.html#screensharing

Informations about processes/windows inside VMware

I was wondering if it is possible to gather information about a running virtualized system (e.g. enumerating processes, finding window captions, window positions on a windows system).
My naive approach was using ReadProcessMemory() on vmware-vmx.exe and searching for data structures like _tagWND. This didn't work out as expected. :/
I don't want to "touch" the guest system if I don't have to.
So, how could I achieve this?
There are APIs to talk to the VMware Tools inside the guest. See the VMware VIX API here.
In the list of common tasks from the documentation, there are the following guest operations that would probably do what you're after:
VixVM_ListProcessesInGuest()
VixVM_RunProgramInGuest()
VixVM_RunScriptInGuest()

Pointers to creating virtual monitor drivers for OS X

I'd like to create a virtual monitor driver for OS X. What I mean by virtual is a monitor driver that does not drive an attached monitor, yet fools OS X into thinking there is such a monitor attached.
The purpose? It can tunnel display data to some other device over some other protocol, say VNC.
I believe this has been done before in one form or another (perhaps those apps that turn your iPad into a secondary display).
Any coding/kernel hackery pointers on this would be appreciated!
After days and days of attempts, I found http://code.google.com/p/ioproxyvideofamily/ which works like a charm. Tried EWProxyFramebuffer, tried iDisplay, but this is the first one that actually works!
- Update -
Sounds like ioproxyvideofamily hasn't been kept up to date with new OS's. I haven't tried it (or any alternatives) since 10.7. If you find a better alternative, create a new answer to this question.
https://github.com/mkernel/EWProxyFramebuffer can do what you want. You have to compile it with xcode yourself and to install EWProxyFrameBuffer.kext to /System/Library/Extensions and EWProxyFrameBufferConnection.framework to /System/Library/Frameworks. Make sure all rights of the installed files are 755 and owner/group is root/wheel. Using EWProxyFrameBuffer.app, you can then de-/activate the monitor.
I try to get http://code.google.com/p/ioproxyvideofamily/ working. Is it Lion or is it me? Because it doesn't show in System Information/Software/Extensions. Also the provided applications doesn't work.
I'm about to check out the source to see if there is something fishy in there.

Resources