Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Omegle-Spy thread! Post your logs!

Name: Anonymous 2010-08-18 6:39



Omegle-Spy is a Java application that acts as an omegle host, and connects two unsuspecting omgle-users to you, so you can snoop in on the conversation, and send messages to the participants individually, without letting the other party know.

It's hilarious.

http://code.google.com/p/omegle-spy/
http://www.mediafire.com/download.php?bh96rtq85r3tc57

The MediaFire link is an SVN checkout, since there are no downloads available at the Google Code page.

Run the "OmegleSpy.jar" file to start the program, requires that you have Java installed. Enjoy!

Name: Anonymous 2010-08-22 19:10

>>40
exploit?
Oh you kids, trying so hard to be "hackers."

Name: Anonymous 2010-08-22 19:11

>>40
Who cares?

Name: Anonymous 2010-08-22 21:46

>>40
Nobody answer this kid who can't research on his own

Name: Anonymous 2010-08-22 21:51

>>43
Were I not this lazy, I'd probably actually bother to answer him.

Name: Anonymous 2010-08-23 9:22

>>40
no still happens, i can use it once everytime i boot up my computer. and in the hundreds of times ive used omegle i think i've done a captcha there once -any ways to make it come up?

Name: Anonymous 2010-08-23 12:44


[17:43:50] Finding two strangers...
[17:43:50] Justa connected
[17:43:50] Myrna connected
[17:43:52] Justa: Hey
[17:43:53] Justa: wats up
[17:44:17] Myrna: nothing
[17:44:21] Myrna: wht ur name
[17:44:24] Justa: sterling
[17:44:25] Justa: wats urs

Name: Anonymous 2010-08-23 15:22

>>39
Which part of #!/usr/bin/env python2.6 don't you get?

Name: Guido 2010-08-23 15:53

>>47
Python 2 is deprecated

Name: Anonymous 2010-08-23 16:52

>>48
The most recent version of Python that came out is Python 2.7.

Name: Anonymous 2010-08-23 17:22

>>49
So whats going to happen to the release after Python 2.9?

Name: Anonymous 2010-08-23 18:51

>>49
maybe so, but Guido wants you to use 3.x

Name: Anonymous 2010-08-23 18:55

>>50

NOTHING. IT'LL BE JUST FINE, THANKS

Name: Anonymous 2010-08-23 19:12

>>50
We're still going to have two branches, Python 3.x and Python 3kx.

Name: Anonymous 2010-08-23 19:36

>>50
2.10, idiot.

Name: Anonymous 2010-08-23 19:37

a→ <connected>
b→ <connected>
b→ hay asl
a→ hi
a→ m
b→ how old?
b→ im f btw
a→ 28
b→ hottt i like older guys im 19
a→ my cock is tuff too
a→ can u afford
b→ omg how big
a→ more than 6 inches
b→ well no shit 6 inches is baby size haha
a→ than go to africa u got 13 inches long
b→ im wet thinking about it
a→ whats ur name
b→ lexi urs?
a→ tariq
b→ omg r u black????
a→ not
a→ u like black
b→ damn i love black men
a→ ?
a→ my cok is black
b→ but is it big????
a→ ya u can suck it
a→ did u suck
b→ as long as u promise to cum all over my face and tits
a→ i will cum on ur mouth
b→ ill swallow
b→ <disconnected>

Name: Anonymous 2010-08-24 2:10

>http://code.google.com/p/omegle-spy/issues/detail?id=2#c19

a patched version can be found there.  works perfectly; occasionally prompts for captcha.

operator of omegle on reddit:
>Ok, so I added some code to Omegle that blocks this using a simple heuristic. Obviously, we can get into a cat and mouse game where you guys add code that camouflages what you're doing, and I modify my code to detect it more accurately, but I'd really prefer if we didn't have to do that.
>but I'd really prefer if we didn't have to do that.
in over his head

anybody think of any good ways to prevent this?  seems to me the only way is to try to detect that an identical message M from Alice->Eve was sent from Eve->Bob around the same time.  obviously not too practical.

