Find Jobs
Hire Freelancers

VC++ / Machine Code Reverse Engineering Project

$3000-5000 AUD

Closed
Posted about 13 years ago

$3000-5000 AUD

Paid on delivery
We are looking for an experienced VC++ developer and low level binary programmer with proficient knowledge of CAD software to help us to rebuild a CAD software plugin for AutoCAD LT. LT Toolkit is an enhancement tool for AutoCAD LT that allows to run LISP routines among other added functionalities. More info: [login to view URL] LT Toolkit requires Slingshot (another set of enhancement tools for AutoCAD LT), and both source codes are in VC++ and Visual Studio 2008. Slingshot is the main component of the project. Slingshot launches AutoCAD LT and creates the custom menu in the AutoCAD User Interface. Plus, Slingshot is used as the license management tool. Chucks of source code have been deliberately deleted, along with important files. Source code also missing relevant header files (.h) and source files (.cpp) The source code is also looking for objectARX 2004 and objectARX 2009. None of both projects LT Toolkit or Toolkit are able to build properly, with a lots of errors and compiler warnings. The main sequence of launching the project: InitApp() is the starting function in the [login to view URL] file. It calls the initTheApp() function with further calls fixOpenCommand() With this reference, please see below snippet of code in the [login to view URL] source file: bool dSlingShotMain::fixOpenCommand() { MFC_RESOURCE_INIT; if (!_isLT()) return true; HMODULE hLib = GetModuleHandle(ACUIDLL); if (!hLib) return false; BYTE pNewValue[1]= { 0x01 }; PBYTE pAddress; if (myApp->acadVersion() == 2007) { pAddress = (PBYTE)hLib+0x0000C8F8; } else if (myApp->acadVersion() == 2008) { pAddress = (PBYTE)hLib+0x0000CBB8; } else return false; modifyBytes(pAddress,1,pNewValue); return true; } Above bold line of code indicates the call for ‘modifyBytes’ method in the above function. The former developer of the software has changed some binary code for some functions in this DLL file. This modification is dependent on the versions of AutoCAD LT. This kind of modification of the internal binary code is observed in following places for some other DLL files. getAroundDBXACS(), setIsAnObjectDBXModule(), setIsAnObjectDBXModule(), fixOpenCommand(), fixFullScreenVector(), fixAecUiBase45Craps(), fixupAecSystemTools47() It is also observed that this version dependent modification is done for AutoCAD LT versions 2007 to 2010 in some places, whereas the code for some versions is missing in the remaining places, e.g. the above code has the modifications for 2007 and 2008 only. The crucial code for the ‘modifyBytes’ function is also missing. Hence it is difficult to understand what is exactly happening in this function. Important source files are, too: [login to view URL], [login to view URL], [login to view URL] Crucial difficulty: AutoCAD LT version wise changes to the memory address locations as we do not know internals of AutoCAD LT. Find out the working of the ‘modifyBytes’ function where changes in DLL address takes place and it is missing from the code.
Project ID: 970425

About the project

9 proposals
Remote project
Active 13 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
9 freelancers are bidding on average $5,444 AUD for this job
User Avatar
I am programming with machine code since 1988, programming windows apps and drivers and kernel level from 1997. I can return the project compilable for you. Final bid will depend on approximately how many lines of code missing..
$10,000 AUD in 60 days
5.0 (6 reviews)
4.3
4.3
User Avatar
Dear Sir it's our privilege to be incorporated with you. Let us a chance to prove you ourselves. thanking you.
$4,000 AUD in 30 days
0.0 (0 reviews)
0.0
0.0
User Avatar
I have specialised skills in AutoCAD Customization using various APIs. I have worked on ObjectARX, RealDWG , Visual LIsp etc. I know that AutoCAD LT does not support programming , but some very intelligent people finds some way to reverse engineer it. I was always wanted to know the method. For me this project is not for money that I earn , but if I can do it , I will find my answers.
$4,500 AUD in 45 days
0.0 (0 reviews)
0.0
0.0
User Avatar
i am a .net professional developed many projects in asp.net vb.net c#.net sql, oracle and created various type of crystal reports.
$5,000 AUD in 60 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Hi Sir, I have more then 4+ Years of experience in AutoCAD/IntelliCAD/ObjectARX development, in VC++/ObjectARX/DWGDIrect/. Please check PMB for more information. I think I can complete this work for you in 1 month. Thanks Sankulp
$3,500 AUD in 30 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Hi, i have 9 years of experience in c++. I worked on addins for proe, unigraphics, solid works, parasolid. I have good knowledge in assembly programming and debugging skills. I look forward to work on this.
$5,000 AUD in 60 days
0.0 (0 reviews)
0.0
0.0
User Avatar
We can do that
$3,000 AUD in 30 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Please refer to PMB.
$4,000 AUD in 30 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Hi, I am interested, pls check my resume and www link to one of my products. May be it's easy just re-write this start-up code as add-ons DLL with AutoCAD API's. Any estimate about time / price can only be done after project specification and scope is more clear. Thanks Ivan
$10,000 AUD in 60 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of AUSTRALIA
Avalon, Australia
5.0
1
Payment method verified
Member since Aug 18, 2010

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.