004054CE 0FB705 DC3E4100 movzx eax,word ptr ds:[413EDC]
004054D5 8D0440 lea eax,dword ptr ds:[eax+eax*2]
004054D8 66:832CC5 A87E4000 0>sub word ptr ds:[eax*8+407EA8],2
004054E1 0FB707 movzx eax,word ptr ds:[edi]
004054E4 8D0440 lea eax,dword ptr ds:[eax+eax*2]
004054E7 66:8B55 FA mov dx,word ptr ss:[ebp-6]
004054EB 66:8914C5 D0DE4000 mov word ptr ds:[eax*8+40DED0],dx
004054F3 C704C5 C4DE4000 0100>mov dword ptr ds:[eax*8+40DEC4],1
上面这个地方是把1暂时存起来,之后会读取文件a的内容,1表示的是文件的长度。但在这里还不知道文件a的长度。
004054FE 66:FF07 inc word ptr ds:[edi]
00405501 8D4D C0 lea ecx,dword ptr ss:[ebp-40]
00405504 0FB7D3 movzx edx,bx
00405507 8BC6 mov eax,esi
00405509 E8 1AEEFFFF call rolf1.00404328
0040550E 8B4D C0 mov ecx,dword ptr ss:[ebp-40]
00405511 8D45 C4 lea eax,dword ptr ss:[ebp-3C]
00405514 8B56 1C mov edx,dword ptr ds:[esi+1C]
00405517 E8 14DDFFFF call rolf1.00403230
0040551C 8B45 C4 mov eax,dword ptr ss:[ebp-3C]
0040551F E8 A8F5FFFF call rolf1.00404ACC
00405524 A3 9C764000 mov dword ptr ds:[40769C],eax
00405529 A1 9C764000 mov eax,dword ptr ds:[40769C]
0040552E 33D2 xor edx,edx
00405530 E8 37F4FFFF call rolf1.0040496C
这里这个call调用setfilepointer,之后调用getfilesize来获取a 的长度。我该如何修改才可以在前面那个赋值 1的地方改成赋值为a的长度?
我是个超级菜鸟。请各位大侠帮忙!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课