473,781 Members | 2,413 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

trace info in Access 97

I need to demostrate, in a forensic job, that I can change (insert,
update, delete) records in a table of an access database without
trace. How can I do
this ? I plan to make the queries or export to excel, make the changes
and import again. Does access logs this change.
Very important: Exists any kind of date/time that access manage
internaly. Something like MSysObects ? If exists how can I change?

Thanks for your time !!!
Alf
Nov 13 '05 #1
6 1989
MA

"latosca68" <la*******@hotm ail.com> ha scritto nel messaggio
news:5a******** *************** ***@posting.goo gle.com...
I need to demostrate, in a forensic job, that I can change (insert,
update, delete) records in a table of an access database without
trace. How can I do
this ? I plan to make the queries or export to excel, make the changes
and import again. Does access logs this change.
Very important: Exists any kind of date/time that access manage
internaly. Something like MSysObects ? If exists how can I change?

Thanks for your time !!!
Alf


If the database has got any protection, it is available to any kind of
access
using excel, asp, vbs (also only linking it without importing).
That's because is very weak the way to log by tables tah access to them
So if you want to display is very easy.
In opposite, if you want to protect you have to use mdw, a rule of
permisses.
MAssimiliano
Nov 13 '05 #2

"latosca68" <la*******@hotm ail.com> wrote in message
news:5a******** *************** ***@posting.goo gle.com...
I need to demostrate, in a forensic job, that I can change (insert,
update, delete) records in a table of an access database without
trace. How can I do
this ? I plan to make the queries or export to excel, make the changes
and import again. Does access logs this change.
Very important: Exists any kind of date/time that access manage
internaly. Something like MSysObects ? If exists how can I change?

Thanks for your time !!!
Alf


There is nothing of which I'm aware that keeps track of changes unless one
specifically programs such functionality into the database. However, just
because I've not seen something like this in Access doesn't mean that it
doesn't exist. I suggest you contact microsoft directly with this question.
Nov 13 '05 #3
"latosca68" <la*******@hotm ail.com> wrote in message
news:5a******** *************** ***@posting.goo gle.com...
I need to demostrate, in a forensic job, that I can change (insert,
update, delete) records in a table of an access database without
trace.


You cannot write to the MSys... tables. Those tables are, for the most part,
undocumented and, so is the structure of the Access database itself... MDB,
MDE, ADP, ADE, and DAP. Some people have delved deep and come to conclusions
about various aspects of the system tables, and of the structure of the
database. They can, at least, speculate on the subject.

Microsoft does not document them for a purpose -- the design of some of
those tables, and, I am sure, the design of the database itself, have
changed with every release of the product. If I were Microsoft, I, too would
want to avoid an implied commitment that the design would remain constant.

As I understand MSysObjects, it records the date of creation and update of
the design of Access objects, not changes to data.

The best answer I can give is that I do not know of any logging of data
changes that is documented by Microsoft. And, that would be a nice feature,
if it were available, for data recovery -- so it would seem that someone
would know about it if it existed. You would need someone who's looked into
the matter a lot deeper than most of us to get an answer.

If you can locate Peter Miller, you might discuss with him whether he could
serve as an expert witness -- he has an excellent reputation in data
recovery of corrupted Access databases. His website is
http://www.pksolutions.com.

Larry Linson
Microsoft Access MVP

Nov 13 '05 #4
Larry Linson wrote:
You cannot write to the MSys... tables. Those tables are, for the most part,
undocumented and, so is the structure of the Access database itself... MDB,
MDE, ADP, ADE, and DAP. Some people have delved deep and come to conclusions
about various aspects of the system tables, and of the structure of the
database. They can, at least, speculate on the subject.
It depends on the version of Access involved. You used to be able to
edit and indeed spoof certain system tables, but assuming we're talking
about Access 2003 (which wasn't the version the original poster referred
to), things have improved somewhat. The spoofing is out.

