api-ms* API函数集

从Windows7开始,微软对Win32子系统做出重大的调整,其中表现之一就是函数集的调整。

如我们熟知的advapi32.dll其中一部分函数移动了kernel32.dll中,另一部分包括kernel32.dll中的一些函数被移动到了KERNELBASE.dll中,并且出现了大量的新dll导入函数,这些dll的名称非常长,例如API-MS-Win-Core-LocalRegistry-L1-1-0.dll。

而这些名称非常长的新增加函数一般不独立导入使用,而是通过ADVAPI32和KERNEL32、一般支持的dll(如MFC42、MSVCRT和OLE32)、许多服务以及各种其他可执行文件完成的。而这种情况也不光发生在应用层,它们也适用于内核模式。NT内核本身(NTOSKRNL)以前只从HAL导入,现在从ext-ms-win-ntos-ksigningpolicy-l1-1-0.dll之类的dll中导入。

api-ms- 系列动态链接库作用

这个函数其实是用于函数转发用的,也是为了实现API函数集的分层,实现API函数集像内存一样实现逻辑与物理的映射。
这样做的好处就是通过这个函数转发映射,在软件开发时保留函数接口的调用的库一致,但通过不同的映射实现同一套应用接口而在不同平台的移植。
dll转发

fread函数追踪

如我们手中一个touch.exe工程,其引入了api-ms-win-crt-stdio-l1-1-0.dll库,并导入了函数fread.
函数fread

我们通过ida打开api-ms-win-crt-stdio-l1-1-0.dll,并查看其导出函数fread,其仅定义字符串ucrtbase.fread

.rdata:0000000180002835                 public fread
.rdata:0000000180002835 ; size_t __cdecl fread(void *DstBuf, size_t ElementSize, size_t Count, FILE *File)
.rdata:0000000180002835 fread           db 'ucrtbase.fread',0   ; DATA XREF: .rdata:off_180001088o
.rdata:0000000180002844 aFread_s        db 'fread_s',0          ; DATA XREF: .rdata:off_180001304o

其实这里的ucrtbase.fread的含义是将该函数转发至ucrtbase.dll的fread函数中。
打开ucrtbase.dll,其确实导出了fread.dll函数。
ucrtbase.freaducrtbase.fread

Win10函数集与宿主DLL映射关系