random guy who is patching omegle-spy:
>but an arms race is always fun - until Omegle is willing to kick out any user behind a NAT this will get interesting.

Name: Anonymous 2010-08-24 8:18

>>56
anybody think of any good ways to prevent this?
Digital signing to confirm authenticity of the message, encryption to prevent spying.
But I wonder if it's really worth doing this for conversations such as >>55.

Name: Anonymous 2010-08-24 8:52

>>21
thank you, good sir

Name: Anonymous 2010-08-24 10:23

>>57
Sorry, what? Do you understand the method through which the spying is done?

Name: Anonymous 2010-08-24 11:17

>>59
No, I do not. I haven't used the program nor have I read the source.
I assume that the program connects to the Omegle server twice, and acts as a tunnel between its two connections.
I realize that my suggestion was stupid.

Name: Anonymous 2010-08-24 16:01

>>56
It should be pretty trivial to detect. Use a cache with short expiry time (~30s) to store sender/recipient pairs with hashes of the normalized message string for keys. Add a suspicion token to the users for each match. Optionally detect and ignore common phrases.

Name: Anonymous 2010-08-24 20:36

>>61
yeah this seems like a good enough solution.  you could get around it by making minor (spelling, punctuation, word choice) changes in messages that you forward.  but whatever ... like >>57 mentioned these conversations are all drivel anyway.  and the omegle demographic might not give a shit of they are being spied on.

Name: Anonymous 2010-08-28 12:29

>>36
no it's still broken

Name: Anonymous 2010-11-13 7:26

John is a newfag

Name: Anonymous 2010-11-13 16:05

>>21
good job, altough at the second run it receives
<unknown:[u'recaptchaRequired', u'6Lf_FQgAAAAAAJZLLdpvkGDBqkClBarwYrpxGxo8']>

Name: 21 2010-11-13 18:25

>>65
That's when you visit omegle.com and enter the captcha, before restarting the app.

Name: Anonymous 2010-11-13 18:39

>>27
I'm on Debian sid:

# python --version
Python 2.6.6

# python3 --version
Python 3.1.2

Name: Anonymous 2010-11-14 1:12

>>67
Why are you running as root?
Why are you writing the unnecessarily verbose --version rather than the much quicker to type -V?
Why are you still clinging onto 2.6?
Why would anyone use Debian?

Name: Anonymous 2010-11-14 2:22

>>68
- Why not?
- ZOMG OPTIMIZED now go eat shit and die
- hahaha good one
- SPAM INSTALL UBUNTU FOR THAT REFRESHING BROWNNESS

Name: Anonymous 2010-11-14 10:07

>>68
Python's -v flag is --verbose, not --version.  This is as it should be.  Not everyone switches to Python 2.7 right away.  You probably use Gentoo or Arch, you goddamn ricer.

Name: Anonymous 2010-11-14 10:25

>>70
You're an idiot, -V is not -v.

And who cares about 2.7? Use 3.x for fuck's sake.

Name: Anonymous 2010-12-17 1:28

Xarn is a bad boyfriend

Name: anonymous 2010-12-21 5:12

fucking pussies go to hell

Name: Anonymous 2010-12-21 9:34

it's not hilarious, omegle is full of complete morons

Name: Anonymous 2010-12-21 9:43

3/4 * 100 GET

Name: Anonymous 2011-01-08 18:33

if there is a name then its fake cos on omegle u never need 2 or even can enter you name and you all just lost the game

Name: Anonymous 2011-01-31 19:46

<-- check em dubz

Name: Anonymous 2011-02-03 1:01

Name: Anonymous 2011-04-10 5:52

I got tired of the captchas so I jizzed it up a bit with proxies and some other stuff. It's still python2 as python3 doesn't have pycurl-support.

#!/usr/bin/env python2
# coding=utf-8

from __future__ import print_function
import json
from threading import Thread
from Queue import Queue, Empty
import pycurl
from urllib import urlencode
from time import sleep
from functools import wraps

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

