Jump to content



Photo

Ultimate Talker (pretty sick multi-chat) version 23!


  • Please log in to reply
33 replies to this topic

#1 ludocus

ludocus

    Possibly inventive crap going on right here

  • Active Members
  • PipPipPipPipPipPip
  • 664 posts

Posted 01 September 2010 - 06:35 PM

Hello!

I made this chat client a long time ago with tcp.
Now I can't use my pc as a server (for some weird reason..), So i decided to use a website.

It works pretty simple:
Using _IE functions the program submits the username and text everytime you send something.
Also using _IE functions the program checks the username&text page for new messages and displays them in the gui.

Supports:
- Smileys
- Different colors, bold, etc.
- Account creating
- Xp and ranking
- Server is via website
- Anti-spam function
- Swearword filtering
- Offline messaging
- File sedning
- Moderator/Administrator/Owner (=Staff) ability's
- 23 Ranks (Last rank = 10000 XP)
- Strike option
- Giving XP
- Private-Messaging (PM)
- Ability to change password
- Gradient text color ([c=$begincolor]text[/c=$endcolor])
- Auto-update
- Changeable background!

That's not very good explained but I'm to lazy to do better, just check for yourself.
You gotta make an account before using it.

Because there are passwords in the source I can only give you the compiled full version.
I'm sorry ;)

You can download the program here: http://www.mediafire.com/?zc9osorel149ago


A movie about it was here:


Please comment!
ludocus

Edited by ludocus, 14 December 2011 - 07:20 PM.






#2 wakillon

wakillon

    Tiny Tools Coder

  • Active Members
  • PipPipPipPipPipPip
  • 2,474 posts

Posted 02 September 2010 - 07:45 AM

It seems to work well ! Posted Image

I'll try at home and i found the function "_REPLACESWEARWORDS" funny ! Posted Image
Do you allow other languages ?

  AutoIt Version : 3.3.8.1/3.3.9.4 SciTE 3.3.0 Language:040C OS:WIN_7/ CPU:X64 OS:X64 

  Last updated Scripts and executables with full embedded files are available on : GoogleCode 


#3 ludocus

ludocus

    Possibly inventive crap going on right here

  • Active Members
  • PipPipPipPipPipPip
  • 664 posts

Posted 02 September 2010 - 01:30 PM

@wakillon:
Thnx!
Yeh that function replaces alot of swearwords into the same number of *'s as the StringLen.

No, not yet at least.

#4 pierrotm777

pierrotm777

    Wayfarer

  • Active Members
  • Pip
  • 90 posts

Posted 02 September 2010 - 02:09 PM

A source code without login and password is not possible ?

#5 ludocus

ludocus

    Possibly inventive crap going on right here

  • Active Members
  • PipPipPipPipPipPip
  • 664 posts

Posted 02 September 2010 - 02:43 PM

Yeh it is.
I will work on that.

#6 AlmarM

AlmarM

    Programming my way.

  • Active Members
  • PipPipPipPipPipPip
  • 1,642 posts

Posted 03 September 2010 - 11:12 AM

Yeh it is.
I will work on that.

Mayby you should HASH the passwords. I can view all of them. Pretty simple actualy. ;)

#7 Manadar

Manadar

    Taking a REST.

  • MVPs
  • 10,714 posts

Posted 03 September 2010 - 11:40 AM

PM sent. ;)

Hash-ing the passwords is of no use, you are sharing the source code so it should be easy to rainbow/bruteforce crack the passwords you are displaying. You'll need a whole different solution.

#8 ludocus

ludocus

    Possibly inventive crap going on right here

  • Active Members
  • PipPipPipPipPipPip
  • 664 posts

Posted 03 September 2010 - 01:00 PM

@AlmarM:
Yeh that's why i didn't release source.
But now I'll need to find a solution to make the passwords private.

@Manadar:
Pm replied

#9 AlmarM

AlmarM

    Programming my way.

  • Active Members
  • PipPipPipPipPipPip
  • 1,642 posts

Posted 03 September 2010 - 01:36 PM

I mean when creating an account you should SHA1 hash the password.
When connection SHA1 again and then compare with the previous hashed and stored password.