API Set Default Host Exceptional Mappings (Importer → Host) Remarks
api-ms-win-appmodel-identity-l1-2-0 kernel.appcore.dll
api-ms-win-appmodel-runtime-internal-l1-1-2 kernel.appcore.dll
api-ms-win-appmodel-state-l1-1-2 kernel.appcore.dll
api-ms-win-appmodel-state-l1-2-0 kernel.appcore.dll
api-ms-win-appmodel-unlock-l1-1-0 kernel.appcore.dll
api-ms-win-composition-redirection-l1-1-0 dwmredir.dll
api-ms-win-composition-windowmanagement-l1-1-0 udwm.dll
api-ms-win-core-bicltapi-l1-1-3 bi.dll
api-ms-win-core-biplmapi-l1-1-3 twinapi.appcore.dll
api-ms-win-core-biptcltapi-l1-1-3 twinapi.appcore.dll
api-ms-win-core-com-l2-1-1 coml2.dll
api-ms-win-core-com-midlproxystub-l1-1-0 combase.dll
api-ms-win-core-com-private-l1-1-1 combase.dll
api-ms-win-core-console-ansi-l2-1-0 kernel32.dll
api-ms-win-core-datetime-l1-1-2 kernelbase.dll
api-ms-win-core-debug-l1-1-2 kernelbase.dll
api-ms-win-core-debug-minidump-l1-1-0 dbgcore.dll
api-ms-win-core-errorhandling-l1-1-3 kernelbase.dll
api-ms-win-core-file-ansi-l1-1-0 kernel32.dll
api-ms-win-core-file-ansi-l2-1-0 kernel32.dll
api-ms-win-core-file-l1-2-2 kernelbase.dll
api-ms-win-core-file-l2-1-2 kernelbase.dll
api-ms-win-core-heap-l2-1-0 kernelbase.dll
api-ms-win-core-job-l2-1-1 kernel32.dll
api-ms-win-core-kernel32-legacy-ansi-l1-1-0 kernel32.dll
api-ms-win-core-kernel32-legacy-l1-1-3 kernel32.dll
api-ms-win-core-kernel32-private-l1-1-2 kernel32.dll
api-ms-win-core-largeinteger-l1-1-0 kernelbase.dll
api-ms-win-core-libraryloader-l1-2-1 kernelbase.dll
api-ms-win-core-libraryloader-l2-1-0 kernelbase.dll
api-ms-win-core-localization-ansi-l1-1-0 kernel32.dll
api-ms-win-core-localization-l1-2-2 kernelbase.dll
api-ms-win-core-localization-obsolete-l1-3-0 kernelbase.dll
api-ms-win-core-marshal-l1-1-0 combase.dll
api-ms-win-core-memory-l1-1-3 kernelbase.dll
api-ms-win-core-namedpipe-ansi-l1-1-0 kernel32.dll
api-ms-win-core-namedpipe-l1-2-1 kernelbase.dll
api-ms-win-core-namespace-ansi-l1-1-0 kernel32.dll
api-ms-win-core-perfcounters-l1-1-0 kernelbase.dll
api-ms-win-core-processenvironment-ansi-l1-1-0 kernel32.dll
api-ms-win-core-processsnapshort-l1-1-0 kernelbase.dll
api-ms-win-core-processthreads-l1-1-3 kernel32.dll kernel32.dll → kernelbase.dll
api-ms-win-core-psm-key-l1-1-1 kernelbase.dll
api-ms-win-core-psm-plm-l1-1-3 twinapi.appcore.dll
api-ms-win-core-psm-rtimer-l1-1-0 twinapi.appcore.dll
api-ms-win-core-psm-tc-l1-1-1 twinapi.appcore.dll
api-ms-win-core-quirks-l1-1-1 kernelbase.dll
api-ms-win-core-realtime-l1-1-1 kernelbase.dll
api-ms-win-core-registry-l1-1-1 kernelbase.dll
api-ms-win-core-registry-l2-2-0 advapi32.dll
api-ms-win-core-shlwapi-obsolete-l1-2-0 kernelbase.dll
api-ms-win-core-sidebyside-ansi-l1-1-0 kernel32.dll
api-ms-win-core-slapi-l1-1-0 slc.dll
api-ms-win-core-string-l2-1-1 kernelbase.dll
api-ms-win-core-string-obsolete-l1-1-1 kernel32.dll
api-ms-win-core-synch-ansi-l1-1-0 kernel32.dll
api-ms-win-core-synch-l1-2-1 kernelbase.dll
api-ms-win-core-sysinfo-l1-2-3 kernelbase.dll
api-ms-win-core-sysinfo-l2-1-0 advapi32.dll
api-ms-win-core-textinput-client-l1-1-0 textinputframework.dll
api-ms-win-core-util-l1-1-1 kernel32.dll kernel32.dll → kernelbase.dll
api-ms-win-core-version-l1-1-1 kernelbase.dll
api-ms-win-core-versionansi-l1-1-1 kernelbase.dll
api-ms-win-core-windowsceip-l1-1-0 kernelbase.dll
api-ms-win-core-winrt-propertysetprivate-l1-1-1 wintypes.dll
api-ms-win-core-winrt-string-l1-1-1 combase.dll
api-ms-win-core-wow64-l1-1-1 kernelbase.dll
api-ms-win-coremessaging-host-l1-1-0
api-ms-win-coreui-secruntime-l1-1-0
api-ms-win-crt-conio-l1-1-0 ucrtbase.dll
api-ms-win-crt-convert-l1-1-0 ucrtbase.dll
api-ms-win-crt-environment-l1-1-0 ucrtbase.dll
api-ms-win-crt-filesystem-l1-1-0 ucrtbase.dll
api-ms-win-crt-heap-l1-1-0 ucrtbase.dll
api-ms-win-crt-locale-l1-1-0 ucrtbase.dll
api-ms-win-crt-math-l1-1-0 ucrtbase.dll
api-ms-win-crt-multibyte-l1-1-0 ucrtbase.dll
api-ms-win-crt-private-l1-1-0 ucrtbase.dll
api-ms-win-crt-process-l1-1-0 ucrtbase.dll
api-ms-win-crt-runtime-l1-1-0 ucrtbase.dll
api-ms-win-crt-stdio-l1-1-0 ucrtbase.dll
api-ms-win-crt-string-l1-1-0 ucrtbase.dll
api-ms-win-crt-time-l1-1-0 ucrtbase.dll
api-ms-win-crt-utility-l1-1-0 ucrtbase.dll
api-ms-win-deprecated-apis-advapi-l1-1-0
api-ms-win-deprecated-apis-legacy-l1-1-0
api-ms-win-deprecated-apis-legacy-l1-2-0
api-ms-win-deprecated-apis-obsolete-l1-1-0 kernelbase.dll
api-ms-win-dx-d3dkmt-l1-1-1 gdi32.dll
api-ms-win-gaming-tcui-l1-1-0 gamingtcui.dll
api-ms-win-networking-interfacecontexts-l1-1-0 ondemandconnroutehelper.dll
api-ms-win-power-limitsmanagement-l1-1-0 powrprof.dll
api-ms-win-rtcore-minuser-private-l1-1-1
api-ms-win-rtcore-ntuser-draw-l1-1-0 user32.dll
api-ms-win-rtcore-ntuser-powermanagement-l1-1-0 user32.dll
api-ms-win-rtcore-ntuser-private-l1-1-2 user32.dll
api-ms-win-rtcore-ntuser-shell-l1-1-0 user32.dll
api-ms-win-rtcore-ntuser-wmpointer-l1-1-2 user32.dll
api-ms-win-rtcore-session-l1-1-1
api-ms-win-security-accesshlpr-l1-1-0 sechost.dll
api-ms-win-security-activedirectoryclient-l1-1-1 kernelbase.dll
api-ms-win-security-base-ansi-l1-1-0 advapi32.dll
api-ms-win-security-capability-l1-1-0 sechost.dll
api-ms-win-security-cpwl-l1-1-0 advapi32.dll
api-ms-win-security-logon-l1-1-1 advapi32.dll
api-ms-win-security-lsalookup-ansi-l2-1-0 advapi32.dll
api-ms-win-security-lsalookup-l1-1-2 sechost.dll
api-ms-win-security-lsapolicy-l1-1-1 sechost.dll
api-ms-win-security-provider-ansi-l1-1-0 advapi32.dll
api-ms-win-service-core-ansi-l1-1-0 advapi32.dll
api-ms-win-service-core-l1-1-2 sechost.dll
api-ms-win-shcore-scaling-l1-1-2 shcore.dll
api-ms-win-shell-shdirectory-l1-1-0 shcore.dll
api-ms-win-shlwapi-winrt-storage-l1-1-1 shlwapi.dll
api-ms-win-storage-exports-external-l1-1-0 windows.storage.dll
api-ms-win-storage-exports-internal-l1-1-0 windows.storage.dll
api-ms-win-winrt-search-folder-l1-1-0 windows.storage.search.dll
ext-ms-mf-pal-l2-1-0
ext-ms-onecore-appchromeapi-l1-1-0
ext-ms-onecore-appmodel-emclient-l1-1-0
ext-ms-onecore-appmodel-emsvcs-l1-1-0
ext-ms-onecore-appmodel-pacmanclient-l1-1-0
ext-ms-onecore-appmodel-plm-l1-1-0 execmodelclient.dll
ext-ms-onecore-appmodel-staterepository-internal-l1-1-0 windows.staterepositoryclient.dll
ext-ms-onecore-appmodel-veventdispatcher-l1-1-0 veeventdispatcher.dll
ext-ms-onecore-dcomp-l1-1-0 dcomp.dll
ext-ms-onecore-defaultdiscovery-l1-1-0
ext-ms-onecore-mpc-input-l1-1-0
ext-ms-onecore-orientation-l1-1-0
ext-ms-onecore-phoneinfo-l1-1-0
ext-ms-onecore-shellchromeapi-l1-1-1
ext-ms-onecore-shellremindersapi-l1-1-0
ext-ms-win-advapi32-eventlog-ansi-l1-1-0 advapi32.dll
ext-ms-win-advapi32-eventlog-l1-1-1 advapi32.dll
ext-ms-win-advapi32-hwprof-l1-1-0 advapi32.dll
ext-ms-win-advapi32-npusername-l1-1-0 advapi32.dll
ext-ms-win-appcompat-apphelp-l1-1-0 apphelp.dll
ext-ms-win-appmodel-appcontainerpath-l1-1-0
ext-ms-win-appmodel-datasharingservice-extensions-l1-1-0
ext-ms-win-appmodel-deployment-l1-1-1
ext-ms-win-appmodel-deploymentvolumes-l1-1-0
ext-ms-win-appmodel-opc-l1-1-0 opcservices.dll
ext-ms-win-appmodel-state-ext-l1-2-0 kernel.appcore.dll
ext-ms-win-appmodel-usercontext-l1-1-0
ext-ms-win-appmodel-viewscalefactor-l1-1-0
ext-ms-win-appxdeploymentclient-appxdeployonecore-l1-1-0 appxdeploymentclient.dll
ext-ms-win-audiocore-policymanager-l1-1-0
ext-ms-win-biometrics-winbio-core-l1-1-0 winbio.dll
ext-ms-win-biometrics-winbio-l1-2-0 winbioext.dll
ext-ms-win-bluetooth-apis-l1-1-0 bluetoothapis.dll
ext-ms-win-bluetooth-apis-private-l1-1-0 bluetoothapis.dll
ext-ms-win-casting-device-l1-1-0
ext-ms-win-casting-receiver-l1-1-0
ext-ms-win-ci-xbox-l1-1-0 x64 only
ext-ms-win-cluster-clusapi-l1-1-2 clusapi.dll
ext-ms-win-cluster-resutils-l1-1-1 resutils.dll
ext-ms-win-cng-rng-l1-1-1 bcryptprimitives.dll
ext-ms-win-com-coml2-l1-1-1 coml2.dll
ext-ms-win-com-ole32-l1-1-3 ole32.dll
ext-ms-win-com-suspendresiliency-l1-1-0
ext-ms-win-composition-ghost-l1-1-0 dwmghost.dll
ext-ms-win-composition-init-l1-1-0 dwminit.dll
ext-ms-win-compositor-hosting-l1-1-0 user32.dll
ext-ms-win-core-app-package-registration-l1-1-0
ext-ms-win-core-app-package-volume-l1-1-0
ext-ms-win-core-bi-service-l1-1-1
ext-ms-win-core-dhcp6client-l1-1-0
ext-ms-win-core-licensemanager-l1-1-0
ext-ms-win-core-psm-service-l1-1-2 psmserviceexthost.dll
ext-ms-win-core-resourcemanager-l1-1-0 rmclient.dll
ext-ms-win-core-resourcepolicy-l1-1-0 rmclient.dll
ext-ms-win-core-storelicensing-l1-1-0 licensemanagerapi.dll
ext-ms-win-core-winrt-remote-l1-1-0
ext-ms-win-coreui-navshutdown-l1-1-0 navshutdown.dll
ext-ms-win-devmgmt-dm-l1-1-0 dmapisetextimpl.dll
ext-ms-win-devmgmt-policy-l1-1-0 policymanager.dll
ext-ms-win-dwmapi-ext-l1-1-0 dwmapi.dll
ext-ms-win-dwmapidxgi-ext-l1-1-0 dwmapi.dll
ext-ms-win-dx-d3d9-l1-1-0 d3d9.dll
ext-ms-win-edputil-policy-l1-1-0 edputil.dll
ext-ms-win-els-elscore-l1-1-0 elscore.dll
ext-ms-win-familysafety-childaccount-l1-1-0 familysafetyext.dll
ext-ms-win-feclient-encryptedfile-l1-1-0 feclient.dll
ext-ms-win-firewallapi-webproxy-l1-1-1 firewallapi.dll
ext-ms-win-gdi-clipping-l1-1-0 gdi32.dll
ext-ms-win-gdi-dc-create-l1-1-2 gdi32.dll
ext-ms-win-gdi-dc-l1-2-1 gdi32.dll
ext-ms-win-gdi-draw-l1-1-2 gdi32.dll
ext-ms-win-gdi-font-l1-1-2 gdi32.dll
ext-ms-win-gdi-metafile-l1-1-2 gdi32.dll
ext-ms-win-gdi-print-l1-1-0 gdi32.dll
ext-ms-win-globalization-input-l1-1-1 globinputhost.dll
ext-ms-win-gui-ieui-l1-1-0 ieui.dll
ext-ms-win-imm-l1-1-1 imm32.dll
ext-ms-win-kernel32-package-l1-1-2 kernel.appcore.dll
ext-ms-win-kernel32-quirks-l1-1-1 kernel32.dll
ext-ms-win-kernel32-windowserrorreporting-l1-1-1 kernel32.dll
ext-ms-win-mininput-cursorhost-l1-1-0
ext-ms-win-mininput-inputhost-l1-1-0
ext-ms-win-mininput-systeminputhost-l1-1-0
ext-ms-win-moderncore-win32k-base-ntgdi-l1-1-0 win32kfull.sys
ext-ms-win-moderncore-win32k-base-ntuser-l1-1-0 win32kfull.sys
ext-ms-win-moderncore-win32k-base-sysentry-l1-1-0 win32k.sys
ext-ms-win-msa-device-l1-1-0
ext-ms-win-msa-user-l1-1-1 msauserext.dll
ext-ms-win-msi-misc-l1-1-0 msi.dll
ext-ms-win-msimg-draw-l1-1-0 msimg32.dll
ext-ms-win-net-cmvpn-l1-1-0 cmintegrator.dll
ext-ms-win-net-httpproxyext-l1-1-0 httpprxc.dll
ext-ms-win-net-vpn-l1-1-0
ext-ms-win-netprovision-netprovfw-l1-1-0 netprovfw.dll
ext-ms-win-networking-iphlpsvc-l1-1-0
ext-ms-win-networking-nlaapi-l1-1-0 nlaapi.dll
ext-ms-win-networking-wlanstorage-l1-1-0
ext-ms-win-nfc-semgr-l1-1-0
ext-ms-win-ntdsapi-activedirectoryclient-l1-1-1 ntdsapi.dll
ext-ms-win-ntos-clipsp-l1-1-0 clipsp.sys
ext-ms-win-ntos-ium-l1-1-0
ext-ms-win-ntos-ucode-l1-1-0 ntosext.sys
ext-ms-win-ntuser-dialogbox-l1-1-2 user32.dll
ext-ms-win-ntuser-draw-l1-1-2 user32.dll
ext-ms-win-ntuser-gui-l1-2-0 user32.dll
ext-ms-win-ntuser-gui-l1-3-0 user32.dll
ext-ms-win-ntuser-keyboard-l1-2-0 user32.dll
ext-ms-win-ntuser-menu-l1-1-2 user32.dll
ext-ms-win-ntuser-message-l1-1-2 user32.dll
ext-ms-win-ntuser-misc-l1-3-0 user32.dll
ext-ms-win-ntuser-misc-l1-5-0 user32.dll
ext-ms-win-ntuser-private-l1-2-0 user32.dll
ext-ms-win-ntuser-rim-l1-1-0 user32.dll
ext-ms-win-ntuser-rotationmanager-l1-1-1 user32.dll
ext-ms-win-ntuser-window-l1-1-3 user32.dll
ext-ms-win-ntuser-windowclass-l1-1-2 user32.dll
ext-ms-win-ntuser-windowstation-ansi-l1-1-0 user32.dll
ext-ms-win-oleacc-l1-1-1 oleacc.dll
ext-ms-win-onecore-shutdown-l1-1-0
ext-ms-win-printer-prntvpt-l1-1-0 prntvpt.dll
ext-ms-win-printer-winspool-l1-1-2 winspool.drv
ext-ms-win-profile-extender-l1-1-0 userenv.dll
ext-ms-win-profile-load-l1-1-0
ext-ms-win-provisioning-platform-l1-1-0 provplatformdesktop.dll
ext-ms-win-ras-rasapi32-l1-1-1 rasapi32.dll
ext-ms-win-rpc-firewallportuse-l1-1-0 rpcrtremote.dll
ext-ms-win-rpc-ssl-l1-1-0 rpcrtremote.dll
ext-ms-win-rtcore-gdi-devcaps-l1-1-1 gdi32.dll
ext-ms-win-rtcore-gdi-rgn-l1-1-1 gdi32.dll
ext-ms-win-rtcore-minuser-host-l1-1-0
ext-ms-win-rtcore-minuser-input-l1-1-1
ext-ms-win-rtcore-minuser-private-ext-l1-1-0
ext-ms-win-rtcore-ntuser-console-l1-1-0
ext-ms-win-rtcore-ntuser-cursor-l1-1-0 user32.dll
ext-ms-win-rtcore-ntuser-dc-access-l1-1-1 user32.dll
ext-ms-win-rtcore-ntuser-iam-l1-1-0 user32.dll
ext-ms-win-rtcore-ntuser-integration-l1-1-0 user32.dll
ext-ms-win-rtcore-ntuser-mininit-l1-1-0
ext-ms-win-rtcore-ntuser-rawinput-l1-1-0 user32.dll
ext-ms-win-rtcore-ntuser-synch-ext-l1-1-0 user32.dll
ext-ms-win-rtcore-ntuser-syscolors-l1-1-0 user32.dll
ext-ms-win-rtcore-ntuser-window-ext-l1-1-0 user32.dll
ext-ms-win-search-folder-l1-1-0 searchfolder.dll
ext-ms-win-security-authbroker-l1-1-0 authbrokerui.dll
ext-ms-win-security-capauthz-l1-1-0 capauthz.dll
ext-ms-win-security-chambers-l1-1-0
ext-ms-win-security-credui-l1-1-1 credui.dll
ext-ms-win-security-cryptui-l1-1-1 cryptui.dll
ext-ms-win-security-developerunlock-l1-1-0
ext-ms-win-security-efs-l1-1-0 efsext.dll
ext-ms-win-security-tokenbrokerui-l1-1-0 tokenbrokerui.dll
ext-ms-win-security-vaultcli-l1-1-1 vaultcli.dll
ext-ms-win-security-winscard-l1-1-0 winscard.dll
ext-ms-win-sensors-core-private-l1-1-0 sensorsnativeapi.dll
ext-ms-win-sensors-utilities-private-l1-1-0 sensorsutilsv2.dll
ext-ms-win-session-usermgr-l1-1-0 usermgrcli.dll
ext-ms-win-setupapi-classinstallers-l1-1-1 setupapi.dll
ext-ms-win-shell-browsersettingsync-l1-1-0
ext-ms-win-shell-comctl32-init-l1-1-0 comctl32.dll
ext-ms-win-shell-comctl32-l1-1-0 comctl32.dll
ext-ms-win-shell-comdlg32-l1-1-0 comdlg32.dll
ext-ms-win-shell-directory-l1-1-0 windows.storage.dll
ext-ms-win-shell-embeddedmode-l1-1-0 embeddedmodesvcapi.dll
ext-ms-win-shell-exports-internal-l1-1-0 shell32.dll
ext-ms-win-shell-knownfolderext-l1-1-0
ext-ms-win-shell-settingsync-l1-1-2 settingsyncpolicy.dll
ext-ms-win-shell-shell32-l1-2-1 shell32.dll
ext-ms-win-shell-shlwapi-l1-1-1 shlwapi.dll
ext-ms-win-shell32-shellfolders-l1-1-1 windows.storage.dll
ext-ms-win-srhinproc-entrypoint-l1-1-0 srhinproc.dll
ext-ms-win-storage-sense-l1-1-0 storageusage.dll
ext-ms-win-tsf-msctf-l1-1-0 msctf.dll
ext-ms-win-ui-viewmanagement-l1-1-0
ext-ms-win-uiacore-l1-1-2 uiautomationcore.dll
ext-ms-win-uxtheme-themes-l1-1-1 uxtheme.dll
ext-ms-win-warp-memory-l1-1-0
ext-ms-win-wer-ui-l1-1-0 werui.dll
ext-ms-win-wer-wct-l1-1-0 wer.dll
ext-ms-win-wer-xbox-l1-1-0
ext-ms-win-wevtapi-eventlog-l1-1-2 wevtapi.dll
ext-ms-win-winrt-networking-connectivity-l1-1-0
ext-ms-win-winrt-storage-fileexplorer-l1-1-0
ext-ms-win-winrt-storage-removable-l1-1-0
ext-ms-win-wpn-phoneext-l1-1-0
ext-ms-win-wsclient-devlicense-l1-1-1 wsclient.dll
ext-ms-win-wwaext-misc-l1-1-0 wwaext.dll
ext-ms-win-wwaext-module-l1-1-0 wwaext.dll
ext-ms-win-wwan-wwapi-l1-1-1 wwapi.dll
ext-ms-win-xblauth-console-l1-1-0
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by bytekits.com,汇天下文字,成非凡梦想!!!