def urlopen(proxy, url, data = ''):
    class Buffa:
        def __init__(self):
            self.contents = ''
        def body_callback(self, buf):
            self.contents = self.contents + buf
        def read(self):
            return self.contents
    b = Buffa()

    c = pycurl.Curl()
    c.setopt(pycurl.URL, url)
    if proxy:
        c.setopt(pycurl.PROXY, 'localhost')
        c.setopt(pycurl.PROXYPORT, 9050)
        c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5)
    if data != '':
        c.setopt(pycurl.POSTFIELDS, data)
    c.setopt(pycurl.WRITEFUNCTION, b.body_callback)
    c.setopt(pycurl.TIMEOUT, 9001)

    c.perform()
    return b

class OmegleConnection(object):
    class OmegleEvents(Thread):
        """ They are as follows:

        [u'connected']
        [u'typing']
        [u'gotMessage', u'lolwhut']
        [u'stoppedTyping']
        [u'strangerDisconnected']

        """
        def __init__(self, parent):
            self.id = parent.id
            self.proxy = parent.proxy
            self.queue = Queue()
            Thread.__init__(self)

        def run(self):
            while True:
                r = json.loads(urlopen(self.proxy,
                                     "http://bajor.omegle.com/events",
                                     urlencode({'id': self.id})).read())
                if r == None:
                    self.queue.put(None)
                    return
                for i in r:
                    self.queue.put(i)

        def get(self):
            x = []
            try:
                while True:
                    x.append(self.queue.get(False))
            except Empty:
                pass
            return x

    def __init__(self, pr, proxy):
        self.proxy = proxy
        self.id = json.loads(urlopen(self.proxy,
                            "http://bajor.omegle.com/start?rcs=1&pid=").read())
        print(pr, "<connected:" + self.id + ">")
        self.events = self.OmegleEvents(self)
        self.events.start()

    def typing(self):
        urlopen(self.proxy, "http://bajor.omegle.com/typing", urlencode({'id': self.id}))
    def stoppedtyping(self):
        urlopen(self.proxy, "http://bajor.omegle.com/stoppedtyping", urlencode({'id': self.id}))
    def send(self, msg):
        urlopen(self.proxy, "http://bajor.omegle.com/send", urlencode({'msg': msg, 'id': self.id}))
    def disconnect(self):
        urlopen(self.proxy, "http://bajor.omegle.com/disconnect", urlencode({'id': self.id}))

    def read(self):
        return self.events.get()

def tr(a, b, pr):
    es = a.read()
    for e in es:
        if e == None or e[0] == "strangerDisconnected":
            print(pr, "<disconnected>")
            b.disconnect()
            sleep(2) # Give the threads time to die.
            raise SystemExit(0)
        elif e[0] == 'connected' or e[0] == 'waiting':
            pass
        elif e[0] == "typing":
            b.typing()
        elif e[0] == "gotMessage":
            print(pr, e[1])
            b.send(e[1])
        elif e[0] == "stoppedTyping":
            b.stoppedtyping()
        else:
            print(pr, "<unknown:"+repr(e)+">")

def main():
    a = OmegleConnection("\x1B[31ma:\x1b[0m", True)
    b = OmegleConnection("\x1B[32mb:\x1b[0m", False)
    #b.send("[WARNING: Omegle™ is required under United States Federal Law to inform you that the IP (98.179.227.210) of the person whom you are chatting with is linked to a registered sex offender. Omegle™ encourages you to consider this when giving out personal information. The stranger cannot see this message.]")
    while True:
        tr(a, b, "\x1b[31ma:\x1b[0m")
        tr(b, a, "\x1b[32mb:\x1b[0m")
        sleep(0.2)

if __name__ == '__main__':
    main()

Name: Anonymous 2011-04-10 7:03

>>79
    #b.send("[WARNING: Omegle™ is required under United States Federal Law to inform you that the IP (98.179.227.210) of the person whom you are chatting with is linked to a registered sex offender. Omegle™ encourages you to consider this when giving out personal information. The stranger cannot see this message.]")
I love you, you magnificent bastard.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List