473,473 Members | 2,111 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Visual Basic reversed engineering

Hello,

I have an application (.exe) build in Visual Basic 6. The code (and
programmer) are gone. The program doesn't work because it looks for a ms
access file (.mdb) in an unknown directory. I need to figure out which
directory this is. Is there anyway to do this? The direcory is probably
hard-coded in the .exe, so could it be still in there as a string? Open the
..exe with some tool and look for strings? Or is there a way to step through
a running vb application?

This probably isn't a vb6 question, but that is what I work with and that is
what this application is build with and I have no idea how to accomplish
such a task, or if it's even possible. So any help would great,

Thanks.
Mar 13 '06 #1
4 4117
On Mon, 13 Mar 2006 08:05:56 +0100, "qwert" <no****@nospam.nl> wrote:
Hello,

I have an application (.exe) build in Visual Basic 6. The code (and
programmer) are gone. The program doesn't work because it looks for a ms
access file (.mdb) in an unknown directory. I need to figure out which
directory this is. Is there anyway to do this? The direcory is probably
hard-coded in the .exe, so could it be still in there as a string? Open the
.exe with some tool and look for strings? Or is there a way to step through
a running vb application?
I use a very old and honky File Viewer/Editor

www.jerryfrench.co.uk/fd.zip

That would be my first line of attack

The next line would be to try FileMon :-

http://www.sysinternals.com
This probably isn't a vb6 question, but that is what I work with and that is
what this application is build with and I have no idea how to accomplish
such a task, or if it's even possible. So any help would great,

Mar 13 '06 #2
qwert wrote:
Hello,

I have an application (.exe) build in Visual Basic 6. The code (and
programmer) are gone. The program doesn't work because it looks for a ms
access file (.mdb) in an unknown directory. I need to figure out which
directory this is. Is there anyway to do this? The direcory is probably
hard-coded in the .exe, so could it be still in there as a string? Open the
.exe with some tool and look for strings? Or is there a way to step through
a running vb application?


I'd use FileMon from SysInternals to see what files its trying to access.

(Follow up to alt.comp.lang.visualbasic failed as my ISP doesn't have it.)

--
Dean Earley (de*********@icode.co.uk)
i-Catcher Development Team

iCode Systems
Mar 13 '06 #3
Thanks for the answers.

FileMon is pretty handy. Good tip. Also, it turns out that if you simply
drag the exe file to notepad, the strings show up. But only with a 'space'
char between each of them. Don't know if this trick always works.


"J French" <er*****@nowhere.uk> wrote in message
news:44***************@news.btopenworld.com...
On Mon, 13 Mar 2006 08:05:56 +0100, "qwert" <no****@nospam.nl> wrote:
Hello,

I have an application (.exe) build in Visual Basic 6. The code (and
programmer) are gone. The program doesn't work because it looks for a ms
access file (.mdb) in an unknown directory. I need to figure out which
directory this is. Is there anyway to do this? The direcory is probably
hard-coded in the .exe, so could it be still in there as a string? Open the.exe with some tool and look for strings? Or is there a way to step througha running vb application?


I use a very old and honky File Viewer/Editor

www.jerryfrench.co.uk/fd.zip

That would be my first line of attack

The next line would be to try FileMon :-

http://www.sysinternals.com
This probably isn't a vb6 question, but that is what I work with and that iswhat this application is build with and I have no idea how to accomplish
such a task, or if it's even possible. So any help would great,


Mar 14 '06 #4

"qwert" <no****@nospam.nl> wrote in message
news:Qo********************@casema.nl...
Thanks for the answers.

FileMon is pretty handy. Good tip. Also, it turns out that if you simply
drag the exe file to notepad, the strings show up. But only with a 'space'
char between each of them. Don't know if this trick always works.


Yes it always works for literal strings in code. (The ones you define as
"abcde")
You will find they are stored at the bottom of the executable file within
the same area of a data segment. (the old term, but still descriptive, <g>)

The compiler does this in order to manage identical string optimizations
("Eliminate Duplicate Strings"). If for example you define "abcde" in your
code more than once, the optimizer will substitute the same address for both
strings and only store it once.

The reason you are seeing 'spaces' between the characters is because while
they were declared as ANSI (8byte chars), they are stored as Unicode (16byte
chars).

hth
-ralph



"J French" <er*****@nowhere.uk> wrote in message
news:44***************@news.btopenworld.com...
On Mon, 13 Mar 2006 08:05:56 +0100, "qwert" <no****@nospam.nl> wrote:
Hello,

I have an application (.exe) build in Visual Basic 6. The code (and
programmer) are gone. The program doesn't work because it looks for a msaccess file (.mdb) in an unknown directory. I need to figure out which
directory this is. Is there anyway to do this? The direcory is probably
hard-coded in the .exe, so could it be still in there as a string? Open the.exe with some tool and look for strings? Or is there a way to step througha running vb application?
I use a very old and honky File Viewer/Editor

www.jerryfrench.co.uk/fd.zip

That would be my first line of attack

The next line would be to try FileMon :-

http://www.sysinternals.com
This probably isn't a vb6 question, but that is what I work with and that is
what this application is build with and I have no idea how to

accomplishsuch a task, or if it's even possible. So any help would great,


Mar 14 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: pix | last post by:
Hello, I would like to start learning Visual Basic, and I was wondering if there are any recomendations to any ebooks, or actual books for that matter. I have my eye on this book by John Smiley,...
2
by: AK | last post by:
I don't want any part of the previous discussion on Visual Basic versus Visual Basic.Net. My query is about using Visual Basic for Applications; and whether it is better to use Visual Basic 6 or...
5
by: Aaron Ginn | last post by:
I'm investigating the feasibility of using Python instead of Visual Basic for a commercial software package that I'm planning on developing. Now I'm absolutely a Python zealot. I use it for most...
2
by: Bootstrap Bill | last post by:
A new Google group has been formed for the purpose of discussing the new Visual Studio Express products. http://groups-beta.google.com/group/Visual-Studio-Express The products are currently in...
2
by: Ralph | last post by:
I used to have Visual Basic .net std. 2003 installed on WinXP SP1A. But I found it too hard to upgrade WinXP to SP2. Now, I do have WinXP SP2 installed, but I am having problems installing...
3
by: Basil Fawlty | last post by:
Hi everyone, I could use some help in converting a simple Liberty BASIC program toa VB.NET 2003 SE program. I have built the simple form with a label, text box and button, Under the button I...
0
by: MirkoGeest | last post by:
(Webmaster: sorry, I posted this first at the General Software Engineering category, but I think this goes here) I'm using Visual Basic with Web Forms on .NET 2003 and I'm experiencing a very...
2
by: mary | last post by:
Hi, for my thesis at the university I'm working on a Visual c++ 6.0 source code, to understand better it I need to extract the UML graphics: Class Diagram, Object Diagram, Use Case Diagram, State...
97
by: Master Programmer | last post by:
An friend insider told me that VB is to be killled off within 18 months. I guess this makes sence now that C# is here. I believe it and am actualy surprised they ever even included it in VS 2003 in...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
1
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.