Amiga.org
Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: dcr8520 on February 06, 2003, 04:27:28 AM
-
Hello all,
doing some test with the bsdsocket.library, I get (with tcpdump) the following text:
---
BLIZZARDRAM RAM AUTOCONFIG Blizzard 1260 Autoconfig Stuff
Version 1.00 9-Jul-95
(c) phase 5 digital products 1992-95
WELCOME TO THE MACHINE
---
it is supposed that goes out from my blizzard, but, ¿why it pass through a inet connection????
yes, I am a bit paranoic... but the welcome message is suspicious to me....
I dont remember to see before a msg like this, someone knows its nature?
regards
-
:-o
Phase 5 isn't dead, they're just hiding and monitoring internet traffic!!!
GAAAAAAAAAAA A A A AA AA AA A A A A A!!!
-
:-P :-P :-P
-
phase5 has backdoor to every machine running their accelerator:)))))))))))
-
Yes,
They come in through the power lines. I can feel my a4000 watching me now. Waiting....
:-D :-) :-D
-
dcr8520 wrote:
Hello all,
doing some test with the bsdsocket.library, I get (with tcpdump) the following text:
Can you tell us what have you done in order to obtain this text? (step by step, if possible ;)
Thanks!!! :-)
-
I'm pretty sure I saw that text, or something similar once in a memory dump when I was debugging a program. Think it's in one of the p5 libraries, but not sure.
You could search for the text in all your system files, eg
search sys:#? all "WELCOME TO THE MACHINE"
...it may take a while though ;-)
Conspiracy....
-
joder Zurt k cosas pides.. :-D
well, step by step... mmm...
I get the file httpget.c from the AmiTCP 4.3 SDK, and was edited a bit:
try compiling this:
+++++++++++++++++++C+U+T+++H+E+R+E++++++++++++++++++++++++++++++++++
#include
#include
#include
#include
struct ExecBase * SysBase;
struct DosLibrary * DOSBase;
struct Library * SocketBase, *TimerBase;
#include
#include
#include
#include
#include
int init() {
if ((DOSBase = (struct DosLibrary *)OpenLibrary("dos.library", 37)) == NULL) return FALSE;
if ((SocketBase = OpenLibrary("bsdsocket.library", 4)) == NULL) return FALSE;
return TRUE;
}
void clibs() {
CloseLibrary(SocketBase);
CloseLibrary((struct Library *)DOSBase);
}
void err(const char *msg) {
fprintf(Output(), msg);
exit(20);
}
static int do_connect(char * name, int port);
static void netperror(char * banner);
//int httpget(char * url)
int main()
{
char buf[1024], *url;
char * p, * u;
int i, port = 80, sd;
*p = '\0';
if(!(init())) err("Can't open LIB!");
if ((sd = do_connect("www.amiga.com", port)) < 0) err("err conectando!");
*p = '/';
if ((send(sd, "GET ", 4, 0) != 4) || (send(sd, u, i, 0) != i)) {
netperror("send");
return 20;
}
while ((i = recv(sd, buf, sizeof buf, 0)) > 0)
Write(Output(), buf, i);
if (i != 0) {
netperror("recv");
return 20;
}
return 0;
}
int
getSockAddr(const char * host,
int port,
struct sockaddr_in * addr)
{
struct hostent * remote;
if ((remote = gethostbyname(host)) != NULL)
memcpy(&addr->sin_addr, remote->h_addr, sizeof addr->sin_addr);
else if ((addr->sin_addr.s_addr = inet_addr(host)) == (unsigned long)-1) {
return FALSE;
}
addr->sin_port = htons(port);
addr->sin_family = AF_INET;
return TRUE;
}
const int ONE = 1;
int inetconn (const struct sockaddr_in * addr)
{
int sd;
if ((sd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
netperror ("socket");
return -1;
}
setsockopt(sd, SOL_SOCKET, SO_KEEPALIVE, &ONE, sizeof ONE);
if (connect(sd, (struct sockaddr *)addr, sizeof (struct sockaddr_in)) < 0) {
CloseSocket(sd);
netperror("connect");
return -1;
}
return sd;
}
static int do_connect(char * host, int port)
{
struct sockaddr_in
addr = { 0 }; /* implicit bzero() here when compiled w/ gcc */
if (getSockAddr(host, port, &addr) == FALSE) {
Printf("Cannot resolve host address\n");
return -1;
}
return inetconn(&addr);
}
static void netperror(char * banner)
{
ULONG taglist[5];
taglist[0] = SBTM_GETVAL(SBTC_ERRNO);
/* taglist[1] set when tag 0 executed */
taglist[2] = SBTM_GETREF(SBTC_ERRNOSTRPTR);
taglist[3] = (LONG)&taglist[1]; /* reads and writes tag[1] */
taglist[4] = NULL; /* TAG_END if is included */
SocketBaseTagList((struct TagItem *)taglist);
if (banner)
Printf("%s:", banner);
Printf("%s\n", (char *)taglist[1]);
}
+++++++++++++++++++C+U+T+++H+E+R+E++++++++++++++++++++++++++++++++++
I dont know exactly how it was happened.. seems the connection was closed and I even receive data from somewhere (?)
the first time I do it I was received a send() error (or may recv()? I dont remember now),
When I try it now I receive a broken pipe (it happens some secs after the connection was closed and getting data at 17Kb/s with my dialup!!=)
Sorry, I cant be more precise, I will do some test and tell us if something more strange succes... ;-)
hey zurt esto se parece a lo del type no? :-P (a good race condition!)...
regards.
pd.: Karlos: I already do it before the post, without luck
-
Why not send an Email to Ralph Schmit, at the MorphOS team...
If anyone knows about it he might!!! He's the only member of the Phase5 team who is going to give you an answer, if he knows of course. Because he might know less about it than I do.
-
Sometimes something similar happens to me, too, while downloading a file with Voyager. Sometimes it saves a file which at first glance seems the correct one (same name, same size), but instead it contains what seems to be a rom dump of my Blizzard 1230. If someone is interested I've saved one of these files. Inside it contains the string "BLIZZARDRAM RAM AUTOCONFIG", but nothing more. Really a weird thing :)
Varthall
-
dcr8520 wrote:
joder Zurt k cosas pides.. :-D
well, step by step... mmm...
I get the file httpget.c from the AmiTCP 4.3 SDK, and was edited a bit:
try compiling this:
+++++++++++++++++++C+U+T+++H+E+R+E++++++++++++++++++++++++++++++++++
Well, I don't know where p5 put their ROM, but if they need special things down right from the get go, then sticking it at address 0 would seem prudent. In that case, this text could represent a read from address 0 probably from a NULL pointer.
I didn't find that particular bug, but you have bugs that could be causing the kind of corruption that could cause this later (and somewhat randomly). For example...
//int httpget(char * url)
int main()
{
char buf[1024], *url;
char * p, * u;
int i, port = 80, sd;
*p = '\0';
if(!(init())) err("Can't open LIB!");
if ((sd = do_connect("www.amiga.com", port)) < 0) err("err conectando!");
*p = '/';
Here you dereference p without assigning it an address to point to.
i.e. you set the address that p points to the value char 0 before you set p to an address. So, somewhere in memory, and you cannot tell where, you are altering a byte!!
Your compiler should be warning you.