UGN Security Forums
My ProfileMember DirectoryLogin
Search our ForumsView our FAQView our Site Rules
View our CalendarView our Active TopicsGo to our Main Page

UGN Security Store
 

Network Sites UGN Security, Elite Web Gamers, Back of the Web, EveryDay Helper, VNC Web Design & Development
Our Sponsors

Latest Postings
Owning Servers
by Gizmo
08/25/08 10:21 AM
my old account still exists!
by Gizmo
08/19/08 02:27 PM
Burger King gone Wild!
by Gizmo
08/08/08 11:42 PM
PDX 2600
by rbcp
08/07/08 12:46 AM
The Pirate Bay- shut down?
by ZER0_DECEPTION
08/05/08 09:07 PM
Windows Events for Changing Access rights to a folder or a File
by Gizmo
08/05/08 12:32 PM
question about IE and CSS
by §intå×
08/04/08 08:51 PM
Server
by Gizmo
08/01/08 01:29 AM
Topic Options
#17858 - 01/12/03 12:23 PM Crash Course in VB memory hacks and strings
SilentRage Offline
DollarDNS Owner

Registered: 03/04/02
Posts: 1273
Loc: OH, USA
I've written a previous tutorial on memory hacking with CopyMemory, but it wasn't entirely accurate or thorough. This crash course will give you the totally accurate and thorough situation on VB strings and string arrays.

A reminder:
StrPtr function returns the pointer to the string associated with a string variable.

VarPtr function returns the pointer to the actual variable.

Strings

Memory Commentary:
A string variable stores a 4 byte pointer to the first byte of the actual string. However, before the string is a 4 byte length descripter OF the string in number of bytes. In VB strings are UNICODE and are terminated by a 2-byte null character. However, make sure to only pass strings as ByVal VarPtr for the source - cause VB has a tendancy to pass the UNICODE strings as ASCII which totally screws things up.

'The returned address is identical to StrPtr(MyString)
CopyMemory Address, ByVal VarPtr(MyString), 4

'Store the length of MyString
CopyMemory Length, ByVal StrPtr(MyString) - 4, 4

'Copy the string from MyString to the Buffer
CopyMemory Buffer, ByVal StrPtr(MyString), Length

String Arrays

Memory Commentary:
A array variable stores a 4 byte pointer to the first element of the actual array. String arrays are actually an array of 4 byte pointers which point to the actual string in each element. Before the actual array is a 4 byte length descripter of the array. So like, if an array has 3 elements, the length will be 12. Each individual element being a pointer to the string associated with that element. That string holds true to strings pointed to by normal string vars. It is preceded by a 4 byte length of the actual string.

'Store the memory location of the array
CopyMemory Address, ByVal VarPtr(MyStringArray(0)), 4

'The 4 bytes before the array is the length of the array in bytes
CopyMemory Length, ByVal Address - 4, 4

'Retrieve the address to the string in the first element
CopyMemory Address, ByVal StrPtr(MyStringArray(0)), 4

'Retrieve the length of the string in the first element
CopyMemory Length, ByVal StrPtr(MyStringArray(0)) - 4, 4

'Copy the string in the first element to a string variable
CopyMemory MyString, ByVal StrPtr(MyStringArray(0)), Length
_________________________
Domain Registration, Hosting, Management
http://www.dollardns.net

Top
Our Sponsors
Sponsor Our Sponsors

Top  
#17859 - 01/24/03 02:37 AM Re: Crash Course in VB memory hacks and strings
ninjaneo Offline
Microwavable Pillow Tosser

Registered: 03/06/02
Posts: 229
Loc: CA, USA
thanks SR, what I was looking for

btw.. this was posted using meh port forwarde :>

Top
#17860 - 02/19/03 08:58 AM Re: Crash Course in VB memory hacks and strings
psychogen Offline
Member

Registered: 03/02/02
Posts: 257
Loc: UK
nice nice :-P
_________________________
The use of "hacker" to mean "security breaker" is a confusion on the part of the mass media. We hackers refuse to recognize that meaning, and continue using the word to mean, "Someone who loves to program and enjoys being clever about it."
--------------------
"Its not a bug, its a feature" (Epic Games)

Top



Forum Stats
6911 Members
44 Forums
10460 Topics
45198 Posts

Max Online: 677 @ 06/30/07 10:06 PM
Top Posters
Gizmo 6929
UGN Security 3436
§intå× 3250
IceMyst 1449
SilentRage 1273
Ice 1146
pergesu 1134
Infinite 1039
jonconley 954
Girlie 903
Newest Members
red queen, byopc, cybermox, NiPah, mcscrwdy25
6911 Registered Users
Who's Online
0 Registered (), 9 Guests and 4 Spiders online.
Key: Admin, Global Mod, Mod
Latest News
Update Humpday - Aug 27, 2008
by Gizmo
Yesterday at 12:58 AM
Update Humpday - Aug 20, 2008
by Gizmo
08/21/08 01:48 AM
Update Humpday - Aug 14, 2008
by Gizmo
08/14/08 08:33 AM
Update Humpday - Aug 06, 2008
by Gizmo
08/06/08 08:05 AM
Update Humpday - Jul 30th, 2008
by Gizmo
07/31/08 11:17 AM


Donate

Get the Google FireFox Toolbar
Get Firefox!
Get FireFox!