亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? parsecrash.pl

?? wince 內(nèi)核dump程序
?? PL
?? 第 1 頁 / 共 5 頁
字號:
#!perl -w# (C) 2003-2007 Willem Jan Hengeveld <itsme@xs4all.nl># Web: http://www.xs4all.nl/~itsme/#      http://wiki.xda-developers.com/## $Id: parsecrash.pl 1762 2008-04-10 11:57:55Z itsme $#use strict;use IO::File;use Carp qw(croak verbose);use Getopt::Long qw(:config no_ignore_case);use Dumpvalue;my $d= new Dumpvalue;$|=1;# find the tlb by looking for 'vfffd0000' in the output of 'pmemmap -v'# magician:#  load 0xa0000000 allram.nb#  tlb 0xa0660000## typhoon:# load 0x20001000 4640.mem# load 0x10000000 8300.mem# load 0x10200000 8c00.mem# load 0x20000000 8e00.mem# load 0x11d00000 8f10.mem# tlb 0x10200000 # #  himalaya:#  0xfffd0000 -> 0x901c0000  TLB#  0xffff0000 -> 0x901c4000  vectors#  0xffffc000 -> 0x901c5000  Kdata##  z:/sources/wince500/PUBLIC/COMMON/SDK/INC/winnt.h#     IMAGE_DOS_HEADER#  z:/sources/wince500/PUBLIC/COMMON/SDK/INC/kfuncs.h#     SH_*  #  z:/sources/wince500/PUBLIC/COMMON/OAK/INC/romldr.h#     ROMHDR, TOCentry, FILESentry#  z:/sources/wince500/PRIVATE/WINCEOS/COREOS/NK/INC/kernel.h#     cinfo APISet MemBlock CALLSTACK openexe_t#     Thread PGPOOL_Q Process Module FSMAP HDATA ##  z:/sources/wince500/PRIVATE/WINCEOS/COREOS/NK/INC/nkarm.h#     KDataStruct _CPUCONTEXT##  z:/sources/wince500/PRIVATE/WINCEOS/COREOS/NK/INC/schedule.h#     PROXY EVENT CRIT MUTEX SEMAPHORE CLEANEVENT##  z:/sources/wince500/PUBLIC/COMMON/OAK/INC/pehdr.h#     e32_lite o32_lite info e32_exe## z:/sources/wince500/PUBLIC/COMMON/SDK/INC/winbase.h#     CRITICAL_SECTION## z:/sources/wince500/PUBLIC/COMMON/OAK/INC/pkfuncs.h#     KINX_* constants## z:/sources/wince500/PUBLIC/COMMON/SDK/INC/winioctl.h#     FILE_DEVICE_* constants#my %syms;my %structs= (    char=> {size=>1, format=>'%s'},    wchar=>{size=>2, format=>'%s'},    BYTE=> {size=>1, format=>'%02x'},    WORD=> {size=>2, format=>'%04x'},    DWORD=>{size=>4, format=>'%08lx'},);readsymbols();#$d->dumpValue(\%structs);sub readsymbols {    my $curtype= "";    my $curstruct= "";    while (<DATA>) {        if (/^!struct\s(\w+)/) {            $curstruct= $1;            $curtype= undef;            $structs{$curstruct}= {size=>0, items=>{}};        }        elsif (/^!(\w+)/) {            $curtype= $1;            $curstruct= undef;        }        elsif ($curtype && /^(\w+)\s+(\w+)/) {            $syms{$curtype}{$2}= eval($1);        }        elsif ($curstruct && /^(\w+)\s+(\*)?(\w+)(?:@(\d+))?\s+(\w+)/) {            my ($ofs, $ptrflag, $type, $count, $itemname)= (eval($1), $2, $3, $4 || 1, $5);            my $ptype;            if ($ptrflag) {                $ptype= $type;                $type= "DWORD";            }            $structs{$curstruct}{items}{$itemname}= {                ofs=>$ofs,                type=>$type,                count=>$count,                name=>$itemname,                $ptrflag?(ptype=>$ptype):(),            };            if (!exists $structs{$type}) {                croak "unknown type $type  in struct $curstruct\n";            }            if ($structs{$curstruct}{size} != $ofs) {                warn sprintf("offset-size mismatch: o=%08lx s=%08lx  %s.%s\n",                     $ofs, $structs{$curstruct}{size}, $curstruct, $itemname);            }            $structs{$curstruct}{size} += $count * $structs{$type}{size};        }    }}my %handletypes= (    FFSD=> { simpledump=>\&handleFFSD, structtype=>'FFSDinfo' },    HFSD=> { simpledump=>\&handleHFSD, structtype=>'FFSDinfo' },    W32D=> { simpledump=>\&handleW32D, structtype=>'fsopendev_t' },    W32H=> { simpledump=>\&handleW32H, structtype=>'W32Hinfo' },    PFSD=> { simpledump=>\&handlePFSD, structtype=>'FFSDinfo' },    BDEV=> { simpledump=>\&handleBDEV, structtype=>'BDEVinfo' },    STRG=> { simpledump=>\&handleSTRG, structtype=>'STRGinfo' },    FMAP=> { simpledump=>\&handleFMAP, structtype=>'FSMAP' },    PROC=> {    structtype=>'PROCESS' },    THRD=> {    structtype=>'THREAD' },    APIS=> {    structtype=>'APISET' },    EVNT=> {    structtype=>'EVENT' },    MUTX=> {    structtype=>'MUTEX' },    SEMP=> {    structtype=>'SEMAPHORE' },    DBOA=> {    structtype=>'DBInfo' },    Sock=> {    structtype=>'SocketInfo' },);my $img= PhysicalMemory->new();my %dumptypes;my %dumpedstructs;my %dumpoffsets;my $doListProcesses= 0;my $doListKdata= 0;my $doDumpMemory= 0;my $doSaveSection= 0;my $doSectionOverview= 0;my $doListHandles= 0;my $doListModules= 0;my $g_verbose= 0;sub usage {    return <<__EOF__Usage: parsecrash [-d VOFS] [-p] [-k] [-s VADDR LEN file] cfgfile   -p  : list processes   -k  : list kdata   -d  : dump memory   -s  : save section   -S  : save all sections   -h  : list handles   -o  : section overview   -v  : verbose__EOF__}GetOptions(    "p"=>\$doListProcesses,    "k"=>\$doListKdata,    "d"=>\$doDumpMemory,    "m"=>\$doListModules,    "s"=>\$doSaveSection,    "S"=> sub { $doSaveSection= 2; },    "h"=>\$doListHandles,    "o"=>\$doSectionOverview,    "v"=>\$g_verbose,) or croak usage();my $cfgname= shift || croak usage();my $cfg= LoadConfig($cfgname);sub LoadConfig {    my ($fn)= @_;    my $fh= IO::File->new($fn, "r") or croak "LoadConfig $fn: $!\n";    my %cfg;    while (<$fh>)    {        s/\s+$//;        next if (/^$/);        next if (/^\s*[#;]/);        if (/load\s+(\w+)\s+(.*)/i) {            push @{$cfg{images}}, { poffset=>eval($1), filename=>$2 };        }        elsif (/tlb\s+(\w+)/i) {            $cfg{PhysTLBOffset}= eval($1);        }        else {            croak "unrecognized cfg line: $_\n";        }    }    $fh->close();    return \%cfg;}for (@{$cfg->{images}}) {    $img->Load($_->{filename}, $_->{poffset});}my $vimg= VirtualMemory->new($img, $cfg->{PhysTLBOffset});$vimg->SetSectionTable(kdata('KINX_SECTIONS'));sub kdata {    my $sym= shift;        return $vimg->ReadDword($syms{kdata}{$sym});}sub vmofs {    my ($ofs, $vmbase)= @_;    if ($vmbase && $ofs>=0x10000 && $ofs<0x02000000) { $ofs += $vmbase; }    return $ofs;}sub ofsvm {    my ($ofs)= @_;    if ($ofs<0x80000000) {        return $ofs&0xfe000000;    }    return 0;}sub structofs {    my ($sym, $ofs, $vmbase)= @_;    if ($vmbase && $ofs<0x02000000) { $ofs += $vmbase; }    if ($sym =~ /^(\w+)\.(\w+)((?:\.|->).*)?$/) {        my ($structname, $itemname, $subitems)= ($1, $2, $3);        if (!exists $structs{$structname}) {            croak "invalid structname $structname\n";        }        if (!exists $structs{$structname}{items}{$itemname}) {            croak "invalid itemname $structname.$itemname\n";        }        my $item= $structs{$structname}{items}{$itemname};        if (!defined $subitems) {            return $item->{ofs}+$ofs;        }        elsif ($subitems =~ /^\./) {            return structofs("$item->{type}$subitems", $ofs+$item->{ofs}, $vmbase);        }        elsif ($subitems =~ /^->(.*)/) {            return structofs("$item->{ptype}.$1", struct("$structname.$itemname", $ofs, $vmbase), $vmbase);        }        else {            croak "invalid subitem spec: $sym\n";        }    }    else {        croak "invalid struct spec: '$sym'\n";    }}sub struct {    my ($sym, $ofs, $vmbase)= @_;    #printf("struct(%s %08lx)\n", $sym, $ofs);    if ($vmbase && $ofs<0x02000000) { $ofs += $vmbase; }    if ($sym =~ /^(\w+)\.(\w+)((?:\.|->).*)?$/) {        my ($structname, $itemname, $subitems)= ($1, $2, $3);        if (!exists $structs{$structname}) {            croak "invalid structname $structname\n";        }        if (!exists $structs{$structname}{items}{$itemname}) {            croak "invalid itemname $structname.$itemname\n";        }        my $item= $structs{$structname}{items}{$itemname};        my @result;        if (!defined $subitems) {            if ($item->{type} eq "DWORD") {                for (0..$item->{count}-1) {                    push @result, $vimg->ReadDword($ofs+4*$_+$item->{ofs});                }            }            elsif ($item->{type} eq "WORD") {                for (0..$item->{count}-1) {                    push @result, $vimg->ReadWord($ofs+2*$_+$item->{ofs});                }            }            elsif ($item->{type} eq "BYTE") {                for (0..$item->{count}-1) {                    push @result, $vimg->ReadByte($ofs+$_+$item->{ofs});                }            }            elsif ($item->{type} eq "char") {                my @chars;                for (0..$item->{count}-1) {                    my $char= $vimg->ReadByte($ofs+$_+$item->{ofs});                    last if ($char==0);                    push @chars, $char;                }                #printf("char: @chars\n");                push @result, pack("C*", @chars);            }            elsif ($item->{type} eq "wchar") {                my @chars;                for (0..$item->{count}-1) {                    my $wchar= $vimg->ReadWord($ofs+$_*2+$item->{ofs});                    last if ($wchar==0);                    push @chars, $wchar;                }                push @result, pack("U*", @chars);            }            else {                croak "unknown primitive type in struct $sym: $item->{type}\n";            }        }        elsif ($subitems =~ /^\./) {            if (exists $structs{$item->{type}}) {                for (0..$item->{count}-1) {                    push @result, struct("$item->{type}$subitems", $ofs+$_*$structs{$item->{type}}{size}+$item->{ofs}, $vmbase);                }            }            else {                croak "could not resolve struct specifier $sym\n";            }        }        elsif ($subitems =~ /^->(.*)/) {            for (0..$item->{count}-1) {                my $ptr= struct("$structname.$itemname", $ofs, $vmbase);                if ($ptr) {                    push @result, struct("$item->{ptype}.$1", $ptr, $vmbase);                }                else {                    push @result, 0xFFFFFFFF;                }            }        }        else {            croak "invalid subitem spec: $sym\n";        }        if (@result==1) {            return $result[0];        }        else {            return @result;        }    }    else {        croak "invalid struct spec: '$sym'\n";    }}if ($doListKdata) {    for (sort { $syms{kdata}{$a} <=> $syms{kdata}{$b} } keys %{$syms{kdata}}) {        eval { printf("%08lx %-20s  %08lx\n", $syms{kdata}{$_}, $_, kdata($_)); };    }}if ($doListProcesses) {    my $procbase= kdata('KINX_PROCARRAY');    printf("procbase= %08lx  curproc=%08lx(%08lx) curthread=(%08lx)%08lx\n",         $procbase, kdata('hCurProc'), kdata('pCurPrc'), kdata('hCurThread'), kdata('pCurThd'));    if (!$procbase) {        croak "could not find procbase\n";    }    for (my $pi= 0 ; $pi<32 ; $pi++) {        #todo: 0xf0 = sizeof(PROCESS)        DumpProcessEntry($pi*0xf0+$procbase);    }}sub DumpModuleEntry {    my ($mod)= @_;    printf("%08lx %08lx %08lx %08lx %02x %s\n",        struct('Module.inuse', $mod),        struct('Module.BasePtr', $mod),        struct('Module.e32.e32_vbase', $mod),        struct('Module.startip', $mod),

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产日韩一级| 国产精品五月天| 欧美丰满少妇xxxxx高潮对白| 国产91精品一区二区麻豆网站 | 亚洲在线视频网站| 一区二区三区中文字幕电影| 亚洲国产视频一区二区| 日本不卡在线视频| 国产精品夜夜嗨| www.欧美.com| 欧美一区二区二区| 国产亚洲精品福利| 亚洲一卡二卡三卡四卡五卡| 青娱乐精品在线视频| 国产精品18久久久久久久久久久久| 久久99这里只有精品| 91污在线观看| 日韩免费看的电影| 亚洲乱码国产乱码精品精的特点 | 欧美日韩视频专区在线播放| 69堂亚洲精品首页| 亚洲婷婷在线视频| 精品一区二区三区在线视频| 99精品国产91久久久久久| 欧美一区二区三区日韩视频| 国产精品欧美一级免费| 久草这里只有精品视频| 成人影视亚洲图片在线| 日韩欧美国产三级| 日韩理论片中文av| 国产精品一区二区久久精品爱涩 | 中文字幕在线视频一区| 日本成人在线视频网站| 在线观看av不卡| 亚洲欧洲一区二区在线播放| 国产在线看一区| 日韩免费视频一区二区| 日本在线不卡一区| 欧美精品色一区二区三区| 亚洲一区二区三区视频在线播放| 成人午夜视频在线观看| 中文字幕国产一区| 国产成人午夜视频| 久久亚洲一级片| 久久超碰97人人做人人爱| 欧美亚洲国产一区二区三区 | 色av成人天堂桃色av| 国产人伦精品一区二区| 国产精品主播直播| 国产精品理论片| 97精品国产露脸对白| 亚洲国产欧美另类丝袜| 欧美日韩一区二区电影| 天堂精品中文字幕在线| 久久久久久久久久久久久女国产乱 | 日日夜夜免费精品视频| 日韩欧美123| 高清免费成人av| 亚洲国产欧美在线人成| 国产欧美日韩麻豆91| 欧美日韩一级片网站| 国产麻豆日韩欧美久久| 一区二区三区日本| 精品少妇一区二区三区免费观看| av午夜一区麻豆| 麻豆91精品视频| 一区二区免费在线播放| 欧美一区二区三区四区久久| 国产a视频精品免费观看| 亚洲午夜精品久久久久久久久| 久久久99精品久久| 777xxx欧美| 欧美伊人久久大香线蕉综合69| 亚洲 欧美综合在线网络| 中文字幕五月欧美| 精品福利在线导航| 欧美一区二区三区视频免费播放| av一区二区三区黑人| 国产成人在线观看免费网站| 亚洲成人激情综合网| 亚洲激情六月丁香| 亚洲人成亚洲人成在线观看图片| 国产亚洲污的网站| 久久久久久综合| 久久色.com| 欧美国产丝袜视频| 国产日产欧美一区二区视频| 国产婷婷色一区二区三区在线| 精品久久久久99| 亚洲国产激情av| 中文字幕亚洲不卡| 一区二区三区高清| 午夜国产不卡在线观看视频| 五月激情综合婷婷| 国产又黄又大久久| a级精品国产片在线观看| 91一区一区三区| 欧美日韩一区高清| 欧美精品一区二区久久婷婷| 欧美激情一区二区三区蜜桃视频| 国产精品三级视频| 亚洲午夜羞羞片| 国产乱国产乱300精品| 91丝袜美女网| 日韩你懂的在线播放| 国产精品久久久久婷婷| 亚洲大片在线观看| 国产成人综合在线观看| 日本道色综合久久| 日韩亚洲电影在线| 亚洲免费观看高清在线观看| 久久国产剧场电影| 色综合久久中文字幕综合网| 国产99一区视频免费| 日韩福利电影在线| 成人免费高清在线| 精品黑人一区二区三区久久| 亚洲美女视频在线| 成人精品电影在线观看| 日韩午夜激情视频| 午夜精品福利久久久| 一本久道久久综合中文字幕| 国产欧美视频一区二区| 久久99久久久欧美国产| 91精品国产综合久久香蕉麻豆| 夜夜嗨av一区二区三区| 91丨九色porny丨蝌蚪| 亚洲天堂网中文字| 成人激情动漫在线观看| 国产片一区二区| 成人国产一区二区三区精品| 久久久精品综合| 国产精品18久久久久久久久久久久| 欧美一区二区三区在线看| 亚洲午夜久久久久久久久电影网 | 国产人成一区二区三区影院| 激情深爱一区二区| 国产亚洲福利社区一区| 国产精品白丝jk黑袜喷水| 2017欧美狠狠色| 成a人片亚洲日本久久| 自拍偷拍亚洲综合| 91丨国产丨九色丨pron| 五月综合激情婷婷六月色窝| 555夜色666亚洲国产免| 国产精品一区二区x88av| 国产欧美日韩麻豆91| 欧美另类高清zo欧美| 国产中文字幕精品| 亚洲丝袜美腿综合| 欧美精品xxxxbbbb| bt欧美亚洲午夜电影天堂| 日韩成人伦理电影在线观看| 久久精品欧美日韩精品| 欧美婷婷六月丁香综合色| 全部av―极品视觉盛宴亚洲| 中文字幕第一区综合| 日韩一区二区三区免费观看| 大尺度一区二区| 久久成人av少妇免费| 亚洲线精品一区二区三区| 国产视频911| 成人精品国产福利| 麻豆成人久久精品二区三区红 | 成人一区二区三区视频在线观看| 一区二区不卡在线播放| 国产精品久久久久影视| 国产偷国产偷精品高清尤物| 欧美一区二区观看视频| 8x福利精品第一导航| 欧美挠脚心视频网站| 色婷婷精品久久二区二区蜜臂av | 午夜伦欧美伦电影理论片| 亚洲人成小说网站色在线| 久久香蕉国产线看观看99| 精品乱人伦一区二区三区| 欧美一区二区免费| 欧美电视剧免费全集观看| 7878成人国产在线观看| 制服丝袜亚洲网站| 日韩欧美国产综合在线一区二区三区| 欧美福利视频一区| 亚洲精品一区二区三区福利 | 麻豆免费看一区二区三区| 免费人成网站在线观看欧美高清| 日韩福利视频导航| 国产精品99久久久久久久女警| 成人免费电影视频| 三级欧美韩日大片在线看| 久久综合色一综合色88| 欧美精品视频www在线观看| 欧美tickling挠脚心丨vk| 久久久精品tv| 一区二区三区久久| 国内欧美视频一区二区| 一本一本大道香蕉久在线精品| 欧美自拍偷拍午夜视频| 日韩三级在线观看| 亚洲欧美一区二区三区极速播放| 性做久久久久久久免费看|