Jump to content

[SIM] Secure Interface Module (With DARTIS©)

Recommended Posts

Hello friends, today I am sharing a script I've been working on called secure interface module.

It's a SSL encrypted Instant Messenger, with optional 4D Holographic Encryption. (See THIS thread for more info about DARTIS)

To sign up for an account visit https://pdglobal.net (You will need to use a valid email)

Script is attached, to use just extract and run SIM32.exe or SIM.au3

Warning: There might be bugs. This is an early alpha version, if you find something that needs fixed, please fix it if you can or report it here in the thread so I can look into fixing it.

Download: https://pdglobal.net/?pid=SIM#SIM


Edited by AlecSadler
Link to post
Share on other sites

Please note: I need testers to help test out the long range message delivery system. I've been working on fixing the bugs in it, and need testers to confirm the bug has been fixed. Please leave a reply if you have time to help test it.

You can add me on skype my skype is zachary.litzinger, there we can discuss further testing of the networking functions.

There is also a known bug with encryption, if encryption is disabled for the sender but enabled for the receiver, the receiver's Client will crash, I'm working on a fix to this bug, but I really need testers to make sure my fixes work. [FIXED]

Edited by AlecSadler
Link to post
Share on other sites
  • 6 months later...
  • 2 weeks later...

Made a couple of bug fixes

-SIM will now re-encrypt messages if they get corrupted

-SIM will no longer crash if you receive a message before selecting a contact

-SIM will no longer crash if you select a keyfile before selecting a contact

-SIM no longer crashes when receiving messages from someone not on your contact list (the message will simply be ignored)

Edited by AlecSadler
Link to post
Share on other sites


-Fixed inet functions failing. Replaced them with winhttp object

-Now uses a second process to fetch messages so that the main thread doesn't lock up.


-Switched message delivery method from GET to POST to support more data.

Edited by AlecSadler
Link to post
Share on other sites


->Added an error handler/bug reporter.
->Message delivery is now less buggy
->Added some new emoticons
->Other minor miscelaious bug fixes

->Message polling now occurs every 42 MS
->Can now receive bulk amounts of messages and process them accordingly
->Message frame now refreshes on resize of window
->Message frame now scrolls to the bottom when a user is selected (even if there are a lot of messages)

->Limited message buffer to 300 messages per conversation
->Limited message sending to 1 message per second(to prevent spam)
->Put toast into a seperate thread to avoid main thread from pausing

Link to post
Share on other sites
  • 2 weeks later...

Updated to version
->KeyFile Blueprints (for DARTIS) are now 1,416,752,005 bits (168 MB)
->SIM/DARTIS Now requires an x64 OS to run.
->Highmem library used to allocate additional memory
->ReduceMem function intregrated from winswap(to reduce RAM use)

(you can try running on a 32 bit machine by commenting out the high-mem function that allocates memory and compiling for 32 bit windows, but this is not guaranteed to work)

Updated to version
->Includes 32 bit source and binary. (use at your own risk, it may crash when loading keyfile blueprints)
->Better memory management when loading contacts from server.

Edited by AlecSadler
Link to post
Share on other sites

Updated to version
->Added ability to generate/use 32 OR 64 bit keys.
Note: 32 bit keys are much less secure than 64 bit keys, but may be used on older systems which don't support 64 bit software.
Note: 64 bit keys may be used with either version of SIM. If you don't have enough RAM to use 64 bit keys, you should fall back to using 32 bit keys.

Edited by Jos
tried fixing formatting
Link to post
Share on other sites
  • Developers

You were in the "New Members" group which have restrictions, but i've changed that now so you should have more options. 
No need to report all of this and I will do some cleanup. :)


Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
Live for the present,
Dream of the future,
Learn from the past.

Link to post
Share on other sites
11 hours ago, Skysnake said:

I have been following this intently.  What I want to know is, how to integrate this into an existing project.  Lets say I want to display the convo inside a childGUI of some existing project?


First you need to pass the username and password of the user you want to fetch messages for to the server so that you can get a Session ID from the server, like so.

$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET", "https://pdglobal.net?sid=login&usr=" & URLEncode($username) & "&pwd=" & URLEncode($password), False)
$auth = $oHTTP.ResponseText
$session = StringTrimLeft($auth, 3)