While the structure of Access databases is not public, the structure of
table data is pretty easy to determine, and since the structure of the
system tables is easily viewed, its not very difficult to edit system
table data directly with a hex editor or custom program. The question
arises whether this is wise.
Microsoft does not document them for a purpose -- the design of some of
those tables, and, I am sure, the design of the database itself, have
changed with every release of the product. If I were Microsoft, I, too would
want to avoid an implied commitment that the design would remain constant.
I agree with the argument and rationale, but it is amazing how little
the file format has changed over time. Access 2.0 -> Access 95 was a
significant format shift. Changes since then have beeen much more
minor. In fact, changes in the file format for the last three versions
have been extremely minimal.
As I understand MSysObjects, it records the date of creation and update of
the design of Access objects, not changes to data.

The best answer I can give is that I do not know of any logging of data
changes that is documented by Microsoft. And, that would be a nice feature,
if it were available, for data recovery -- so it would seem that someone
would know about it if it existed. You would need someone who's looked into
the matter a lot deeper than most of us to get an answer.
There is no logging of data ativity that occurs in a jet database that
can be used reliably for recovery or auditing purposes, unless one is
using replication. If replication is used, a great deal of imformation
is indeed logged (as it must be for replication to be possible).
If you can locate Peter Miller, ...
Let me know if you locate him. I'd like to have a chat with the fellow too!
...you might discuss with him whether he could
serve as an expert witness -- he has an excellent reputation in data
recovery of corrupted Access databases.


I sense that the OP wasn't really looking for forensic information,
despite first appearances. I think what he was really after was a
simple transaction logging capability. For that, I'd suggest using
replication, provided the database is not large, doesn't have a lot of
data thrashing, and he can work his way through understanding the
replication related system tables. The idea would be not to synchronize
until one had checked the logs to ensure only valid activity. If the
file is large and/or a lot of data thrashing occurs, then the delayed
synchronisation will cause a lot of bloat. Why ever synchronize in such
a case? Because if the files aren't ever synced, the logs get unwieldy.

If the OP's question is assumed to actually relate to forensic analysis
of the db itself, then actions like exporting data to excel, modifying
it, and re-importing it would indeed leave a trace. But if the
'suspect' then created a new file, and imported all tables and data, it
would be easy to determine that a new file had been created, but
impossible to tell whether data changes had occured under a controlled
enviroment (ie, the intended f/e app) or by an outside program.

Peter Miller
Nov 13 '05 #5
latosca68 wrote:
I need to demostrate, in a forensic job, that I can change (insert,
update, delete) records in a table of an access database without
trace. How can I do
this ?
Open a table. Tables/Open. Change to your heart's delight. Delete
what you want. Nobody is going to stop you....unless user security has
been implemented.

In reality, you don't need forms or code to input, change, or delete
data. All you need is the ability to open a table. Forms and code are
used to provide ease of operation for the operator and to follow
business rules that have been defined by the system requirements.

FoxPro and Access are easy to change data without using normal input
mechanisms. I'll assume the same holds true with most database
management systems...if you have access to the tables you have access to
change data.

I plan to make the queries or export to excel, make the changes and import again. Does access logs this change.
You need to build in rules. A computer, in most cases, is pretty dumb.
It doesn't know right from wrong (unless told) or whether an action
should be rejected or allowed (unless told).
Very important: Exists any kind of date/time that access manage
internaly. Something like MSysObects ? If exists how can I change?
What would be required is that if you delete rows to a table Access
triggers an action to store/copy the deleted rows to a temp/work table.
Same way with adds and mods.

One could write code that anytime anything is changed, it gets written
somewhere. But that would require going through a form or code module.
If one has access to the table...no way.

Now there is database bloat...and that is removed when you compact the
database. I suppose you could determine what records were deleted prior
to compacting if you knew what to look for..and it would probably have
to be done from an external program. It would not tell you who did the
changes tho.

Data is data. And data is stored to be retrieved, viewed, and in many
cases modified. One has to trust the staff using an application is
trustworthy. The best thing to do is have a good backup system in
place. In that case, you could compare today's data to a prior day's
data and determine what has been changed. However, if you don't have
the code to tell the table to store the name of the person that changed
the data and a date/time stamp then that will not be inserted and you
have noone to point fingers at.
Thanks for your time !!!
Alf