I ment the accounts.txt file.

#10 ludocus

ludocus

    Possibly inventive crap going on right here

  • Active Members
  • PipPipPipPipPipPip
  • 664 posts

Posted 03 September 2010 - 03:23 PM

What's SHA1

#11 AlmarM

AlmarM

    Programming my way.

  • Active Members
  • PipPipPipPipPipPip
  • 1,642 posts

Posted 04 September 2010 - 07:21 AM

What's SHA1

Whoops, I ment MD5. ;)

EDIT:
Something like this.
#include  <Crypt.au3> ; Example of hashing data and using it to authenticate password ; This is the MD5-hash of the correct password $bPasswordHash="0xCE950A8D7D367B5CE038E636893B49DC" $sPassword=InputBox("Login","Please type the correct password.","Yellow fruit that is popular among monkeys") If _Crypt_HashData($sPassword,$CALG_MD5)=$bPasswordHash Then     MsgBox(64,"Access Granted","Password correct!") Else     MsgBox(16,"Access Denied","You entered the wrong password!") EndIf

Edited by AlmarM, 04 September 2010 - 07:22 AM.


#12 ludocus

ludocus

    Possibly inventive crap going on right here

  • Active Members
  • PipPipPipPipPipPip
  • 664 posts

Posted 04 September 2010 - 10:14 AM

I don't get that MD5 then?
People will be able to reverse the hash if they see the function that turns the password into a hash.
Could you give a better example? I'm not great with terms like MD5 ;)

#13 AlmarM

AlmarM

    Programming my way.

  • Active Members
  • PipPipPipPipPipPip
  • 1,642 posts

Posted 04 September 2010 - 10:36 AM

I don't get that MD5 then?
People will be able to reverse the hash if they see the function that turns the password into a hash.
Could you give a better example? I'm not great with terms like MD5 :)

MD5 is unhashable. Well, without 100's of super computers.
I'll make an example.

EDIT:
Here you go.
AutoIt         
#include <Crypt.au3> Global $sUsername, $sPassword Global $iniPath = @ScriptDir & "\accounts.ini" LogInForm() Func LogInForm()     $GUI = GUICreate("Login.", 180, 120)     GUICtrlCreateLabel("Username", 10, 10)     $Username = GUICtrlCreateInput("", 70, 7, 100)     GUICtrlCreateLabel("Password", 10, 40)     $Password = GUICtrlCreateInput("", 70, 37, 100)     $Register = GUICtrlCreateButton("Register", 10, 65, 160)     $Login = GUICtrlCreateButton("Log in", 10, 90, 160)     GUISetState()     While 1         Switch GUIGetMsg()             Case -3                 Exit             Case $Register                 GUIDelete($GUI)                 RegisterForm()             Case $Login                 If (IniRead($iniPath, "accounts", "username", "#") == GUICtrlRead($Username)) Then ; if the username exists                     If (_Crypt_HashData(GUICtrlRead($Password), $CALG_MD5) == IniRead($iniPath, "accounts", "password", "#")) Then ; if hashing the giving password equals to the saved hashed password                         MsgBox(64, "Succes.", "Login succes!") ; Login succes                     Else                         MsgBox(64, "Fail.", "Wrong password!") ; Wrong password                     EndIf                 Else                     MsgBox(64, "Fail.", "Wrong username!") ; Wrong username                 EndIf         EndSwitch     WEnd EndFunc Func RegisterForm()     $GUI = GUICreate("Register.", 180, 100)     GUICtrlCreateLabel("Username", 10, 10)     $Username = GUICtrlCreateInput("", 70, 7, 100)     GUICtrlCreateLabel("Password", 10, 40)     $Password = GUICtrlCreateInput("", 70, 37, 100)     $Register = GUICtrlCreateButton("Complete", 10, 65, 160)     GUISetState()     While 1         Switch GUIGetMsg()             Case -3                 Exit             Case $Register                 IniWrite($iniPath, "accounts", "username", GUICtrlRead($Username))                 IniWrite($iniPath, "accounts", "password", _Crypt_HashData(GUICtrlRead($Password), $CALG_MD5)) ; hash the givin password and save it                 MsgBox(64, "Succes.", "Register succes! You can nog login.")                 GUIDelete($GUI)                 LogInForm()         EndSwitch     WEnd EndFunc

