Link to home
Start Free TrialLog in
Avatar of ianmarchant
ianmarchant

asked on

Unix Eggdrop Bot - How can I convert or run on Windows?

hi,
i have been given a copy of a specially written eggdrop bot (for irc) it has some extra modules and scripts in it which have been specially written for unix - to run on a unix shell. i need to be able to run this eggdrop bot on windows 2000 particularly, or run on some type of virtual unix environment that can run this eggdrop bot.

i do not really know anything about Unix or Linux and as there is SO MUCH to learn I really don't know where to start so please try to make this as simple as possible when it comes to the unix side of things. i know there is a dos version of the eggdrop bot, but dont think i can just merge the two. i have compared the two and with the unix one all the modules are .so files and in the dos version they are all DLLs plus there is numerous other differences like lots of files with no extensions etc...

so, can i run this under windows? what do i need to do to be able to do? can it be converted to run under the dos version of the eggdrop bot?

please assist as much as possible!

thanks
ASKER CERTIFIED SOLUTION
Avatar of yuzh
yuzh

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of ianmarchant
ianmarchant

ASKER

thanks for the replies.

ok, doesn't sound good. so what are my options...

x-windows emulator? Can you explain a bit more about what these are, will the bot and the script be able to run in this definitely? Is this like a virtual unix box?

i guess I could install M$ Virtual PC or VMWare and then install Linux (I guess that would b ok?) into that. However last time i tried linux, it took me weeks just to get the thing installed and thats without actually doing anything with it! Really would like to learn more unix/linux stuff but it's not that easy is it... there is so much, so many versions etc etc. If i go for this option which linux distribution would u recommend?

windows maybe a bit unstable yea, but i've got a pretty solid windows 2000 server and i dont have any other option as i dont know anything about unix/linux.

cheers

mandrake is very  userfriendly, it can run VmWare, so you can have your windows too.
ah you mean have by base operating system linux and then have a virtual pc of windows?

i would prefer to have this the other way round to be honest.

where can i get mandrake? i assume this is a linux distribution?

would it be simple to get the bot running on that? or would i need to install a shell on it? please could you explain each and every step of what i would need to do.

thanks for your help :)
>>x-windows emulator?

    An x-windows emulator is an Xserver program running in your windows PC, allow you
you connect from your Windows PC to the Unix box, run you application program in the
Unix box and display the out in your PC screen. your app and data is sitting in the Unix box, no need to port the app/script to windows.

 >> Where do I get Linux?
    http://www.linuxiso.org/

    You can also setup your *nix (Unix/Linux) box as a VNC server and setup install
VNC client in your windows PC.
    To learn more details about VNC and how to set it up, have a look at:
    http://www.hpcfactor.com/support/cesd/s/0042.asp
    http://www.nyu.edu/its/humanities/docs/vnc.html
> ah you mean have by base operating system linux and then have a virtual pc of windows?
Yes. - You need to patch and reboot windows once a week, for linux it is once a month, for *BSD it is once a year, unless you like to run system open to every wannabe hacker in the world.
>where can i get mandrake?
http://www.linux-mandrake.com/ftp.php3
>i assume this is a linux distribution?
100% correct
>would it be simple to get the bot running on that?
For me - Download time + 1 minute, for you hour + download time + two days.
>or would i need to install a shell on it?
Shell is basic interface of any UNIX and workalike, it will be preinstalled, just like you get GDI and Explorer on MS-DOS based systems
X-Window system is optional GUI of any UNIX and workalike, but nowadays it is most likely preinstalled by default.
thanks! that makes things a lot clearer.

i hope u dont mind but i have some more questions... (i'll number em so its easier to answer)... i need to understand some more about linux, i know some of them are quite basic, but there is so much stuff out there about it, its hard to find the right info....

1. so an x-windows emulator is just another remote control tool, like pcanywhere or VNC? (i use vnc on my windows box sometimes)
2. do all executables in unix/linux have no extension? is every file that doesnt have an extension in linux/unix an executable?
3. r u saying that mandrake is the best linux distribution? is this for any reason? or it is REALLY the easiest to install, configure, maintain?
4. does all unix/linux software work on all flavours of linux/unix?
5. would this eggdrop bot just run in and from the console or do i run it in a window in the "windows" type system?
6. what are the typical mini spec for linux or is it different for each distribution? i'm especially meaning RAM here cause if i run it as a virtual PC (i only have 512) i need to give it some, as little as possible really. my pc spec is: P4 2Ghz, 512MB PC3200 RAM, lots of HD space RAID1... should be ok?
7. will i have to download all the drivers for all my different types of hardware for linux? are any inbuilt? is it plug and play?

cheers
1) no
2) no such thing. no.
3) for newbie. yes maybe no.
4) no
5) whatever you choose
6) 386SX 4MB ram 16M disk
7) no. yes. completely and flawlessly.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Oopes, VMware is not easy for you. Then forget about it.

