I have an existing website built on the WAMP platform & using the Codeigniter framework (with Grocery_CRUD), that allows customers to make bookings for couriers to pickup goods and then allows the couriers to enter their daily run details.
There is a custom written Executable file that controls communication between the Website and an SMS Gateway. The exe file was written/compiled in Visual Basic – I believe using Visual Studio 2010 – and uses the .Net 4 framework, however I don’t have the source code and I need to make changes to some settings stored in the exe file.
Overview of what the exe file does:
• Checks for the presence of an GSM/GPRS Modem device (SMS Gateway)
• Connects to a MySQL database and reads and writes to/from various tables
• Uses information from the MySQL database to create SMS messages (pickup information for courier drivers)
• Sends out SMS messages to phone numbers listed in the database (courier mobile phones)
• Updates SMS message sent/not sent information in the MySQL database
• Allows not sent SMS messages to be resent from the MySQL databases frontend
• Checks in a MySQL database table for a COM port value for the GSM/GPRS Modem device (SMS Gateway)
• Has logging control built in (log4net) so its log file never grows larger that 5MB before a new log file is started
• Is installed / runs as a service on Windows Server 2008r2
• References/Uses files from the GSMComm [url removed, login to view] application ([url removed, login to view])
• Probably does other things that I am not aware of.
Currently the exe file only supports GSM/GPRS modems that have a Baud Rate of 9600 and a Timeout of 5000 milliseconds, and these values are hardcoded into the exe file with their Hexadecimal values (&H2580 for 9600 Baud Rate, &H1388 for 5000 millisecond Timeout).
These hardcoded values are found in the line ‘[url removed, login to view] = New GsmCommMain(portName, &H2580, &H1388)’ of the ‘InitializeGSMService’ Private Sub of the ‘SMSService App’ Public Class.
The new GSM/GPRS Modem device (SMS Gateway) I have purchased only operates at a baud rate of 115200 and therefore the exe file does not ‘see’ the device.
What I would like done:
1. Decompile the exe file (and understand how it interacts with the MySQL Database so that changes can be made).
2. Change the exe file to search for the Baud Rate and Timeout settings in the same MySQL database table that the COM port setting is currently specified. New entries will need to be added to the MySQL database as well.
3. The ability to specify the Baud Rate and Timeout settings in decimal (eg. 19200 and 300 or 115200 and 2000) in the MySQL database table.
4. Re-create / save the source code so the exe file can be easily changed and re-compiled in the future using Visual Basic Express. If possible all required files (.Net and source code) should be able to be stored in a single folder for easy retrieval/use in the future.
5. Simple instructions on how to recompile the exe file using Visual Basic Express (or another free compiler).
a. I have managed to decompile the exe and a lot of VB files appear to be extracted/created successfully but I cannot guarantee that they are all there and working.
b. I have a copy of the PDB file that may have been created when the exe file was originally being compiled and I can provide this is if it is useful/helpful.
c. I can provide a copy of the MySQL Database, Website and exe file.
d. Any other suggestions/advice/recommendations on the layout/structure of the exe file is welcomed.
WAMP Server 2.2
Apache [url removed, login to view]
MySQL [url removed, login to view]
Windows Server 2008R2 64bit
13 freelancers are bidding on average $346 for this job
Hi. This changes surely can be done. My 5-days bid is for difficult case, but I'm rather sure it would take less time. To make qualified opinion i need to see the file.