Nov 13 '05 #6
Peter Miller <pm*****@pksolu tions.com> wrote in
news:nn******** **********@news-server.bigpond. net.au:
I think what he was really after was a
simple transaction logging capability. For that, I'd suggest
using replication, provided the database is not large, doesn't
have a lot of data thrashing, and he can work his way through
understanding the replication related system tables. The idea
would be not to synchronize until one had checked the logs to
ensure only valid activity. If the file is large and/or a lot of
data thrashing occurs, then the delayed synchronisation will cause
a lot of bloat. Why ever synchronize in such a case? Because if
the files aren't ever synced, the logs get unwieldy.


I would strongly recommend against attempting to use replication for
this purpose. That was *not* what it was designed for, and it's
likely to lead you to grief.

Secondly, the replication tables, like the system tables, are not
really documented, so you'd have to spend a lot of time figuring out
what is in them.

Third, they don't really record a log of edits, just the *last* edit
for the replica you're examining. So, you can't really get logging
of data changes via replication anyway, so why bother to try it?

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #7

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

Similar topics

2
2387
by: Ken | last post by:
I would like to start using EventLogTraceListener, and am running into a couple of significant limitations: 1) I have found that there is no way to write EventLog entries with different EventLogEntryTypes. It seems that EventLogTraceListener is only capable of writing entries with EventLogEventType.Informat­ion, even for Trace.Fail. Is this assessment correct? 2) EventLogTraceListener.Flush (and the idea of buffering writes) is not...
0
3346
by: Raquel | last post by:
UDB PE 8.1 on Win XP. Per the manual: DB2 JDBC traces always begin with a header that lists important system information such as key environment variable settings, the JDK or JRE level, the DB2 JDBC driver level, and the DB2 build level. For example: 1 ======================================================== 2 | Trace beginning on 2002-1-28 7:21:0.19
1
2053
by: ramesh | last post by:
In my above mail i forgot to add Stock Trace info. below is the Stock Trace info. Can anybody knows about this problem. Stock Trace Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str) +74 Microsoft.Win32.RegistryKey.SetValue(String name, Object value) +1610
2
2102
by: Richard | last post by:
Hi, I would like to output the source code module name and line number in some of my Trace.Writeline() calls. The information that I need is in the Environment.StackTrace string however I DO NOT want to issue a full stack trace and then parse a string every time I wish to Trace source code info!!!!!!!! For you ex-C++ now C# coders I wanna do something like this: Trace.WriteLine(__FILE__ + "-" + __LINE__ + ": " + msg); Is there a...
5
2230
by: martin | last post by:
Hi, The trace class seems to me to be very usefull however there are a few features of it that have to confused. I am using visual studio 2003. the IDE will not let me write trace.assert(..) or trace.writeLine(..) or trace.writeif(..)
5
2025
by: TPS | last post by:
When I set trace enable to true in my web.config file, the debug info does not display at the "bottom" of the page, it displays "under" all of my buttons, labels, grids etc. This behavior happens in GridLayout, or FlowLayout. ? Thanks, TPS.
0
1749
by: IK | last post by:
Hi all, How can I save trace output to the text file in app's dir. In addition, I need to save debug info from Session_End event in global.asax. The code below saves file only in Windows\System32 dir. TextWriterTraceListener tracer = new TextWriterTraceListener("traceout.txt"); Trace.Listeners.Add(tracer); Trace.WriteLine("Exception"+ex.Message); tracer.Dispose();
1
1818
by: Martin | last post by:
Hi, is it a wise thing to do to place trace listeners (that write to a text file) into an asp.net application. I wish to do this for testing so that a user may vist as many different pages as they like and the trace information for that session will be kept in a sigle place. I have implemented a logger and added a trace switch to my web.config file
3
3760
by: | last post by:
If this is simple, forgive my ignorance, but I'm coming from the CompactFramework where we don't use AppDomains. I did a fair bit of archive searching and couldn't find an answer and I got no responsed in the remoting group after a week, so I'm throwing a little wider net this time. I have a desktop app (FFx 2.0) developed with Studio 05 that loads assemblies in a separate AppDomains from the primary UI. I'd like to be able to hook up...
0
9474
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10143
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10076
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9939
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8964
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6729
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5507
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4040
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 we have to send another system
2
3633
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.