Jump to content

VirtualQueryEx


Nomad
 Share

Recommended Posts

Here is a working example of VirtualQueryEx. The script was too large to paste the code, so I attached the source in a .zip. You need a fairly recent beta version of AutoIt to run this script. You will also need my _Memory functions located here, as well as GuiListView.au3 (which should be included with your beta version). My _Memory functions must either be in the working directory of the script, or in your include folder for AutoIt.

To use the example, just open the .au3 file and run it. There's no need to compile it, unless you want to. Click on the icon button and select the process whose virtual memory data you would like to view, then click on open. That's all there is to it. The time it takes to scan all of the data and display it will vary depending on a variety of factors, such as the total number of regions and region sizes. It probably will not take more than 30 seconds at the most, but I could be wrong.

Anyway, here's the source:

removed

Enjoy, :wacko:

Nomad :D

Edited by Nomad
Link to comment
Share on other sites

hmm.. pretty cool!

Thanks, I made this since I haven't seen a working example of this, and in another topic, someone said it wasn't possible to do this with Win 9x, and I'm using Windows 98. :wacko:

I've found a few small errors in the script since I posted it, but nothing major. Like the title of the GUI says "VirtualMemoryEx' instead of 'VirtualQueryEx'... oops. :D

But if it bothers anyone that much, then they can correct it, I'm not. :D

This script is intended as a working example from which scriptors can base their structure if they want/need to use VirtualQueryEx. It is not intended as a 'ready for production' script. So I didn't spend a lot of time trying to make the GUI do 'everything'. But note: if you intend to have the listview sort the items, I wouldn't use the listview sorting UDF's if there are a lot of regions, unless you like waiting for a long time. :D

Link to comment
Share on other sites

I am looking at the code and it is supposed to create a listview item for each address? I scan Firefox with the example and I only see addresses ending in "0000" and some in "000". Is it encountering a limit and not creating any more listview controls?

Link to comment
Share on other sites

I am looking at the code and it is supposed to create a listview item for each address? I scan Firefox with the example and I only see addresses ending in "0000" and some in "000". Is it encountering a limit and not creating any more listview controls?

No, it's scanning the regions of addresses allocated for the process, or the memory pages. Each listview item is a region of addresses. The Base Address + Region Size is the range of addresses in the region. If the address you want is within this range, then that is the region which it resides in and it has the attributes of that region.

This function does not return the values for the addresses, only the attributes. Every address in the region has the same attributes, so it's pointless to show every address. You can scan each and every address if you want, but every address in the same region is going to return the same information.

This information is useful for a variety of reasons. For one, it allows someone to see the protection status of the region containing a given address.

Example: If someone attempts to read or write an address in a region with a protection status of 0x10 (PAGE_EXECUTE), it will result in an access violation. So it's good to know the attributes of an address before attempting to access it.

The only limit you could potentially encounter, would be the AutoIt limit for controls on a GUI, but if you hit that limit you would know. There would either be an error, or the program would freeze. But given the average region size and the maximum number of virtual addresses possible, you will not likely hit this limit. If you tried to create an item for each and every address, then you would definately hit this limit since there are 4,294,967,296 possible addresses and only 4093 possible controls for a single GUI (but if there was no control limit it would take you months, and probably years, to display every address using this script).

About VirtualAllocEx & WIN98 look here:

http://www.autoitscript.com/forum/index.ph...st&p=207708

And this topic is for VirtualQueryEx, which I pointed out in that topic. But thanks for showing us that you know how to use the search function.

Nomad :D

Edited by Nomad
Link to comment
Share on other sites

  • 7 months later...
  • 1 year later...

If you read his profile, you can see he hasn't been here since January.

I guess I was lucky enough to grab this one.

VirtualQueryEx.au3

;=================================================================================================
; Function:         _VirtualQueryEx($iv_Address, $ah_Handle)
; Description:      Opens a process then reads and returns information for the memory page which
;                   contains the memory address specified.
; Parameter(s):     $iv_Address - The memory address you want to read from. It must be in hex
;                                 format (0x00000000).
;                   $ah_Handle - An array containing the Dll handle and the handle of the open
;                                process as returned by _MemoryOpen().
; Requirement(s):   A valid process ID.
; Return Value(s):  On Success - Returns an array containing the following:
;                                $Array[0] = Base Address.
;                                $Array[1] = Allocation Base.
;                                $Array[2] = Allocation Protect.
;                                $Array[3] = Region Size.
;                                $Array[4] = State.
;                                $Array[5] = Protect.
;                                $Array[6] = Type.
;                   On Failure - Returns 0
;                   @Error - 0 = No error.
;                            1 = Invalid $ah_Handle.
;                            2 = $sv_Type was not a string.
;                            3 = $sv_Type is an unknown data type.
;                            4 = Failed to allocate the memory needed for the DllStructure.
;                            5 = Error allocating memory for $sv_Type.
;                            6 = Failed to read from the specified process.
; Author(s):        Nomad
; Note(s):
;=================================================================================================
Func _VirtualQueryEx($iv_Address, $ah_Handle)
    
    If Not IsArray($ah_Handle) Then
        SetError(1)
        Return 0
    EndIf
    
    Local $av_Data[7], $i
    Local $v_Buffer = DllStructCreate('dword;dword;dword;dword;dword;dword;dword')
    
    If @Error Then
        SetError(@Error + 1)
        Return 0
    EndIf
    
    DllCall($ah_Handle[0], 'int', 'VirtualQueryEx', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer))
    
    If Not @Error Then
        
        For $i = 0 to 6
            
            $av_Data[$i] = Hex(DllStructGetData($v_Buffer, ($i + 1)))
            
        Next
        
        Return $av_Data
        
    Else
        SetError(6)
        Return 0
    EndIf
    
EndFuncoÝ÷ ØLZ^jíÚºÚ"µÍÚ[ÛYH ÑÕRPÛÛÝ[Ë]LÉÝÂÚ[ÛYH  ÑÝZSÝY]Ë]LÉÝÂÚ[ÛYH ÓY[[ÜK]LÉÝÂÛØ[   ÌÍÔØÙÜÓX[ÛØ[   ÌÍÓÝY]ÂÛØ[   ÌÍÔØÙÜÑÕRBÛØ[ ÌÍÔØÙÜÕYBÛØ[   ÌÍÔÙÜÜÐÜ
    ][ÝÑÕRSÛ][[ÙI][ÝËJBXZ[ÑÕRH

BÚ[HBTÛY
L
BÑ[[ÈXZ[ÑÕRH

BBQÕRPÜX]J    ][ÝÓÛXY  ÌÎNÜÈ   ÌÎNÕX[Y[[ÜQ^    ÌÎNÈ^[I][ÝË
LKÌLKLJBQÕRTÙ]ÐÛÛÜÌÌÌ
BQÕRTÙ]Û][
    ÌÍÑÕRWÑUSÐÓÔÑK ][ÝÑ^]ØÜ    ][ÝÊBBIÌÍÔØÙÜÓX[HÕRPÝÜX]SX[
    ][ÝÉ][ÝËÍKL
ÌËMK  ÌÍÔÔ×ÐÑSTBBQÕRPÝÜX]P]Û   ][ÝÉ][ÝË
K
K   ÌÍÐ×ÒPÓÓBQÕRPÝÙ]Û][
LK  ][ÝÔØÙÜ×ÔÙ[XÝÜ][ÝÊBQÕRPÝÙ][XYÙJLK   ][ÝÜÚ[Ì ][ÝËMK
BBIÌÍÓÝY]ÈHÕRPÝÜX]SÝY]Ê   ][ÝÐYÜÈ[ØØ][ÛÙ_[ØØ][ÛÝXÝYÚ[ÛÚ^_Ý]_ÝXÝI][ÝË
K

K
LMKL
BQÕRPÝÙ]ÐÛÛÜLKÌÌÌ
BBIÌÍÔÙÜÜÐHÕRPÝÜX]TÙÜÜÊ
KÌ
LMKL
BBQÕRTÙ]Ý]J
BB[[Â[ÈØØ[ÓY[[ÜWÔYÙÈ
    ÌÍÒ[JBBSØØ[    ÌÍÔÜÈHÚ[Ù]ÜÊ   ][ÝÓÛXY  ÌÎNÜÈ   ÌÎNÕX[Y[[ÜQ^    ÌÎNÈ^[I][ÝÊBTÜÚ^Û
    ][ÝÉ][ÝË    ][ÝÔØØ[[ÈX[Y[[ÜI][ÝËML
L   ÌÍÔÜÖÌJÌN    ÌÍÔÜÖÌWJÌMLJBBSØØ[ ÌÍÔÝY[[ÜHHBBNÑXÊ
BSØØ[ ÌÍÑ[Y[[ÜHH
MMÌMBNÑXÊBBSØØ[    ÌÍÐYÜË ÌÍÓÝYÜË   ÌÍÔÙÜÜÂSØØ[    ÌÍÐYHÝXÝÜX]J  ÌÎNÙÛÜÙÛÜÙÛÜÙÛÜÙÛÜÙÛÜÙÛÜ ÌÎNÊBBIÌÍÐYÜÈH  ÌÎNÌ ÌÎNÈ [È^
    ÌÍÔÝY[[ÜJBBUÚ[HBBBBQØ[
    ÌÍÒ[VÌK ÌÎNÚ[    ÌÎNË ÌÎNÕX[]YQ^   ÌÎNË ÌÎNÚ[    ÌÎNË ÌÍÒ[VÌWK    ÌÎNÚ[    ÌÎNË ÌÍÐYÜË ÌÎNÜÌÎNËÝXÝÙ]  ÌÍÐYK    ÌÎNÚ[    ÌÎNËÝXÝÙ]Ú^J ÌÍÐYJBBBBSØØ[  ÌÍÐÙPYÜÈH ÌÎNÌ ÌÎNÈ [È^
ÝXÝÙ]]J  ÌÍÐYJJNÈ
È
BBSØØ[    ÌÍÐ[ØÐÙHH ÌÎNÌ ÌÎNÈ [È^
ÝXÝÙ]]J  ÌÍÐYJBBSØØ[    ÌÍÐ[ØÔÝXÝH^
ÝXÝÙ]]J  ÌÍÐYÊJBBSØØ[  ÌÍÔYÚ[ÛÚ^HHÝXÝÙ]]J ÌÍÐY
BBSØØ[    ÌÍÔÝ]HH ÌÎNÌ ÌÎNÈ [È^
ÝXÝÙ]]J  ÌÍÐY
JJBBSØØ[  ÌÍÔÝXÝH^
ÝXÝÙ]]J  ÌÍÐY
JBBSØØ[   ÌÍÕHH    ÌÎNÌ ÌÎNÈ [È^
ÝXÝÙ]]J  ÌÍÐY
ÊJBBBBIÌÍÓÝYÜÈH  ÌÍÐYÜÂBIÌÍÐYÜÈH   ÌÎNÌ ÌÎNÈ [È^
    ÌÍÐÙPYÜÈ
È  ÌÍÔYÚ[ÛÚ^JBBBBRY  ÌÍÐYÜÈH    ÌÍÓÝYÜÈ[BBQ^]ÛÜBQ[YBBBTÙ[XÝBBPØÙH   ÌÍÐ[ØÔÝXÝHBBBIÌÍÐ[ØÔÝXÝH  ÌÎNÉÌÎNÂBBPØÙH  ÌÍÐ[ØÔÝXÝHBBBBIÌÍÐ[ØÔÝXÝH ÌÎNÓÈXØÙÜÉÌÎNÂBBPØÙH   ÌÍÐ[ØÔÝXÝHBBBIÌÍÐ[ØÔÝXÝH  ÌÎNÔXY   ÌÎNÂBBPØÙH ÌÍÐ[ØÔÝXÝH
BBBIÌÍÐ[ØÔÝXÝH   ÌÎNÔXY
ÕÜ]IÌÎNÂBBPØÙH   ÌÍÐ[ØÔÝXÝHBBBIÌÍÐ[ØÔÝXÝH  ÌÎNÕÜ]KPÛÜIÌÎNÂBBPØÙH    ÌÍÐ[ØÔÝXÝHLBBBIÌÍÐ[ØÔÝXÝH ÌÎNÑ^XÝ]IÌÎNÂBBPØÙH    ÌÍÐ[ØÔÝXÝHBBBIÌÍÐ[ØÔÝXÝH  ÌÎNÑ^KTXY    ÌÎNÂBBPØÙH ÌÍÐ[ØÔÝXÝH
BBBIÌÍÐ[ØÔÝXÝH   ÌÎNÑ^KTXY
ÕÜ]IÌÎNÂBBPØÙH   ÌÍÐ[ØÔÝXÝHBBBIÌÍÐ[ØÔÝXÝH  ÌÎNÑ^KUÜ]KPÛÜIÌÎNÂBQ[Ù[XÝBBBTÙ[XÝBBPØÙH  ÌÍÔÝ]HHLBBBIÌÍÔÝ]HH ÌÎNÐÛÛ[Z]  ÌÎNÂBBPØÙH ÌÍÔÝ]HHBBBIÌÍÔÝ]HH  ÌÎNÔÙIÌÎNÂBBPØÙH   ÌÍÔÝ]HHLBBBIÌÍÔÝ]HH ÌÎNÑYIÌÎNÂBQ[Ù[XÝBBBTÙ[XÝBBPØÙH ÌÍÔÝXÝHBBBIÌÍÔÝXÝH    ÌÎNÉÌÎNÂBBPØÙH  ÌÍÔÝXÝHBBBBIÌÍÔÝXÝH   ÌÎNÓÈXØÙÜÉÌÎNÂBBPØÙH   ÌÍÔÝXÝHBBBIÌÍÔÝXÝH    ÌÎNÔXY   ÌÎNÂBBPØÙH ÌÍÔÝXÝH
BBBIÌÍÔÝXÝH    ÌÎNÔXY
ÕÜ]IÌÎNÂBBPØÙH   ÌÍÔÝXÝHBBBIÌÍÔÝXÝH    ÌÎNÕÜ]KPÛÜIÌÎNÂBBPØÙH    ÌÍÔÝXÝHLBBBIÌÍÔÝXÝH   ÌÎNÑ^XÝ]IÌÎNÂBBPØÙH    ÌÍÔÝXÝHBBBIÌÍÔÝXÝH    ÌÎNÑ^KTXY    ÌÎNÂBBPØÙH ÌÍÔÝXÝH
BBBIÌÍÔÝXÝH    ÌÎNÑ^KTXY
ÕÜ]IÌÎNÂBBPØÙH   ÌÍÔÝXÝHBBBIÌÍÔÝXÝH    ÌÎNÑ^KUÜ]KPÛÜIÌÎNÂBQ[Ù[XÝBBBTÙ[XÝBBPØÙH  ÌÍÕHHBBBIÌÍÕHH    ÌÎNÔ]]IÌÎNÂBBPØÙH   ÌÍÕHH
BBBIÌÍÕHH    ÌÎNÓXY   ÌÎNÂBBPØÙH ÌÍÕHHLBBBIÌÍÕHH   ÌÎNÒ[XYÙIÌÎNÂBQ[Ù[XÝBBBQÕRPÝÜX]SÝY]Ò][J   ÌÍÐÙPYÜÈ  [È ][Ýß  ][ÝÈ  [È ÌÍÐ[ØÐÙH  [È ][Ýß  ][ÝÈ  [È ÌÍÐ[ØÔÝXÝ    [È ][Ýß  ][ÝÈ  [È^
    ÌÍÔYÚ[ÛÚ^JH   [È ][Ýß  ][ÝÈ  [È ÌÍÔÝ]H  [È ][Ýß  ][ÝÈ  [È ÌÍÔÝXÝ [È ][Ýß  ][ÝÈ  [È ÌÍÕK ÌÍÓÝY]ÊBBBBRY  ÌÍÐÙPYÜÈ  È[BBIÌÍÐÙPYÜÈHM
ÍÍ
È
    ÌÍÐÙPYÜÊH
ÈM
ÍÍBQ[YBBBRY
    ÌÍÐÙPYÜÈ
È  ÌÍÔYÚ[ÛÚ^JH   ÝÏH   ÌÍÑ[Y[[ÜH[BBQ^]ÛÜBQ[YBBBIÌÍÔÙÜÜÈH

    ÌÍÐÙPYÜÈ
È  ÌÍÔYÚ[ÛÚ^JHH  ÌÍÔÝY[[ÜJHÈ
    ÌÍÑ[Y[[ÜHH  ÌÍÔÝY[[ÜJH
LBBBQÕRPÝÙ]]J    ÌÍÔÙÜÜР ÌÍÔÙÜÜÊBBBUÑ[BQÕRPÝÙ]]J  ÌÍÔÙÜÜÐL
BBTÜÚÙ
BB[[Â[ÈØÙÜ×ÔÙ[XÝÜ

BBRYÚ[^ÝÊ    ][ÝÔÙ[XÝØÙÜÈÈÜ[][ÝÊH[BUÚ[XÝ]]J    ][ÝÔÙ[XÝØÙÜÈÈÜ[][ÝÊBBT]Q[YBSØØ[   ÌÍÔÜÈHÚ[Ù]ÜÊ   ][ÝÓÛXY  ÌÎNÜÈ   ÌÎNÕX[Y[[ÜQ^    ÌÎNÈ^[I][ÝÊBBIÌÍÔØÙÜÑÕRHHÕRPÜX]J ][ÝÔÙ[XÝØÙÜÈÈÜ[][ÝËÌNL ÌÍÔÜÖÌH
ÈM
Ë  ÌÍÔÜÖÌWH
È
MK  ÌÍÕÔ×ÐÐTSÓBIÌÍÔØÙÜÕYHHÝZPÝÜX]SÝ
    ][ÝÉ][ÝËÌML
BBSØØ[    ÌÍÚBSØØ[   ÌÍÔØÙÜ×ÓÝHØÙÜÓÝ

BSØØ[ ÌÍÔÝ[ÈH    ÌÍÔØÙÜ×ÓÝÌWVÌBBQÜ   ÌÍÚHHÈ  ÌÍÔØÙÜ×ÓÝÌVÌBBIÌÍÔÝ[È   [ÏH    ÌÎNß ÌÎNÈ [È ÌÍÔØÙÜ×ÓÝÉÌÍÚWVÌBS^BQÝZPÝÙ]]J  ÌÍÔØÙÜÕYK    ÌÍÔÝ[ÊBBQÕRPÝÜX]P]Û    ][ÝÓÜ[ØÙÜÉ][ÝËLML
BQÕRPÝÙ]Û][
LK  ][ÝÓÜ[ÔØÙÜÉ][ÝÊBQÕRPÝÜX]P]Û   ][ÝÐØ[Ù[    ][ÝËLML
BQÕRPÝÙ]Û][
LK  ][ÝÐØ[Ù[ÓÜ[ÔØÙÜÉ][ÝÊBBQÕRTÙ]Ý]J
B[[Â[ÈÜ[ÔØÙÜÈ

BBSØØ[    ÌÍÔÜÈHÚ[Ù]ÜÊ   ][ÝÓÛXY  ÌÎNÜÈ   ÌÎNÕX[Y[[ÜQ^    ÌÎNÈ^[I][ÝÊBSØØ[ ÌÍÔÙ[XÝYÔØÙÜÈHÕRPÝXY
    ÌÍÔØÙÜÕYKJBBQÕRPÝÙ]]J ÌÍÔÙÜÜÐ
BBQÕRPÝÙ]]J  ÌÍÔØÙÜÓX[    ÌÍÔÙ[XÝYÔØÙÜÖÌJBBQÕRQ[]J    ÌÍÔØÙÜÑÕRJBBTÜÚ^Û
    ][ÝÉ][ÝË    ][ÝÑ[][È][ÝÈ][É][ÝËML
L   ÌÍÔÜÖÌJÌN    ÌÍÔÜÖÌWJÌMLJBBWÑÕRPÝÝY]Ñ[]P[][Ê    ÌÍÓÝY]ÊBBTÜÚÙ
BBSØØ[    ÌÍÔYHØÙÜÑ^ÝÊ   ÌÍÔÙ[XÝYÔØÙÜÖÌJBBSØØ[  ÌÍÒ[HHÓY[[ÜSÜ[    ÌÍÔY
BBTØØ[ÓY[[ÜWÔYÙÊ ÌÍÒ[JBBWÓY[[ÜPÛÜÙJ  ÌÍÒ[JBB[[Â[ÈØ[Ù[ÓÜ[ÔØÙÜÈ

BBQÕRQ[]J  ÌÍÔØÙÜÑÕRJBB[[Â[È^]ØÜ

BBQ^]B[[oÝ÷ ØǦ¢¼»v®¶­sb6æ6ÇVFRÖöæ6P¢7&VvöâôÖVÖ÷'£³ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓУ²WFôBfW'6öã 2ãã#r&WF£²ÆæwVvS VævÆ6£²ÆFf÷&Ó ÆÂvæF÷w0£²WF÷# æöÖ@£²&WV&VÖVçG3 FW6RgVæ7Föç2vÆÂöæÇv÷&²vF&WFࣳÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓУ²7&VFG3 t÷WFW"ÒFW6RgVæ7Föç2&R&6VBöâ2÷&væÂôÖVÒgVæ7Föç2â'WBFW&P£°V6W"Fò6ö×&VVæBæBÖ÷&R&VÆ&ÆRâFW6RgVæ7Föç2&RâæòvF&V7B6÷£°öb2gVæ7Föç2â2gVæ7Föç2öæÇ&÷fFVBf÷VæFFöâg&öÒv6FW6RWföÇfVBࣳÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓУ°£²gVæ7Föç3 £°£³ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓУ²gVæ7Föã ôÖVÖ÷'÷Vâb33c¶eõE²Âb33c¶eôFW6&VD66W75²Âb33c¶eôæW&DæFÆUÕÒ£²FW67&Föã ÷Vç2&ö6W72æBVæ&ÆW2ÆÂ÷76&ÆR66W72&vG2FòFR&ö6W72âFP£°&ö6W72BöbFR&ö6W722W6VBFò7V6gv6&ö6W72Fò÷Vââ÷R×W7@£°6ÆÂF2gVæ7Föâ&Vf÷&R6ÆÆærôÖVÖ÷'6Æ÷6RÂôÖVÖ÷'&VBÂ÷"ôÖVÖ÷'w&FRࣲ&ÖWFW"2 b33c¶eõBÒFR&ö6W72BöbFR&öw&Ò÷RvçBFò÷Vâࣰb33c¶eôFW6&VD66W72Ò÷FöæÂ6WBFòcddb'FVfVÇBÂv6Væ&ÆW2ÆÀ£°÷76&ÆR66W72&vG2FòFR&ö6W727V6fVB'FP£°&ö6W72Bࣰb33c¶eôæW&DæFÆRÒ÷FöæÂbF2fÇVR2E%TRÂÆÂ&ö6W76W27&VFVB'£°F2&ö6W72vÆÂæW&BFR66W72æFÆRâ6WBFòE%TP£°'FVfVÇBâ6WBFòb÷RvçBBFò&RdÅ4Rࣲ&WV&VÖVçB2 fÆB&ö6W72Bࣲ&WGW&âfÇVR2¢öâ7V66W72Ò&WGW&ç2â'&6öçFæærFRFÆÂæFÆRæBâ÷VâæFÆRFð£°FR7V6fVB&ö6W72ࣰöâfÇW&RÒ&WGW&ç2£°W'&÷"ÒÒæòW'&÷"ࣰÒçfÆBb33c¶eõBࣰ"ÒfÆVBFò÷Vâ¶W&æVÃ3"æFÆÂࣰ2ÒfÆVBFò÷VâFR7V6fVB&ö6W72ࣲWF÷"2 æöÖ@£²æ÷FR2 £³ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓФgVæ2ôÖVÖ÷'÷Vâb33c¶eõBÂb33c¶eôFW6&VD66W72ÒcddbÂb33c¶eôæW&DæFÆRÒ  bæ÷B&ö6W74W7G2b33c¶eõBFVà 6WDW'&÷"¢&WGW&â VæD`  Æö6Âb33c¶ôæFÆU³%ÒÒ´FÆÄ÷Vâb33¶¶W&æVÃ3"æFÆÂb33²Ð  bW'&÷"FVà¢6WDW'&÷""¢&WGW&â¢VæD`  Æö6Âb33c¶eô÷Vå&ö6W72ÒFÆÄ6ÆÂb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33´÷Vå&ö6W72b33²Âb33¶çBb33²Âb33c¶eôFW6&VD66W72Âb33¶çBb33²Âb33c¶eôæW&DæFÆRÂb33¶çBb33²Âb33c¶eõB  bW'&÷"FVà¢FÆÄ6Æ÷6Rb33c¶ôæFÆU³Ò¢6WDW'&÷"2¢&WGW&â¢VæD`  b33c¶ôæFÆU³ÒÒb33c¶eô÷Vå&ö6W75³Ð  &WGW&âb33c¶ôæFÆP ¤VæDgVæ0 £³ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓУ²gVæ7Föã ôÖVÖ÷'&VBb33c¶eôFG&W72Âb33c¶ôæFÆU²Âb33c·7eõGUÒ£²FW67&Föã &VG2FRfÇVRÆö6FVBâFRÖVÖ÷'FG&W727V6fVBࣲ&ÖWFW"2 b33c¶eôFG&W72ÒFRÖVÖ÷'FG&W72÷RvçBFò&VBg&öÒâB×W7B&RâW£°f÷&ÖBࣰb33c¶ôæFÆRÒâ'&6öçFæærFRFÆÂæFÆRæBFRæFÆRöbFR÷Vࣰ&ö6W722&WGW&æVB'ôÖVÖ÷'÷Vâࣰb33c·7eõGRÒ÷FöæÂFRgV÷CµGRgV÷C²öbfÇVR÷RçFVæBFò&VBâF226WBFð£°b33¶Gv÷&Bb33²3&&BF'FR6væVBçFVvW"'FVfVÇBâ6VRFRVÇfÆP£°f÷"FÆÅ7G'V7D7&VFRf÷"ÆÂGW2ࣰâW×ÆS¢b÷RvçBFò&VBv÷&BFB2R6&7FW'2ࣰÆVæwFÂ÷Rv÷VÆBW6Rb33¶6%³eÒb33²à£²&WV&VÖVçB2 FRb33c¶ôæFÆR&WGW&æVBg&öÒôÖVÖ÷'÷Vâࣲ&WGW&âfÇVR2 öâ7V66W72Ò&WGW&ç2FRfÇVRÆö6FVBBFR7V6fVBFG&W72ࣰöâfÇW&RÒ&WGW&ç2£°W'&÷"ÒÒæòW'&÷"ࣰÒçfÆBb33c¶ôæFÆRࣰ"Òb33c·7eõGRv2æ÷B7G&ærࣰ2Òb33c·7eõGR2âVæ¶æ÷vâFFGRࣰBÒfÆVBFòÆÆö6FRFRÖVÖ÷'æVVFVBf÷"FRFÆÅ7G'V7GW&RࣰRÒW'&÷"ÆÆö6FærÖVÖ÷'f÷"b33c·7eõGRࣰbÒfÆVBFò&VBg&öÒFR7V6fVB&ö6W72ࣲWF÷"2 æöÖ@£²æ÷FR2 fÇVW2&WGW&æVB&RâFV6ÖÂf÷&ÖBÂVæÆW727V6fVB2b33¶6"b33²GRÂFVࣰFW&R&WGW&æVBâ44f÷&ÖBâÇ6òæ÷FRFB6¦Rb33¶6%·6¦UÒb33²f÷"ÆÀ£°b33¶6"b33²GW26÷VÆB&Rw&VFW"FâFR7GVÂ6¦RࣳÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓФgVæ2ôÖVÖ÷'&VBb33c¶eôFG&W72Âb33c¶ôæFÆRÂb33c·7eõGRÒb33¶Gv÷&Bb33²  bæ÷B4'&b33c¶ôæFÆRFVà 6WDW'&÷"¢&WGW&â VæD`  Æö6Âb33c·eô'VffW"ÒFÆÅ7G'V7D7&VFRb33c·7eõGR  bW'&÷"FVà 6WDW'&÷"W'&÷"² &WGW&â VæD`  FÆÄ6ÆÂb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33µ&VE&ö6W74ÖVÖ÷'b33²Âb33¶çBb33²Âb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33c¶eôFG&W72Âb33·G"b33²ÂFÆÅ7G'V7DvWEG"b33c·eô'VffW"Âb33¶çBb33²ÂFÆÅ7G'V7DvWE6¦Rb33c·eô'VffW"Âb33¶çBb33²Âb33²b33²  bæ÷BW'&÷"FVà Æö6Âb33c·eõfÇVRÒFÆÅ7G'V7DvWDFFb33c·eô'VffW" &WGW&âb33c·eõfÇVP VÇ6P 6WDW'&÷"b¢&WGW&â VæD` ¤VæDgVæ0 £³ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓУ²gVæ7Föã ôÖVÖ÷'w&FRb33c¶eôFG&W72Âb33c¶ôæFÆRÂb33c·eôFF²Âb33c·7eõGUÒ£²FW67&Föã w&FW2FFFòFR7V6fVBÖVÖ÷'FG&W72ࣲ&ÖWFW"2 b33c¶eôFG&W72ÒFRÖVÖ÷'FG&W72÷RvçBFòw&FRFòâB×W7B&RâW£°f÷&ÖBࣰb33c¶ôæFÆRÒâ'&6öçFæærFRFÆÂæFÆRæBFRæFÆRöbFR÷Vࣰ&ö6W722&WGW&æVB'ôÖVÖ÷'÷Vâࣰb33c·eôFFÒFRFFFò&Rw&GFVâࣰb33c·7eõGRÒ÷FöæÂFRgV÷CµGRgV÷C²öbfÇVR÷RçFVæBFòw&FRâF226WBFð£°b33¶Gv÷&Bb33²3&&BF'FR6væVBçFVvW"'FVfVÇBâ6VRFRVÇfÆP£°f÷"FÆÅ7G'V7D7&VFRf÷"ÆÂGW2ࣰâW×ÆS¢b÷RvçBFòw&FRv÷&BFB2R6&7FW'2ࣰÆVæwFÂ÷Rv÷VÆBW6Rb33¶6%³eÒb33²à£²&WV&VÖVçB2 FRb33c¶ôæFÆR&WGW&æVBg&öÒôÖVÖ÷'÷Vâࣲ&WGW&âfÇVR2 öâ7V66W72Ò&WGW&ç2£°öâfÇW&RÒ&WGW&ç2£°W'&÷"ÒÒæòW'&÷"ࣰÒçfÆBb33c¶ôæFÆRࣰ"Òb33c·7eõGRv2æ÷B7G&ærࣰ2Òb33c·7eõGR2âVæ¶æ÷vâFFGRࣰBÒfÆVBFòÆÆö6FRFRÖVÖ÷'æVVFVBf÷"FRFÆÅ7G'V7GW&RࣰRÒW'&÷"ÆÆö6FærÖVÖ÷'f÷"b33c·7eõGRࣰbÒb33c·eôFF2æ÷BâFR&÷W"f÷&ÖBFò&RW6VBvFFRgV÷CµGRgV÷C°£°6VÆV7FVBf÷"b33c·7eõGRÂ÷"B2÷WBöb&ævRࣰrÒfÆVBFòw&FRFòFR7V6fVB&ö6W72ࣲWF÷"2 æöÖ@£²æ÷FR2 fÇVW26VçB×W7B&RâFV6ÖÂf÷&ÖBÂVæÆW727V6fVB2b33¶6"b33²GRÂFVࣰFW×W7B&Râ44f÷&ÖBâÇ6òæ÷FRFB6¦Rb33¶6%·6¦UÒb33²f÷"ÆÀ£°b33¶6"b33²GW26÷VÆB&Rw&VFW"FâFR7GVÂ6¦RࣳÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓФgVæ2ôÖVÖ÷'w&FRb33c¶eôFG&W72Âb33c¶ôæFÆRÂb33c·eôFFÂb33c·7eõGRÒb33¶Gv÷&Bb33²  bæ÷B4'&b33c¶ôæFÆRFVà 6WDW'&÷"¢&WGW&â VæD`  Æö6Âb33c·eô'VffW"ÒFÆÅ7G'V7D7&VFRb33c·7eõGR  bW'&÷"FVà 6WDW'&÷"W'&÷"² &WGW&â VÇ6P FÆÅ7G'V7E6WDFFb33c·eô'VffW"ÂÂb33c·eôFF bW'&÷"FVà 6WDW'&÷"b &WGW&â VæD` VæD`  FÆÄ6ÆÂb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33µw&FU&ö6W74ÖVÖ÷'b33²Âb33¶çBb33²Âb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33c¶eôFG&W72Âb33·G"b33²ÂFÆÅ7G'V7DvWEG"b33c·eô'VffW"Âb33¶çBb33²ÂFÆÅ7G'V7DvWE6¦Rb33c·eô'VffW"Âb33¶çBb33²Âb33²b33²  bæ÷BW'&÷"FVà &WGW&â VÇ6P 6WDW'&÷"r¢&WGW&â VæD` ¤VæDgVæ0 £³ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓУ²gVæ7Föã ôÖVÖ÷'6Æ÷6Rb33c¶ôæFÆR£²FW67&Föã 6Æ÷6W2FR&ö6W72æFÆR÷VæVB'W6ærôÖVÖ÷'÷Vâࣲ&ÖWFW"2 b33c¶ôæFÆRÒâ'&6öçFæærFRFÆÂæFÆRæBFRæFÆRöbFR÷Vࣰ&ö6W722&WGW&æVB'ôÖVÖ÷'÷Vâࣲ&WV&VÖVçB2 FRb33c¶ôæFÆR&WGW&æVBg&öÒôÖVÖ÷'÷Vâࣲ&WGW&âfÇVR2 öâ7V66W72Ò&WGW&ç2£°öâfÇW&&WGW&ç2£°W'&÷"ÒÒæòW'&÷"ࣰÒçfÆBb33c¶ôæFÆRࣰ"ÒVæ&ÆRFò6Æ÷6RFR&ö6W72æFÆRࣲWF÷"2 æöÖ@£²æ÷FR2 £³ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓФgVæ2ôÖVÖ÷'6Æ÷6Rb33c¶ôæFÆR  bæ÷B4'&b33c¶ôæFÆRFVà 6WDW'&÷"¢&WGW&â VæD`  FÆÄ6ÆÂb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33´6Æ÷6TæFÆRb33²Âb33¶çBb33²Âb33c¶ôæFÆU³Ò bæ÷BW'&÷"FVà FÆÄ6Æ÷6Rb33c¶ôæFÆU³Ò &WGW&â VÇ6P FÆÄ6Æ÷6Rb33c¶ôæFÆU³Ò 6WDW'&÷""¢&WGW&â VæD` ¤VæDgVæ0 £³ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓУ²gVæ7Föã ôÖVÖ÷'öçFW%&VBb33c¶eôFG&W72Âb33c¶ôæFÆRÂb33c¶eôöfg6WE²Âb33c·7eõGUÒ£²FW67&Föã &VG26âöböçFW'2æB&WGW&ç2â'&6öçFæærFRFW7FæFöࣰFG&W72æBFRFFBFRFG&W72ࣲ&ÖWFW"2 b33c¶eôFG&W72ÒFR7FF2ÖVÖ÷'FG&W72÷RvçBFò7F'BBâB×W7B&RࣰWf÷&ÖBࣰb33c¶ôæFÆRÒâ'&6öçFæærFRFÆÂæFÆRæBFRæFÆRöbFR÷Vࣰ&ö6W722&WGW&æVB'ôÖVÖ÷'÷Vâࣰb33c¶eôöfg6WBÒâ'&öböfg6WG2f÷"FRöçFW'2âV6öçFW"×W7BfRࣰöfg6WBâbFW&R2æòöfg6WBf÷"öçFW"ÂVçFW""F@£°'&FÖVç6öâࣰb33c·7eõGRÒ÷FöæÂFRgV÷CµGRgV÷C²öbFF÷RçFVæBFò&VBBFRFW7FæFöࣰFG&W72âF226WBFòb33¶Gv÷&Bb33²3&&BF'FR6væVBçFVvW"'£°FVfVÇBâ6VRFRVÇfÆRf÷"FÆÅ7G'V7D7&VFRf÷"ÆÂGW2ࣲ&WV&VÖVçB2 FRb33c¶ôæFÆR&WGW&æVBg&öÒôÖVÖ÷'÷Vâࣲ&WGW&âfÇVR2 öâ7V66W72Ò&WGW&ç2â'&6öçFæærFRFW7FæFöâFG&W72æBFRfÇVP£°Æö6FVBBFRFG&W72ࣰöâfÇW&RÒ&WGW&ç2£°W'&÷"ÒÒæòW'&÷"ࣰÒb33c¶eôöfg6WB2æ÷Bâ'&ࣰ"ÒçfÆBb33c¶ôæFÆRࣰ2Òb33c·7eõGR2æ÷B7G&ærࣰBÒb33c·7eõGR2âVæ¶æ÷vâFFGRࣰRÒfÆVBFòÆÆö6FRFRÖVÖ÷'æVVFVBf÷"FRFÆÅ7G'V7GW&RࣰbÒW'&÷"ÆÆö6FærÖVÖ÷'f÷"b33c·7eõGRࣰrÒfÆVBFò&VBg&öÒFR7V6fVB&ö6W72ࣲWF÷"2 æöÖ@£²æ÷FR2 fÇVW2&WGW&æVB&RâFV6ÖÂf÷&ÖBÂVæÆW72b33¶6"b33²GR26VÆV7FVBࣰ6WBb33c¶eôöfg6WBƶRF3 £°b33c¶eôöfg6WE³ÒÒåTÄÂæ÷BW6VB£°b33c¶eôöfg6WE³ÒÒöfg6WBf÷"öçFW"ÆÂöfg6WG2×W7B&RâFV6Ö£°b33c¶eôöfg6WE³%ÒÒöfg6WBf÷"öçFW" £°WF2ââࣰFRçVÖ&W"öb'&FÖVç6öç2FWFW&ÖæW2FRçVÖ&W"öböçFW'2£³ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓФgVæ2ôÖVÖ÷'öçFW%&VBb33c¶eôFG&W72Âb33c¶ôæFÆRÂb33c¶eôöfg6WBÂb33c·7eõGRÒb33¶Gv÷&Bb33²  b4'&b33c¶eôöfg6WBFVà b4'&b33c¶ôæFÆRFVà Æö6Âb33c¶eõöçFW$6÷VçBÒT&÷VæBb33c¶eôöfg6WBÒ VÇ6P 6WDW'&÷"" &WGW&â VæD` VÇ6P 6WDW'&÷" &WGW&â VæD`  Æö6Âb33c¶eôFF³%ÒÂb33c¶ Æö6Âb33c·eô'VffW"ÒFÆÅ7G'V7D7&VFRb33¶Gv÷&Bb33²  f÷"b33c¶ÒFòb33c¶eõöçFW$6÷Vç@  bb33c¶Òb33c¶eõöçFW$6÷VçBFVà b33c·eô'VffW"ÒFÆÅ7G'V7D7&VFRb33c·7eõGR bW'&÷"FVà 6WDW'&÷"W'&÷"²" &WGW&â VæD`  b33c¶eôFG&W72Òb33³b33²fײWb33c¶eôFF³Ò²b33c¶eôöfg6WE²b33c¶Ò FÆÄ6ÆÂb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33µ&VE&ö6W74ÖVÖ÷'b33²Âb33¶çBb33²Âb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33c¶eôFG&W72Âb33·G"b33²ÂFÆÅ7G'V7DvWEG"b33c·eô'VffW"Âb33¶çBb33²ÂFÆÅ7G'V7DvWE6¦Rb33c·eô'VffW"Âb33¶çBb33²Âb33²b33² bW'&÷"FVà 6WDW'&÷"r &WGW&â VæD`  b33c¶eôFF³ÒÒFÆÅ7G'V7DvWDFFb33c·eô'VffW"  VÇ6Tbb33c¶ÒFVà FÆÄ6ÆÂb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33µ&VE&ö6W74ÖVÖ÷'b33²Âb33¶çBb33²Âb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33c¶eôFG&W72Âb33·G"b33²ÂFÆÅ7G'V7DvWEG"b33c·eô'VffW"Âb33¶çBb33²ÂFÆÅ7G'V7DvWE6¦Rb33c·eô'VffW"Âb33¶çBb33²Âb33²b33² bW'&÷"FVà 6WDW'&÷"r &WGW&â VæD`  b33c¶eôFF³ÒÒFÆÅ7G'V7DvWDFFb33c·eô'VffW"  VÇ6P b33c¶eôFG&W72Òb33³b33²fײWb33c¶eôFF³Ò²b33c¶eôöfg6WE²b33c¶Ò FÆÄ6ÆÂb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33µ&VE&ö6W74ÖVÖ÷'b33²Âb33¶çBb33²Âb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33c¶eôFG&W72Âb33·G"b33²ÂFÆÅ7G'V7DvWEG"b33c·eô'VffW"Âb33¶çBb33²ÂFÆÅ7G'V7DvWE6¦Rb33c·eô'VffW"Âb33¶çBb33²Âb33²b33² bW'&÷"FVà 6WDW'&÷"r &WGW&â VæD`  b33c¶eôFF³ÒÒFÆÅ7G'V7DvWDFFb33c·eô'VffW"  VæD`  æW@  b33c¶eôFF³ÒÒb33c¶eôFG&W70  &WGW&âb33c¶eôFF ¤VæDgVæ0 £³ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓУ²gVæ7Föã ôÖVÖ÷'öçFW%w&FRb33c¶eôFG&W72Âb33c¶ôæFÆRÂb33c¶eôöfg6WBÂb33c·eôFF²Âb33c·7eõGUÒ£²FW67&Föã &VG26âöböçFW'2æBw&FW2FRFFFòFRFW7FæFöâFG&W72ࣲ&ÖWFW"2 b33c¶eôFG&W72ÒFR7FF2ÖVÖ÷'FG&W72÷RvçBFò7F'BBâB×W7B&RࣰWf÷&ÖBࣰb33c¶ôæFÆRÒâ'&6öçFæærFRFÆÂæFÆRæBFRæFÆRöbFR÷Vࣰ&ö6W722&WGW&æVB'ôÖVÖ÷'÷Vâࣰb33c¶eôöfg6WBÒâ'&öböfg6WG2f÷"FRöçFW'2âV6öçFW"×W7BfRࣰöfg6WBâbFW&R2æòöfg6WBf÷"öçFW"ÂVçFW"f÷"F@£°'&FÖVç6öâࣰb33c·eôFFÒFRFFFò&Rw&GFVâࣰb33c·7eõGRÒ÷FöæÂFRgV÷CµGRgV÷C²öbFF÷RçFVæBFòw&FRBFRFW7FæFöࣰFG&W72âF226WBFòb33¶Gv÷&Bb33²3&&BF'FR6væVBçFVvW"'£°FVfVÇBâ6VRFRVÇfÆRf÷"FÆÅ7G'V7D7&VFRf÷"ÆÂGW2ࣲ&WV&VÖVçB2 FRb33c¶ôæFÆR&WGW&æVBg&öÒôÖVÖ÷'÷Vâࣲ&WGW&âfÇVR2 öâ7V66W72Ò&WGW&ç2FRFW7FæFöâFG&W72ࣰöâfÇW&RÒ&WGW&ç2ࣰW'&÷"ÒÒæòW'&÷"ࣰÒb33c¶eôöfg6WB2æ÷Bâ'&ࣰ"ÒçfÆBb33c¶ôæFÆRࣰ2ÒfÆVBFò&VBg&öÒFR7V6fVB&ö6W72ࣰBÒb33c·7eõGR2æ÷B7G&ærࣰRÒb33c·7eõGR2âVæ¶æ÷vâFFGRࣰbÒfÆVBFòÆÆö6FRFRÖVÖ÷'æVVFVBf÷"FRFÆÅ7G'V7GW&RࣰrÒW'&÷"ÆÆö6FærÖVÖ÷'f÷"b33c·7eõGRࣰÒb33c·eôFF2æ÷BâFR&÷W"f÷&ÖBFò&RW6VBvFFP£°gV÷CµGRgV÷C²6VÆV7FVBf÷"b33c·7eõGRÂ÷"B2÷WBöb&ævRࣰÒfÆVBFòw&FRFòFR7V6fVB&ö6W72ࣲWF÷"2 æöÖ@£²æ÷FR2 FFw&GFVâ2âFV6ÖÂf÷&ÖBÂVæÆW72b33¶6"b33²GR26VÆV7FVBࣰ6WBb33c¶eôöfg6WBƶRF3 £°b33c¶eôöfg6WE³ÒÒåTÄÂæ÷BW6VBÂFöW6âb33·BÖGFW"vBb33·2VçFW&VB£°b33c¶eôöfg6WE³ÒÒöfg6WBf÷"öçFW"ÆÂöfg6WG2×W7B&RâFV6Ö£°b33c¶eôöfg6WE³%ÒÒöfg6WBf÷"öçFW" £°WF2ââࣰFRçVÖ&W"öb'&FÖVç6öç2FWFW&ÖæW2FRçVÖ&W"öböçFW'2£³ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓФgVæ2ôÖVÖ÷'öçFW%w&FRb33c¶eôFG&W72Âb33c¶ôæFÆRÂb33c¶eôöfg6WBÂb33c·eôFFÂb33c·7eõGRÒb33¶Gv÷&Bb33²  b4'&b33c¶eôöfg6WBFVà b4'&b33c¶ôæFÆRFVà Æö6Âb33c¶eõöçFW$6÷VçBÒT&÷VæBb33c¶eôöfg6WBÒ VÇ6P 6WDW'&÷"" &WGW&â VæD` VÇ6P 6WDW'&÷" &WGW&â VæD`  Æö6Âb33c¶eõ7G'V7DFFÂb33c¶ Æö6Âb33c·eô'VffW"ÒFÆÅ7G'V7D7&VFRb33¶Gv÷&Bb33²  f÷"b33c¶ÒFòb33c¶eõöçFW$6÷Vç@ bb33c¶Òb33c¶eõöçFW$6÷VçBFVà b33c·eô'VffW"ÒFÆÅ7G'V7D7&VFRb33c·7eõGR bW'&÷"FVà 6WDW'&÷"W'&÷"²2 &WGW&â VæD`  FÆÅ7G'V7E6WDFFb33c·eô'VffW"ÂÂb33c·eôFF bW'&÷"FVà 6WDW'&÷" &WGW&â VæD`  b33c¶eôFG&W72Òb33³b33²fײWb33c¶eõ7G'V7DFF²b33c¶eôöfg6WE²b33c¶Ò FÆÄ6ÆÂb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33µw&FU&ö6W74ÖVÖ÷'b33²Âb33¶çBb33²Âb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33c¶eôFG&W72Âb33·G"b33²ÂFÆÅ7G'V7DvWEG"b33c·eô'VffW"Âb33¶çBb33²ÂFÆÅ7G'V7DvWE6¦Rb33c·eô'VffW"Âb33¶çBb33²Âb33²b33² bW'&÷"FVà 6WDW'&÷" &WGW&â VÇ6P &WGW&âb33c¶eôFG&W70 VæD` VÇ6Tbb33c¶ÒFVà FÆÄ6ÆÂb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33µ&VE&ö6W74ÖVÖ÷'b33²Âb33¶çBb33²Âb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33c¶eôFG&W72Âb33·G"b33²ÂFÆÅ7G'V7DvWEG"b33c·eô'VffW"Âb33¶çBb33²ÂFÆÅ7G'V7DvWE6¦Rb33c·eô'VffW"Âb33¶çBb33²Âb33²b33² bW'&÷"FVà 6WDW'&÷"2 &WGW&â VæD`  b33c¶eõ7G'V7DFFÒFÆÅ7G'V7DvWDFFb33c·eô'VffW"  VÇ6P b33c¶eôFG&W72Òb33³b33²fײWb33c¶eõ7G'V7DFF²b33c¶eôöfg6WE²b33c¶Ò FÆÄ6ÆÂb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33µ&VE&ö6W74ÖVÖ÷'b33²Âb33¶çBb33²Âb33c¶ôæFÆU³ÒÂb33¶çBb33²Âb33c¶eôFG&W72Âb33·G"b33²ÂFÆÅ7G'V7DvWEG"b33c·eô'VffW"Âb33¶çBb33²ÂFÆÅ7G'V7DvWE6¦Rb33c·eô'VffW"Âb33¶çBb33²Âb33²b33² bW'&÷"FVà 6WDW'&÷"2 &WGW&â VæD`  b33c¶eõ7G'V7DFFÒFÆÅ7G'V7DvWDFFb33c·eô'VffW"  VæD` æW@ ¤VæDgVæ0¢6VæG&Vvöà

virtmem.zip

Don't bother, It's inside your monitor!------GUISetOnEvent should behave more like HotKeySet()
Link to comment
Share on other sites

I guess I was lucky enough to grab this one.

Here is corrected Open_Process function:

Func Open_Process ()
        Local $Pos = WinGetPos("Nomad's 'VirtualMemoryEx' Example")
    Local $Selected_Process = GUICtrlRead($ProcessTree, 0)
        GUICtrlSetData($ProgressBar, 0)
        GUICtrlSetData($ProcessLabel, $Selected_Process)
        GUIDelete($ProcessGUI)
        SplashTextOn ("", "Deleting Previous Items", 150, 50, $Pos[0]+180, $Pos[1]+150, 1)
        _GUICtrlListView_DeleteAllItems($Listview)
        SplashOff()
        Local $Pid = ProcessExists($Selected_Process)
        Local $Handle = _MemoryOpen($Pid)
        Scan_Memory_Pages($Handle)
        _MemoryClose($Handle)
    EndFunc
Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...