81 lines
2.6 KiB
Plaintext
81 lines
2.6 KiB
Plaintext
Written by Lord Somer
|
|
www.lordsomer.com
|
|
|
|
14. How do I hack ChanOp on IRC?
|
|
|
|
Find a server that is split from the rest of IRC and create your own
|
|
channel there using the name of the channel you want ChanOp on. When that
|
|
server reconnects to the net, you will have ChanOp on the real channel. If
|
|
you have ServerOp on a server, you can cause it to split on purpose.
|
|
|
|
15. How do I modify the IRC client to hide my real username?
|
|
|
|
Get the IRC client from cs.bu.edu /irc/clients. Look at the source code
|
|
files irc.c and ctcp.c. The code you are looking for is fairly easy to
|
|
spot. Change it. Change the username code in irc.c and the ctcp information
|
|
code in ctcp.c. Compile and run your client.
|
|
Here are the diffs from a sample hack of the IRC client. Your client code
|
|
will vary slightly depending on what IRC client version you are running.
|
|
|
|
*** ctcp.c.old Wed Feb 10 10:08:05 1993
|
|
--- ctcp.c Fri Feb 12 04:33:55 1993
|
|
***************
|
|
*** 331,337 ****
|
|
struct passwd *pwd;
|
|
long diff;
|
|
int uid;
|
|
! char c;
|
|
|
|
/*
|
|
* sojge complained that ircII says 'idle 1 seconds'
|
|
--- 331,337 ----
|
|
struct passwd *pwd;
|
|
long diff;
|
|
int uid;
|
|
! char c, *fing;
|
|
|
|
/*
|
|
* sojge complained that ircII says 'idle 1 seconds'
|
|
***************
|
|
*** 348,354 ****
|
|
if (uid != DAEMON_UID)
|
|
{
|
|
#endif /* DAEMON_UID */
|
|
! if (pwd = getpwuid(uid))
|
|
{
|
|
char *tmp;
|
|
|
|
--- 348,356 ----
|
|
if (uid != DAEMON_UID)
|
|
{
|
|
#endif /* DAEMON_UID */
|
|
! if (fing = getenv("IRCFINGER"))
|
|
! send_ctcp_reply(from, ctcp->name, fing, diff, c);
|
|
! else if (pwd = getpwuid(uid))
|
|
{
|
|
char *tmp;
|
|
|
|
*** irc.c.old Wed Feb 10 06:33:11 1993
|
|
--- irc.c Fri Feb 12 04:02:11 1993
|
|
***************
|
|
*** 510,516 ****
|
|
malloc_strcpy(&my_path, "/");
|
|
if (*realname == null(char))
|
|
strmcpy(realname, "*Unknown*", REALNAME_LEN);
|
|
! if (*username == null(char))
|
|
{
|
|
if (ptr = getenv("USER"))
|
|
strmcpy(username, ptr, NAME_LEN);
|
|
--- 510,518 ----
|
|
malloc_strcpy(&my_path, "/");
|
|
if (*realname == null(char))
|
|
strmcpy(realname, "*Unknown*", REALNAME_LEN);
|
|
! if (ptr = getenv("IRCUSER"))
|
|
! strmcpy(username, ptr, NAME_LEN);
|
|
! else if (*username == null(char))
|
|
{
|
|
if (ptr = getenv("USER"))
|
|
strmcpy(username, ptr, NAME_LEN);
|
|
|
|
|