Then you need to pass the session ID to the getmsgs page

$oHTTP.Open("GET", "https://pdglobal.net/?sid=getmsgs&session=" & URLEncode($session), False)
$msg = $oHTTP.ResponseText

then the $msg variable will have all unread messages for that user. Each message is seperated by a "!" and the username of the message/message itself are separated with a "~"
Note: The URLEncode function() function can be found in the source code of SIM.

Note: The session ID expires after 24 hours, so you may want to request a new session ID every so often. SIM fetches a new session ID every hour.

Edited by litzinger
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Se7enstars
      New Modern Design UI in AutoIt in 118 line
      Please watch & like in Youtube: Link
      Full Source Code free: Link

    • By _Vlad
      Hello forum,
      I want to create a program with multiple menus and many elements inside. The problem is my way of doing this and below I have an example of how I do these menus.
      I know it's a bad way of doing them as using this method for more elements and menus cause big flickering.
      Can someone please help me with some tips of optimizing this or tell me another way of creating that menus with many elements without cause flickering? From a long time ago I still try to solve this but without any results, just small improvements.
      Many thanks for everyone.
      #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Global $MENU_HOVER = '' Global $MENU_SELECTED = '' Global $COLOR_STANDARD = 0x94A5E9 Global $COLOR_HOVER = 0x8292d1 Global $COLOR_SELECTED = 0x7584bf $MENU = GUICreate("Menu", 615, 437, -1, -1, -1, -1, 0) GUISetFont(10, 400, 0, "Arial") $MENU_1 = GUICtrlCreateLabel("Menu 1", 8, 24, 106, 28, BitOR($SS_CENTER, $SS_CENTERIMAGE)) $MENU_2 = GUICtrlCreateLabel("Menu 2", 8, 56, 106, 28, BitOR($SS_CENTER, $SS_CENTERIMAGE)) $MENU_3 = GUICtrlCreateLabel("Menu 3", 8, 88, 106, 28, BitOR($SS_CENTER, $SS_CENTERIMAGE)) ;MENU 1 ELEMENTS $MENU_1_ELEMENT_1 = GUICtrlCreateButton("Menu1 Button", 128, 24, 147, 25) ;MENU 2 ELEMENTS $MENU_2_ELEMENT_1 = GUICtrlCreateButton("Menu2 Button", 128, 24, 147, 25) $MENU_2_ELEMENT_2 = GUICtrlCreateLabel("Another element", 128, 64, 99, 20) _Design() _Hide_All() GUISetState(@SW_SHOW, $MENU) While 1 $Cursor = GUIGetCursorInfo($MENU) $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $MENU_1 _Previous_Selected_Cancel() $MENU_SELECTED = 'Menu1' GUICtrlSetBkColor($MENU_1, $COLOR_SELECTED) _Show('Menu1') Case $MENU_2 _Previous_Selected_Cancel() $MENU_SELECTED = 'Menu2' GUICtrlSetBkColor($MENU_2, $COLOR_SELECTED) _Show('Menu2') Case $MENU_3 _Previous_Selected_Cancel() $MENU_SELECTED = 'Menu3' GUICtrlSetBkColor($MENU_3, $COLOR_SELECTED) _Show('Menu3') EndSwitch If $Cursor[4] = $MENU_1 Then If $MENU_HOVER <> 'Menu1' And $MENU_SELECTED <> 'Menu1' Then _Previous_Hover_Cancel() GUICtrlSetBkColor($MENU_1, $COLOR_HOVER) $MENU_HOVER = 'Menu1' EndIf ElseIf $Cursor[4] = $MENU_2 Then If $MENU_HOVER <> 'Menu2' And $MENU_SELECTED <> 'Menu2' Then _Previous_Hover_Cancel() GUICtrlSetBkColor($MENU_2, $COLOR_HOVER) $MENU_HOVER = 'Menu2' EndIf ElseIf $Cursor[4] = $MENU_3 Then If $MENU_HOVER <> 'Menu3' And $MENU_SELECTED <> 'Menu3' Then _Previous_Hover_Cancel() GUICtrlSetBkColor($MENU_3, $COLOR_HOVER) $MENU_HOVER = 'Menu3' EndIf Else _Previous_Hover_Cancel() $MENU_HOVER = 'Idle' EndIf WEnd Func _Design() GUICtrlSetColor($MENU_1, 0xFFFFFF) GUICtrlSetBkColor($MENU_1, $COLOR_STANDARD) GUICtrlSetCursor($MENU_1, 0) GUICtrlSetColor($MENU_2, 0xFFFFFF) GUICtrlSetBkColor($MENU_2, $COLOR_STANDARD) GUICtrlSetCursor($MENU_2, 0) GUICtrlSetColor($MENU_3, 0xFFFFFF) GUICtrlSetBkColor($MENU_3, $COLOR_STANDARD) GUICtrlSetCursor($MENU_3, 0) EndFunc ;==>_Design Func _Hide_All() GUICtrlSetState($MENU_1_ELEMENT_1, $GUI_HIDE) GUICtrlSetState($MENU_2_ELEMENT_1, $GUI_HIDE) GUICtrlSetState($MENU_2_ELEMENT_2, $GUI_HIDE) EndFunc ;==>_Hide_All Func _Show($MENU_SHOW) _Hide_All() If $MENU_SHOW = 'Menu1' Then GUICtrlSetState($MENU_1_ELEMENT_1, $GUI_SHOW) ElseIf $MENU_SHOW = 'Menu2' Then GUICtrlSetState($MENU_2_ELEMENT_1, $GUI_SHOW) GUICtrlSetState($MENU_2_ELEMENT_2, $GUI_SHOW) ElseIf $MENU_SHOW = 'Menu3' Then EndIf EndFunc ;==>_Show Func _Previous_Hover_Cancel() If $MENU_HOVER = 'Menu1' Then If $MENU_SELECTED <> 'Menu1' Then GUICtrlSetBkColor($MENU_1, $COLOR_STANDARD) ElseIf $MENU_HOVER = 'Menu2' Then If $MENU_SELECTED <> 'Menu2' Then GUICtrlSetBkColor($MENU_2, $COLOR_STANDARD) ElseIf $MENU_HOVER = 'Menu3' Then If $MENU_SELECTED <> 'Menu3' Then GUICtrlSetBkColor($MENU_3, $COLOR_STANDARD) EndIf EndFunc ;==>_Previous_Hover_Cancel Func _Previous_Selected_Cancel() If $MENU_SELECTED = 'Menu1' Then GUICtrlSetBkColor($MENU_1, $COLOR_STANDARD) If $MENU_SELECTED = 'Menu2' Then GUICtrlSetBkColor($MENU_2, $COLOR_STANDARD) If $MENU_SELECTED = 'Menu3' Then GUICtrlSetBkColor($MENU_3, $COLOR_STANDARD) EndFunc ;==>_Previous_Selected_Cancel  
    • By Miliardsto
      Hello what is the best way to secure autoit scripts right now?
      People say prebuild stripper in SciTE is not high secure. Other problem is if I use stripper in my program I use a lot of _Timer_SetTimer functions. After stripping timers not work.
      I seen this but now it not work
      Next thing is https://www.pelock.com
      Is it better than stripper builded in SciTE and got more secure?
      Please write me ur knowledge about how to make scripts secure. I know its hard to recieve but tell me ur thoughts
    • By XinYoung
      Hello all,
      I've been working on 4 standalone scripts. They each have their own GUI and are now independent .exe's. But instead of having 4 separate icons on my computer, is it possible to put them all together into one .exe?
      What I want is one interface with tabs. Each script's GUI would be on their own respective tab. Is this possible?
      The different scripts don't need to communicate with one another. I just want them all in one .exe.
      I can't find this anywhere... Any help would be greatly appreciated. Thank you!
    • By Glyph
      Has anyone already worked on a WSS UDF yet? I'm interested in making a project involving WSS with the ASYNC autoit library like ratchetphp / Pawl in PHP. (using reactphp)
      ASYNC is a must, and obviously WSS. the problem with some libraries i've worked with in PHP are mainly issues with handshakes like improper peer name validation (for multi level certs)
      relevant links: https://tools.ietf.org/rfc/rfc6455.txt
      /e i should note i'm not looking for hybrid workarounds, i want to do this in autoit alone. (no javascript)
  • Create New...