Wesly
not sure what 1M sized program will do with 512M of ram ....
I think it is easier for you to just install an x-windows emulator in your Windows PC (one minute) to setup, and then have fun.

eg:
Xwin32:
    http://www.starnet.com/products/

or (free):
   Cygwin/X ( http://x.cygwin.com/ )
now i'm really confused!

gheist:

1) no << so x-windows is an emulator which connects to a unix box but runs them in front of you? similar to terminal services in windows?
2) no such thing. no. << how come then that lots of files in this package have no extension... also the file i run to start my psybnc which is running on a shell doesn't have any extension... although maybe I'm wrong!
3) for newbie. yes maybe no. << ?
4) no << ok but will an eggdrop bot run on any version? or are u saying that the additional code that has been written may not work on every favour?
i will however find out what linux/unix the additional modules/code was written in so that i can replicate that.

wesly_chen:

why isn't vmware easy for me? i'm still considering installing it on my w2k box and then installing linux in a virtual machine as i only need it for this 1 purpose (which is annoying).

yuzh:

am i right in saying that an x-windows emulator still needs a unix/linux box anyway?

thanks for the help and suggestions guys, sorry i'm not getting this i'm really not a unix person!
> 1) so x-windows is an emulator which connects to a unix box but runs them in front of you?
>  similar to terminal services in windows?
No, if you have Unix/linux box, x-windows is a terminl (both text and graphic). Type "xterm" in Linux box then you will know.
It's not VNC (remote virtual desktop).

> how come then that lots of files in this package have no extension
Linux files is decidec by its file permission (Of course, itself need to be runnable). Not by extension.
Do
# file <executable file name>
you will see it is binary (usually executable) or ASCII.

> why isn't vmware easy for me
Well, you need weeks to install Linux, with VMware, it might take you longer time. However, it is very convenient since
VMware allows you to run multiple OSs on one PC at the same time. It depends on you.

> am i right in saying that an x-windows emulator still needs a unix/linux box anyway?
Yes, you are right.

Wesly
ah thanks, so x-windows is like terminal services in windows 2000/xp/2003 then!

so now it really does look like my only option is to install linux inside a VmWave machine... (which is something i have been meaning to do for ages anyway).

i've downloaded all 3 ISO's of Mandrake linux now, do i need them all??? I'm gonna need some tips on installing I guess... what to install, what not to install etc etc etc...

cheers
> so x-windows is like terminal services in windows 2000/xp/2003 then!
Still no.  Terminal services in windows 2000/xp/2003 in similar to VNC.
X-Windows for text is similar to telnet.

Wesly
> what to install, what not to install
Just keep pressing Enter key, I hope you know how to, since you are big windows fan...
You need to find out the EXACT version of OS "Eggdrop Bot" is running on, if you are
not sure, ask the Software vendor. If the Software binary is not for Linux, and you setup
an Linux box, it will not help! (For scripts it might need to modify to work for different
platforms!).

ok got you loud and clear. finding out from the guy who programmed the scripts.

i'll come back to you when i know.

thanks
right i've found out that the guy who programmed the bot runs and developed it on linux slackware. however he did say it would work on any linux distribution or possibly cygwin.

so i've downloaded cygwin (to give it a go) and installed it. i've tried starting the bot, but every command i give it just comes back with "command not found".

i guess i may need to do something so that it's runable?

thanks
> "command not found".
Where did you put the eggdrop bot?

Copy to c:\cygwin\usr\local\<eggdrop>   <==== <eggdrop> is the folder name

In cygwin, type in
$ export PATH=$PATH:/usr/local/<eggdrop>/bin   (suppose there is "bin" folder under <eggdrop>)

And try it.

Besides, IMHO, have some study for Linux/Unix and you will have a happy experience with Linux.

Regards,

Wesly
i have put the eggdrop under C:\Cygwin\home\admin\eggdrop, it seems to default to C:\cygwin\home\admin when i run cygwin anyways. there isn't a bin folder under the eggdrop folder.. so not sure what to do there. what does that "$ export path" command do???

anyway when i run it from the C:\Cygwin\home\admin\eggdrop folder it errors with: bash: ./eggdrop.eggd: /home/admin/eggdrop: bad interpreter: Permission denied

what does that mean? i can access the folder fine, so i wouldnt have thought it was rights or anything...

thanks for the help :)
> ./eggdrop.eggd: /home/admin/eggdrop: bad interpreter: Permission denied
It sounds like the file permission issue.
Do as root in cygwin
# chmod -R 755 /home/admin/eggdrop
And add
export PATH=$PATH:/home/admin/eggdrop
to your .bashrc.

Wesly
tried that still no joy. i think i need a crash course in cygwin!

> Do as root in cygwin
do you mean login as root? When I load up cygwin it doesn't ask me for a user or pass it just starts at the command prompt.

> # chmod -R 755 /home/admin/eggdrop
with or without the "#" ? I tried both anyway and didn't seem to make a difference.

> to your .bashrc.
done that  believe, what is the .bashrc file for?

thanks :)
1) you are always superuser here
2) it gives no output either way
3) to set up bash shell, the program where you type all your commands

have you managed to install that drop-dead software ????
drop dead software??? what do u mean
> with or without the "#" ?
"#" is the prompt. You don need to type it.

> I tried both anyway and didn't seem to make a difference.
Do
ls -al /home/admin/eggdrop
you will see all the files are starting with
-drwxr-xr-x
It means all executable

< And add  export PATH=$PATH:/home/admin/eggdrop to your .bashrc.\
> done that  believe
Please
echo $PATH
to see your path environment variable

By the way, IMHO, you might want to study some Unix/Linux stuff for more understanding.
This will make your life easier with Unix/Linux/cygwin.

Regards,

Wesly
i think $ is the prompt, that is what every line seems to start with.

when i do ls -al i get:

drwxr-xr-x+  10 Manager  None            0 Nov 19 22:20 .
drwx------+   3 Manager  None            0 Nov 21 23:59 ..
-rwxr-xr-x+   1 Manager  None        25159 Nov  5 21:40 README
-rwxr-xr-x+   1 Manager  None         1194 Nov  5 21:40 botnetop.conf
drwxr-xr-x+   5 Manager  None            0 Nov 19 22:20 doc
-rwxr-xr-x+   1 Manager  None            0 Nov  5 21:40 eggdrop
-rwxr-xr-x+   1 Manager  None       311656 Nov  5 21:40 eggdrop-1.6.15
drwxr-xr-x+   3 Manager  None            0 Nov 19 22:20 filesys
drwxr-xr-x+   4 Manager  None            0 Nov 19 22:20 help
drwxr-xr-x+   2 Manager  None            0 Nov 19 22:20 language
drwxr-xr-x+   2 Manager  None            0 Nov 19 22:20 logs
-rwxr-xr-x+   1 Manager  None            0 Nov  5 21:40 modules
drwxr-xr-x+   2 Manager  None            0 Nov 19 22:20 modules-1.6.15
-rwxr-xr-x+   1 Manager  None          375 Nov 21 23:59 eggdrop.eggd
drwxr-xr-x+   2 Manager  None            0 Nov 19 22:20 scripts
drwxr-xr-x+   2 Manager  None            0 Nov 19 22:20 text

i'm not sure which line i should be looking at? is all that ok?

the path output:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/WINDOWS/system32:/cygdri
ve/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/Symante
c/pcAnywhere/:/cygdrive/c/Program Files/Common Files/Roxio Shared/DLLShared:/hom
e/admin/eggdrop

i realise i do need to learn a lot about linux/unix but there is so much it would take forever... all i really need to know is how to get this bot up and working! if thats possible, i'm sure it shouldnt be this difficult!
Could you start eggdrop now?

Wesly
zero length executable does not seem to work
try ln -sf eggdrop-1.6.15 eggdrop

in that dir listed
> -rwxr-xr-x+   1 Manager  None            0 Nov  5 21:40 eggdrop
                                                          ^^
The copy of the eggdrop is not right since its file size is 0.

Check the original files and re-copy again or talk with your friend about this.

Wesly
a lot of files with 0 size !!!
> -rwxr-xr-x+   1 Manager  None            0 Nov  5 21:40 eggdrop
> -rwxr-xr-x+   1 Manager  None            0 Nov  5 21:40 modules
Only 2 files with 0 size, the rest are the directories.
However, I don't know there might be some more 0-size files under the subdirectories.