This is how my accounts.ini now looks like.
[accounts] username=AlmarM password=0x9AA6E5F2256C17D2D430B100032B997C
Hope it makes sence! ;)

Edited by AlmarM, 04 September 2010 - 10:57 AM.


#14 ludocus

ludocus

    Possibly inventive crap going on right here

  • Active Members
  • PipPipPipPipPipPip
  • 664 posts

Posted 06 September 2010 - 06:56 PM

Ok I updated the text with the _Crypt_HashData function used now for username and password.
Because (for some reason) it didn't support the entire hashed string, I only use 10 char's.
Please download and comment ;)

#15 TheRevenger

TheRevenger

    Seeker

  • Active Members
  • 10 posts

Posted 15 December 2010 - 12:28 PM

Can you release the source script, without your webserver data included ? It is nice u let ppl use your server but i wanna use somting like this on my own server ? Or if not then give me some more info on how to remake a script like yours ...

With regards,

Rev

#16 MvGulik

MvGulik

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 2,795 posts

Posted 15 December 2010 - 01:21 PM

nevermind.

Edited by iEvKI3gv9Wrkd41u, 28 June 2011 - 01:42 PM.

Don't Fall in Love With Ideas"If you fall in love with an idea, you won't see the merits of alternative approaches -- and will probably miss an opportunity or two. One of life's great pleasures is letting go of a previously cherished idea. Then you're free to look for new ones. What part of your idea are you in love with? What would happen if you kissed it goodbye?"

#17 shanet

shanet

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 313 posts

Posted 15 December 2010 - 04:05 PM

Hmm... asking for source to 'create your own server' hey?
Maybe if you sweet talk the creator of this software enough he will tell you how its done, or create a tool to do that?
However that is completely up to him.

On another note, congratulations on this piece of work! However, just one problem:
-I created an account, closed the program then tried to log back in and it didnt work?
-So I then tried to sign up again and was able to sign up with exactly the same information? (username + password).



I also noticed above the mention of MD5 hashes as use for password encryption and you stating that it would be possible to reverse the encryption, it actually is not possible to reverse MD5 encryption, however it is possible to brute force the MD5 hash if they get their hands on it. However I do not think it would be easy to do so, and even if they did, it would take the average user ages to brute force a good password, the best way to crack an MD5 password is with rainbow tables where every single possible hash is pre-computed and stored in a rainbow table (hence the name). As you would imagine, this creates an enourmous file (20 GB for normal characters, I found one in excess of 100GB with German special chars!!!).

I hope you better understand this now?
shanet
My code does not have bugs! It just develops random features.My ProjectsPure randomness
  • Small Minds.......................................................................................................Simple progress bar that changes direction at either sides.
  • ChristmasIt AutoIt Christmas Theme..........................................................I WAS BOOOORED!
  • DriveToy..............................................................................................................Simple joke script. Trick your friends into thinking their computer drive is haywire!
In Development
  • Your Background Task Organiser
  • AInstall Second Generation
BEFORE POSTING ON THE FORUMS, TRY THIS:
%programfiles%/AutoIt3/autoit3.chm

#18 ludocus

ludocus

    Possibly inventive crap going on right here

  • Active Members
  • PipPipPipPipPipPip
  • 664 posts

Posted 29 January 2011 - 02:25 PM

Yes, I have implemented that.
However, alot has changed. Check the new program!

#19 barkeeper

barkeeper

    Seeker

  • Active Members
  • 34 posts

Posted 22 February 2011 - 08:02 AM

Can you please release the sourcecode m8, we need it :)

#20 ludocus

ludocus

    Possibly inventive crap going on right here

  • Active Members
  • PipPipPipPipPipPip
  • 664 posts

Posted 24 February 2011 - 01:37 PM

Na man, can't do that.
I can give you some parts. Like: What do you want to know?
The Edit with smileys part? The 'over http' functions?




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users