0046F0DA 8B4D F8 mov ecx,dword ptr ss:[ebp-8] ; "BINKY-PC"
0046F0DD BA 08F24600 mov edx,dumped_.0046F208 ; ASCII "UserName"
0046F0E2 8BC3 mov eax,ebx ; "*@"
0046F0E4 E8 3FF7FFFF call dumped_.0046E828 ; 这里写入注册表--Registry::TRegistry::WriteString(System::AnsiString,System::AnsiString)
0046F0E9 B9 1CF24600 mov ecx,dumped_.0046F21C ; ASCII "You will never defeat the riddle of the Black Riders..."
0046F0EE BA 5CF24600 mov edx,dumped_.0046F25C ; ASCII "UserKey"
0046F0F3 8BC3 mov eax,ebx
0046F0F5 E8 2EF7FFFF call dumped_.0046E828 ; Registry::TRegistry::WriteString(System::AnsiString,System::AnsiString)
我本来以为还要往注册表里写入所谓的"UserName"和"UserKey"呢，走完了，才发现，作者只是想开个玩笑--"You will never defeat the riddle of the Black Riders..."，你永远无法解开黑暗骑士之谜，我了个……
delphi BlockWrite(System::TFileRec &,void *,int,int &)
BlockWrite(F2, Buf, NumRead, Numwritten)
procedure BlockWrite(var f: File; var Buf; Count: Integer [; var AmtTransferred: Integer]);
F is an untyped file variable, Buf is any variable, Count is an expression of type Integer, and AmtTransferred is an optional variable of type Integer.
BlockWrite writes Count or fewer records to the file F from memory, starting at the first byte occupied by Buf. The actual number of complete records written (less than or equal to Count) is returned in AmtTransferred.
The entire block transferred occupies at most Count * RecSize bytes. RecSize is the record size specified when the file was opened (or 128 if the record size was unspecified).
If the entire block is transferred, AmtTransferred is equal to Count on return.
If AmtTransferred is less than Count, the disk became full before the transfer was complete. In this case, if the file's record size is greater than 1, AmtTransferred returns the number of complete records written.
BlockWrite advances the current file position by AmtTransferred records.
If AmtTransferred isn't specified, an I/O error occurs if the number written isn't equal to Count. If the $I+ compiler directive is in effect, errors raise an EInOutError exception.