Jump to content


 


Register a free account to unlock additional features at BleepingComputer.com
Welcome to BleepingComputer, a free community where people like yourself come together to discuss and learn how to use their computers. Using the site is easy and fun. As a guest, you can browse and view the various discussions in the forums, but can not create a new topic or reply to an existing one unless you are logged in. Other benefits of registering an account are subscribing to topics and forums, creating a blog, and having no ads shown anywhere on the site.


Click here to Register a free account now! or read our Welcome Guide to learn how to use this site.

Photo

Your current projects....


  • Please log in to reply
47 replies to this topic

#1 ident

ident

  • Members
  • 109 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Cambridge
  • Local time:04:16 AM

Posted 17 November 2011 - 03:34 PM

Since programming is probably my favorite computer topic, and the fact this section really lacks (judging on what i have seen so forgive me if i have missed a lot since not joined that long) is any really conversational topics. So my question is what are you currently writing? Why? And what language.

I personally first opened an IDE up in 97 (vb6) and started messing around with connecting to MSN chat rooms. Such a shame closed now :( Had such fond memories so decided to take GUI parts from my favorite MSN chat client, and mix them with the MSN theme to start creating an IRC client. In the few months i have been working on my client i have learned a great deal. Firstly learning the IRC protocol is a 100% must. Connecting via a TCP client takes minutes of learning. Then what? if you do not know IRC then how do you expect to send commands? Get information? Authenticate? It is these little things new programmers forget that make writing a client so hard.

After studying the protocol(as much as one needs at a time) It has been nothing but easy programming. The best thing i have learn't when writing my client that it's 80% string building. Once you have the outputted response it's a simple case of splitting and rebuilding the string. The rest of an IRC clients features are nothing but face value and can only be limited to the programmers imagination and knowledge of said language. Nothing to do with IRC.

Any way enough rambling. here are a few screen pic's (the client is likely around 3% finished since the possibilities are limitless.)

Application: IRC Client VS Msn Chat
Why: Fond memories
Language: VB.NET


Posted Image

Spectate (IRC Mode +m) is on and -v users cannot speak

Posted Image

Edited by ident, 17 November 2011 - 03:42 PM.


BC AdBot (Login to Remove)

 


#2 Didier Stevens

Didier Stevens

  • BC Advisor
  • 2,751 posts
  • OFFLINE
  •  
  • Gender:Male
  • Local time:09:16 AM

Posted 18 November 2011 - 03:44 AM

I'm currently working on a new version of my security tool ARIAD: http://blog.didierstevens.com/programs/ariad/

Now that I've obtained an SPC (code signing certificate) from a CA for which Microsoft issues a cross-certificate, I can sign kernel drivers.
Previously, my tool only worked on Windows XP 32-bit, but now I can get it to work on Windows 7 (32-bit and 64-bit).

The fun thing for me is that I learn to develop kernel software.
The documentation and tutorials you'll find online are often confusing, because Microsoft has changed its driver model several times, and most examples don't explicitly state which driver model they use. That's why I started to read a book describing the latest drive model: Developing Drivers with the Windows Driver Foundation.

Although it's a very good book, it's also not exactly what I need, because it assumes you are developing a driver for a device. I develop drivers without device.

Didier Stevens
http://blog.DidierStevens.com
http://DidierStevensLabs.com

SANS ISC Senior Handler
Microsoft MVP 2011-2016 Consumer Security, Windows Insider MVP 2016-2019
MVP_Horizontal_BlueOnly.png

 

If you send me messages, per Bleeping Computer's Forum policy, I will not engage in a conversation, but try to answer your question in the relevant forum post. If you don't want this, don't send me messages.

 

Stevens' law: "As an online security discussion grows longer, the probability of a reference to BadUSB approaches 1.0"


#3 Tigzy

Tigzy

  • Security Colleague
  • 89 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:France
  • Local time:09:16 AM

Posted 18 November 2011 - 04:20 AM

Hello

I got several projects in the same time.

- First, my tool RogueKiller
Written in C++ for the .exe part, and C for the embedded driver.
Unfortunately for me, my driver won't work on x64 due to the signing restricition and patchguard (my driver is able to read and restore the SSDT and Shadow SSDT).
This will not evoluate cause in theory, SSDT patch is not possible in x64

- Next, I got LogAnalyZer , which is a tool to scan HJT / OTL / ZHPDiag logs and help a helper to quickly find out the problems. Written in C# .NET

- Then, PiczDown, which is a tool able to copy / move pictures from an external device to a backup folder and automaticaly rotate the pictures in the good view (with compatible camera). Written with C# .NET

- Then, ProtectMyToolZ, written in C, contains an embedded driver. Tool making hooks in SSDT, and disallowing the termination on process you decided.
Indeed, some malwares have pooling thread checking / terminating process not allowed for them. With this tool, you can protect them and analyse the malware with your favorite tools
In "feature tab", you can use a shortcut A+Z to engage / disengage the ability to move any window. Useful for screenlockers study.

Demo:
Youtube1
Youtube2

- TaskSTRun (written in C# .NET) is a task manager showing the registry entries associated with processes, allowing to delete them

- ForceHide (written in C# .NET) , simple tool to change file attributes by drag N drop

Edited by Tigzy, 18 November 2011 - 04:23 AM.


#4 ident

ident
  • Topic Starter

  • Members
  • 109 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Cambridge
  • Local time:04:16 AM

Posted 20 November 2011 - 05:51 AM

Some really impressive stuff. The net has not been very helpful when coming to learning about kernal software. As stated it's very confusing due to a lot of changes. Where would you guys suggest starting?

#5 somdcomputerguy

somdcomputerguy

  • Members
  • 17 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:West Virginia
  • Local time:03:16 AM

Posted 20 November 2011 - 11:22 AM

I have grown fond of this scripting/windows automation package, AutoIt. A couple of my interesting/useful (to me, which is all that really matters, to me) and ongoing projects are:
X-LoremIpsum, which is basically just an alarm clock used with Winamp. Some of the features include a snooze timer, and a wakeup volume fade in (time and max volume).
B2FSLC, which takes info from my browser, and puts it into this program, Forum Spam List Checker.
-bruce /* somdcomputerguy */
'If you change the way you look at things, the things you look at change.'

#6 Tigzy

Tigzy

  • Security Colleague
  • 89 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:France
  • Local time:09:16 AM

Posted 20 November 2011 - 12:20 PM

Some really impressive stuff. The net has not been very helpful when coming to learning about kernal software. As stated it's very confusing due to a lot of changes. Where would you guys suggest starting?


I suggest to begin on kernelmode.info, there are lot of very impressive people doing it everyday.
They provide good advices, and there are lots of useful threads for every level of programming

Edited by Tigzy, 20 November 2011 - 12:20 PM.


#7 JosiahK

JosiahK

  • Members
  • 269 posts
  • OFFLINE
  •  
  • Gender:Male
  • Local time:09:16 AM

Posted 24 November 2011 - 05:20 PM

This makes me want to get back to programming.
I've got a few things I've been trying to make for a while, but all of them are stuck at some stage or the other. I'm working on in turn a canned speech database, a LAN instant messenger, and a monoalphabetic decryption program. None of which is proving terribly successful. :(
Quod non mortiferum, fortiorem me facit.
I don't read minds. Please help everyone by answering any questions and reporting on the results of any instructions. Query any concerns and explain problems or complications.

#8 Andrew

Andrew

    Bleepin' Night Watchman


  • Moderator
  • 8,260 posts
  • OFFLINE
  •  
  • Gender:Not Telling
  • Location:Right behind you
  • Local time:12:16 AM

Posted 24 November 2011 - 06:43 PM

I've been working on an IRC bot. The IRC client part, as you said, is pretty straightforward once you grasp the IRC protocol itself. The hard part is making the bot client extensible through a scripting language. A prototype is already up and running in my IRC channel. It entertains us by telling jokes, looking things up on Wikipedia, and insulting users on command :whistle:

Edited by Andrew, 24 November 2011 - 06:43 PM.


#9 Didier Stevens

Didier Stevens

  • BC Advisor
  • 2,751 posts
  • OFFLINE
  •  
  • Gender:Male
  • Local time:09:16 AM

Posted 26 November 2011 - 12:39 AM

The hard part is making the bot client extensible through a scripting language.


Are ypu doing this with LUA, Andrew?

Didier Stevens
http://blog.DidierStevens.com
http://DidierStevensLabs.com

SANS ISC Senior Handler
Microsoft MVP 2011-2016 Consumer Security, Windows Insider MVP 2016-2019
MVP_Horizontal_BlueOnly.png

 

If you send me messages, per Bleeping Computer's Forum policy, I will not engage in a conversation, but try to answer your question in the relevant forum post. If you don't want this, don't send me messages.

 

Stevens' law: "As an online security discussion grows longer, the probability of a reference to BadUSB approaches 1.0"


#10 Andrew

Andrew

    Bleepin' Night Watchman


  • Moderator
  • 8,260 posts
  • OFFLINE
  •  
  • Gender:Not Telling
  • Location:Right behind you
  • Local time:12:16 AM

Posted 26 November 2011 - 02:05 AM

No, with a dialect of BASIC.

#11 Tigzy

Tigzy

  • Security Colleague
  • 89 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:France
  • Local time:09:16 AM

Posted 01 December 2011 - 10:02 AM

I've been working on an IRC bot. The IRC client part, as you said, is pretty straightforward once you grasp the IRC protocol itself. The hard part is making the bot client extensible through a scripting language. A prototype is already up and running in my IRC channel. It entertains us by telling jokes, looking things up on Wikipedia, and insulting users on command


I've done something near. Didn't spoke about it cause it remains private.
This is a Jabber bot (server side), connected to a jabber server and waiting for instructions.

I connect myself on the same jabber server (with another account) with a regular client (Pidgin, ...) , and begin to speak with my jabber bot.
With specific instructions, I can send some command and grab informations / files through the jabber protocol :)
Interesting when not at home, and need to keep access on my computer without using one of those full-of-holes heavy remote programs (teamviewer, windows RDC, ...)
This is my protocol, unfindable with bruteforce.

Edited by Tigzy, 01 December 2011 - 10:02 AM.


#12 ident

ident
  • Topic Starter

  • Members
  • 109 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Cambridge
  • Local time:04:16 AM

Posted 05 December 2011 - 01:08 PM

Tigzy thanks for that link. Looks very informative.

Andrew are you working on your own language for it? Or using similarity from other scripting languages. Would love to see some pictures.

#13 Andrew

Andrew

    Bleepin' Night Watchman


  • Moderator
  • 8,260 posts
  • OFFLINE
  •  
  • Gender:Not Telling
  • Location:Right behind you
  • Local time:12:16 AM

Posted 05 December 2011 - 02:54 PM

The scripting language is a subset of the language I'm writing the bot in, extended with my own library of IRC bot-related functions. There are no pictures to be had since it's a command-line only application.Here's a pic of it's startup output:
Posted Image
If you like, you can interact with the latest version of the bot in my IRC channel. Type !about for a list of available scripts.

Here's one of the scripts that currently exist:

#Plugin=Insulter
#Trigger=!insult
#Author=Andrew
#Version=0.1
Dim rand As Integer
Dim output, insults(), theinput(), tmp As String
theInput = InputData
tmp = FileRead("insults.conf")
If tmp = "" Then
IRCSay("Insults file missing!")
Else
insults = Split(tmp, EOL)
If Ubound(insults) < 0 Then Return
theinput.Remove(0)
Print("DEBUG: " + theinput(0))
If Ubound(TheInput) > -1 Then
rand = RandNumber(0, Ubound(insults))
If TheInput(0) <> "" Then
output = Join(TheInput, " ") + " " + insults(rand)
Else
output = Nick + " " + insults(rand)
End If
Else
output = Nick + " " + insults(rand)
End If
IRCSay(output)
End If

Edited by Andrew, 05 December 2011 - 05:38 PM.


#14 ident

ident
  • Topic Starter

  • Members
  • 109 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Cambridge
  • Local time:04:16 AM

Posted 06 December 2011 - 04:01 PM

Posted Image

good bot :D

Edited by ident, 06 December 2011 - 04:02 PM.


#15 Andrew

Andrew

    Bleepin' Night Watchman


  • Moderator
  • 8,260 posts
  • OFFLINE
  •  
  • Gender:Not Telling
  • Location:Right behind you
  • Local time:12:16 AM

Posted 14 December 2011 - 05:11 PM

My bot, BSBot, has been released. You can get it here: http://www.boredomsoft.org/bsbot.bs

Feedback is welcome.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users