Wesly
> ./eggdrop.eggd: /home/admin/eggdrop: bad interpreter: Permission denied
the hashbang line is not correct (or it's caise the file is 0 bytes, which is similar, somehow:)
the following are files in that directory:

-rwxr-xr-x+   1 Manager  None        25159 Nov  5 21:40 README
-rwxr-xr-x+   1 Manager  None         1194 Nov  5 21:40 botnetop.conf
-rwxr-xr-x+   1 Manager  None       311656 Nov  5 21:40 eggdrop-1.6.15
-rwxr-xr-x+   1 Manager  None          375 Nov 21 23:59 eggdrop.eggd

the rest are directories indeed, which do have lots of other files in them. i can post a complete listing if you like.

he told me to start it with the eggdrop.eggd file, this is the trouble, he has customised it so much its not a standard eggdrop bot anymore, which i believe is where the problem lies (and why some files have a size of 0 bytes). he said this should be easy to get running! Unfortunately, he isnt around much to help or ask questions.

i've tried to run eggdrop-1.6.15 file aswell, but that gives me an error that "(" is expected... something like that.

sorry there isn't much to go on. could this be something to do with the linux that he developed and runs this on? linux slackware apparently its called... never heard of it myself though!

could i approach this from a different way... could i download a fresh version of the eggdrop then copy over the custom scripts (.TCL files) and custom modules (which i believe are the .SO files)... would that work?
it's the file eggdrop itself, see previous comments
yes, i know, but what i'm saying is that the guy who re-developed this changed it so that it doesn't use an eggdrop file anymore it uses other custom executable files.

what are .SO file types?
you must compile program for your platform, not just copy...
but he told me that it would work on any version of linux, probably on cygwin aswell.. hence why i'm trying it
> -rwxr-xr-x+   1 Manager  None            0 Nov  5 21:40 eggdrop
> -rwxr-xr-x+   1 Manager  None       311656 Nov  5 21:40 eggdrop-1.6.15
> -rwxr-xr-x+   1 Manager  None            0 Nov  5 21:40 modules
> drwxr-xr-x+   2 Manager  None            0 Nov 19 22:20 modules-1.6.15
If my guess is correct, these two 0-size files are symbolic link to other files.
Do
$ cd /home/admin/eggdrop
$ rm eggdrop modules
$ ln -s ./eggdrop-1.6.15 ./eggdrop
$ ln -s ./modules-1.6.15 ./modules
And then run
eggdrop.eggd

Wesly
>  but he told me that it would work on any version of linux, probably on cygwin aswell.. hence why i'm trying it
yes, but you need to compile for each platform: either linx or cygwin, and then use just that binary on that platform
Hi,

   ahoffmann and gheist try to tell you that the executable file can run in one version of Linux but might not run in different
version of Linux.

   For example, the program run under Windows XP might not run under Window 98.

   In Linux/Unix world, if you have the souce codes (*.c *h files), then you can re-compile them under your Linux to
re-generate the executable files.

   If you understand this concept, then the compilation job need the assistence from your friend since he wrote those codes.

Regards,

Wesly
> ..  that the executable file can run in one version of Linux but might not run in different version of Linux
the bold word is: might
'cause it depends on many things (but simple programs run flawless in most versions)

same applies to cygwin: might run if compiled in NT and run in w2k (but my experiance: it won't)

intermixing native linux with cygwin does not work, for shure
wesly_chen:

Do
$ cd /home/admin/eggdrop
$ rm eggdrop modules
$ ln -s ./eggdrop-1.6.15 ./eggdrop
$ ln -s ./modules-1.6.15 ./modules
And then run
eggdrop.eggd

what will this do? so these links are like shortcut type things?

ok, so it really looks like my only option is to get exactly the same version of linux that this programmer uses? which he said was linux slackware ... he said it was quite "hardcore" .. opinions please, would i be able to work out this version and get it setup? and where could i get linux slackware?
 
http://www.google.com/search?q=slackware

it is not about original question, please grade and set new question in Linux area
> $ ln -s ./eggdrop-1.6.15 ./eggdrop
> $ ln -s ./modules-1.6.15 ./modules
> so these links are like shortcut type things?
Yes, "symbolic link" in Unix/Linux is similar to shortcut in M$ Windows. But the mechanism is different.
After you do the "ln -s" commands above, do "ls -al /home/admin/eggdrop" and you will see:
rrwxr-xr-x+   1 Manager  None            0 Nov  5 21:40 eggdrop -> ./eggdrop-1.6.15
lrxwrxwrwx   1 Manager  None            0 Nov  5 21:40 modules -> ./modules-1.6.15

Well, Symbolic link is quite basic Linux concept, you might want to study some Linux book.

Regards,

Wesly
gheist, why is not about the original question? i wanted to get this eggdrop bot running and that is something which i still havent been able to do.

wesly_chen, thanks i am intending reading up on linux.
ok well i guess i will ask more questions when i come to install and play with linux.

thanks for the help everyone. i'm going to split the point between the people who helped the most.
I have an enormous amount of experience coding bots/botnets from scratch. Most people (your friend) will just take an older version of eggdrop and hack it up. Possibly they have just written some tcl script for it. If you want it running flawlessly on windows, then have your friend write all modules in C instead of tcl or whatever scripting language that he/she is using. It will perform a whole lot better. Also, just have them port it over to windows. If they can do socket programming in linux/unix, windows sockets programming will be a breeze.
thanks for your input. the bot i have includes some TCL and I do believe some is coded in C, although I am not sure. i would have my friend re-code it and get it working for me, but he hasn't got time now and is rarely around. is this something you would be able to do for me?