Hi Michael,
  Hi Juerg,
   Are you taking into account the memory gaps that normally occur just
 below the 4gb mark? Usually these need to be padded by zero in a raw
 image but in many image file formats (which support sparse memory
 ranges) they are not. So you usually need to identify the memory
 ranges in the image format, and then pad the gaps with zeros to
 maintain the raw offsets. 
I'm not handling the memory gap below the 4GB in any special way.
Without going into much details, the KVM snapshot file contains
sections with page addresses and page data (or a single fill byte for
empty/unused pages). I'm using the page addresses to seek in the
output file and dump either the page data or a page full of fill
bytes. The fact that the resulting raw file has the correct size is an
indication that this is working correctly, or am I missing something?
I also checked the page addresses (aka seek offsets) to make sure I'm
not writing the same location multiple times.
...Juerg
  Michael.
 On 7 August 2013 16:20, Juerg Haefliger <juergh(a)gmail.com> wrote:
> Hi all,
>
> I wrote a little tool to convert a KVM/libvirt dump to a raw memory
> file (
https://github.com/juergh/lqs2mem) Volatility seems to be able
> to handle the resulting file just fine for small dumps but not so much
> the larger they get. Specifically, things start to break when the
> memory size of the VM approaches 4 GB. I double and triple checked my
> code and can't find anything obviously wrong (like using a 32bit
> variable for a 64bit address or pointer). I also don't think that
> Volatility has a problem with larger dumps since it can handle a 8 GB
> memory dump that I obtained using some other means. I'm just running
> out of ideas and am looking for some help or suggestions on how to
> debug this further.
>
> In my testing with Win 2008 R2 SP1 x64 I found that (see full outputs below):
>
> 1) imageinfo and pslist return the correct output for VMs with less than 3588 MB
> 2) pslist only returns a single task (System) for VMs larger than 3587 MB
> 3) imageinfo shows only 1 processor (when there are actually two) for
> VMs larger than 3712 MB (give or take)
>
> Any help is greatly appreciated.
>
> Thanks
> ...Juerg
>
>
>
>
> VM memory size: 3584 MB:
>
> Determining profile based on KDBG search...
>
>           Suggested Profile(s) : Win2008R2SP0x64, Win7SP1x64,
> Win7SP0x64, Win2008R2SP1x64
>                      AS Layer1 : AMD64PagedMemory (Kernel AS)
>                      AS Layer2 : FileAddressSpace
> (/var/lib/libvirt/qemu/save/win-3584.ram)
>                       PAE type : PAE
>                            DTB : 0x187000L
>                           KDBG : 0xf800017fb0a0
>           Number of Processors : 2
>      Image Type (Service Pack) : 1
>                 KPCR for CPU 0 : 0xfffff800017fcd00L
>                 KPCR for CPU 1 : 0xfffff880009b8000L
>              KUSER_SHARED_DATA : 0xfffff78000000000L
>            Image date and time : 2013-07-16 12:24:50 UTC+0000
>      Image local date and time : 2013-07-16 12:24:50 +0000
>
> Offset(V)          Name                    PID   PPID   Thds     Hnds
>  Sess  Wow64 Start                          Exit
> ------------------ -------------------- ------ ------ ------ --------
> ------ ------ ------------------------------
> ------------------------------
> 0xfffffa8002a7cb30 System                    4      0     70      396
> ------      0 2013-07-16 12:24:33 UTC+0000
> 0xfffffa80030f09d0 smss.exe                220      4      4       31
> ------      0 2013-07-16 12:24:33 UTC+0000
> 0xfffffa80034574d0 csrss.exe               300    292      9      339
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa8003465b30 wininit.exe             352    292      7       93
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa8003469b30 csrss.exe               368    344      8       76
>     1      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa800349c280 winlogon.exe            412    344      5       83
>     1      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa80034a7160 services.exe            448    352     17      215
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa80034b4b30 lsass.exe               464    352      9      458
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa80034b64f0 lsm.exe                 472    352     12      194
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa800350cb30 svchost.exe             584    448     17      355
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa8003522060 svchost.exe             664    448     13      221
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa8003547060 svchost.exe             724    448     16      312
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa8003552b30 LogonUI.exe             744    412      8      157
>     1      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa8003572b30 svchost.exe             812    448     43      782
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa8003594b30 svchost.exe             856    448     14      234
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa800359b9b0 svchost.exe             900    448      8      128
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa80035b3060 svchost.exe             940    448     19      361
>     0      0 2013-07-16 12:24:34 UTC+0000
> 0xfffffa80035fcb30 svchost.exe             372    448     16      259
>     0      0 2013-07-16 12:24:35 UTC+0000
> 0xfffffa80035f6b30 spoolsv.exe            1048    448      8       89
>     0      0 2013-07-16 12:24:35 UTC+0000
> 0xfffffa8003679650 blnsvr.exe             1076    448      7      100
>     0      0 2013-07-16 12:24:35 UTC+0000
> 0xfffffa80035e5450 svchost.exe            1116    448      4       50
>     0      0 2013-07-16 12:24:35 UTC+0000
> 0xfffffa8003732b30 WmiPrvSE.exe           1364    584     15      294
>     0      0 2013-07-16 12:24:35 UTC+0000
> 0xfffffa8003767250 svchost.exe            1484    448     12      241
>     0      0 2013-07-16 12:24:35 UTC+0000
> 0xfffffa80037df620 WmiApSrv.exe           1684    448      7      112
>     0      0 2013-07-16 12:24:36 UTC+0000
> 0xfffffa80037a56c0 WmiPrvSE.exe           1716    584      7      105
>     0      0 2013-07-16 12:24:36 UTC+0000
> 0xfffffa8003763270 WmiPrvSE.exe           1764    584      7      175
>     0      0 2013-07-16 12:24:38 UTC+0000
>
>
> VM memory size: 3588 MB
>
> Determining profile based on KDBG search...
>
>           Suggested Profile(s) : Win2008R2SP0x64, Win7SP1x64,
> Win7SP0x64, Win2008R2SP1x64
>                      AS Layer1 : AMD64PagedMemory (Kernel AS)
>                      AS Layer2 : FileAddressSpace
> (/var/lib/libvirt/qemu/save/win-3588.ram)
>                       PAE type : PAE
>                            DTB : 0x187000L
>                           KDBG : 0xf8000180e0a0
>           Number of Processors : 2
>      Image Type (Service Pack) : 1
>                 KPCR for CPU 0 : 0xfffff8000180fd00L
>                 KPCR for CPU 1 : 0xfffff880009b8000L
>              KUSER_SHARED_DATA : 0xfffff78000000000L
>            Image date and time : 2013-07-16 12:50:59 UTC+0000
>      Image local date and time : 2013-07-16 12:50:59 +0000
>
> Offset(V)          Name                    PID   PPID   Thds     Hnds
>  Sess  Wow64 Start                          Exit
> ------------------ -------------------- ------ ------ ------ --------
> ------ ------ ------------------------------
> ------------------------------
> 0xfffffa800308d9e0 System                    4      0     68      275
> ------      0 2013-07-16 12:50:55 UTC+0000
>
>
> VM memory size: 3840 MB
>
> Determining profile based on KDBG search...
>
>           Suggested Profile(s) : Win2008R2SP0x64, Win7SP1x64,
> Win7SP0x64, Win2008R2SP1x64
>                      AS Layer1 : AMD64PagedMemory (Kernel AS)
>                      AS Layer2 : FileAddressSpace
> (/var/lib/libvirt/qemu/save/win-3840.ram)
>                       PAE type : PAE
>                            DTB : 0x187000L
>                           KDBG : 0xf800018400a0
>           Number of Processors : 1
>      Image Type (Service Pack) : 1
>                 KPCR for CPU 0 : 0xfffff80001841d00L
>              KUSER_SHARED_DATA : 0xfffff78000000000L
>            Image date and time : 2013-07-16 12:28:55 UTC+0000
>      Image local date and time : 2013-07-16 12:28:55 +0000
>
> Offset(V)          Name                    PID   PPID   Thds     Hnds
>  Sess  Wow64 Start                          Exit
> ------------------ -------------------- ------ ------ ------ --------
> ------ ------ ------------------------------
> ------------------------------
> 0xfffffa80033849e0 System                    4      0     72 --------
> ------      0 2013-07-16 12:28:47 UTC+0000
> _______________________________________________
> Vol-users mailing list
> Vol-users(a)volatilityfoundation.org
> 
http://lists.volatilityfoundation.org/mailman/listinfo/vol-users