Adobe Flash过期怎么解决 adobe flash player activex( 三 )


操作发现,GetSystemTimeAsFileTimeStub函数断下后,修改系统时间,可使flash正常工作 。但该函数的上层调用位于chrome.dll中,并未在pepflashplayer.dll中 。
难道check逻辑是在chrome.dll中?这与我们上面的验证逻辑不符,替换pepflashplayer.dll为老版本,可以正常渲染,难道chrome.dll能判断版本?
继续追溯上层调用发现,
Breakpoint 3 hitKERNEL32!GetSystemTimeAsFileTimeStub:00007fff`69f56a70 48ff2571210600  jmp     qword ptr [KERNEL32!_imp_GetSystemTimeAsFileTime (00007fff`69fb8be8)] ds:00007fff`69fb8be8={KERNELBASE!GetSystemTimeAsFileTime (00007fff`685bd100)}8:071> guchrome!ChromeMain+0x867:00007ffe`f05e5817 4c89f0          mov     rax,r148:071> guchrome!ChromeMain+0x6b3:00007ffe`f05e5663 4889f0          mov     rax,rsi8:071> guchrome!RelaunchChromeBrowserWithNewCommandLineIfNeeded+0xae2056:00007ffe`f492cea6 488b0e          mov     rcx,qword ptr [rsi] ds:00000038`4bffdcf0=002f176961bc531f8:071> gupepflashplayer!IAEModule_IAEKernel_UnloadModule+0x8863a3:00007fff`14f86f03 f20f5905a5ea1800 mulsd   xmm0,mmword ptr [pepflashplayer!curl_share_strerror+0x134ee0 (00007fff`151159b0)] ds:00007fff`151159b0=408f4000000000008:071> gupepflashplayer!PPP_ShutdownBroker+0x19ef45:00007fff`13db35d5 0f28f0          movaps  xmm6,xmm0 原来chrome.dll中的上层调用,来自pepflashplayer.dll 。
所以是flash.dll从chrome.dll中获取时间,到自己内部做判断 。奇怪,它自己读时间不简单嘛?
4、时间校验逻辑分析
基址信息
00007ff6`14d70000 00007ff6`14fa0000   chrome_exe00007ffe`f05e0000 00007ffe`f9a5c000   chrome00007fff`13b50000 00007fff`15ad4000   pepflashplayer GetSystemTimeAsFileTimeStub函数的上层调用函数偏移计算:
内存中chrome.dll的获取时间函数地址:00007ffef05e5817内存中chrome.dll的基址:00007ffef05e0000IDA中chrome.dll的基址:180000000IDA中chrome.dll的获取时间函数地址:00007ffef05e5817-00007ffef05e0000+180000000=180005817 所以
GetSystemTimeAsFileTimeStub函数的上层调用位于chrome.dll的sub_180005680函数

Adobe Flash过期怎么解决 adobe flash player activex

文章插图


继续追溯,上层调用位于pepflashplayer.dll的sub_181436EF0函数
Adobe Flash过期怎么解决 adobe flash player activex

文章插图


上层调用位于pepflashplayer.dll的sub_180262FD0函数
Adobe Flash过期怎么解决 adobe flash player activex

文章插图


比对参数就是qword_1815F8468,数值写死
Adobe Flash过期怎么解决 adobe flash player activex

文章插图


分析总结 程序流程
Adobe Flash过期怎么解决 adobe flash player activex

文章插图


时间校验流程
Adobe Flash过期怎么解决 adobe flash player activex

文章插图


思考 时间校验逻辑中的对比数据,硬编码在dll中,直接修改该数据足够大,是否能绕过该check呢?
POC测试 1、定位pepflashplayer.dll中的时间戳硬编码位置: 40 46 3E 6F 77 42
Adobe Flash过期怎么解决 adobe flash player activex


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: