首页 > 技术文章 > delphi win7 and high path

marklove 2019-05-18 16:43 原文

Close Delphi
Locate bordbk120N.dll (C:\Program Files (x86)\CodeGear\RAD Studio\6.0\bin)
Make a backup copy
Check step 3
Open bordbk120N.dll in a Hex editor (UltraEdit works fine)
Search for “01 00 48 74 47 80 3D”
Make sure this is found once only
Replace “74” with “EB”
Save
Restart Delphi. Error should be gone.

5A 8B 38 FF 57 1C 8B F8 C6 43 25 00 8B 45 14 50 8B 45 10 50 8B 45 0C 50 8B 45 08 50 6A 00 6A 00 8B 4D FC 8B D6 8B C3 E8 23 13 00 00 88 45 FB 80 7D FB 00 75 6B 8D 45 E4 50 8D 4D E0

                                                                                   8B 45 10 50 8B 45 0C 50 8B 45 08 50 6A 00 6A 00 8B 4D FC 8B D6 8B C3 E8 23 13 00 00

                                                                                   90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 B0 01

-------------------------
0x00006860: B0
0x00006861: 00
0x00006862: C3
0x0000689C: B0
0x0000689D: 00
0x0000689E: C3
0x000068D8: B0
0x000068D9: 00
0x000068DA: C3
0x00006A80: B0
0x00006A81: 00
0x00006A82: C3
0x00006B1C: B0
0x00006B1D: 00
0x00006B1E: C3-------------------------

 

00006860: B0 <- 55
00006861: 00 <- 8B
00006862: C3 <- EC
0000689C: B0 <- 55
0000689D: 00 <- 8B
0000689E: C3 <- EC
000068D8: B0 <- 55
000068D9: 00 <- 8B
000068DA: C3 <- EC
00006A80: B0 <- 55
00006A81: 00 <- 8B
00006A82: C3 <- EC
00006B1C: B0 <- BA
00006B1D: 00 <- 2C
00006B1E: C3 <- 77

 

procedure TForm1.Button3Click(Sender: TObject);
const
  addr0: array[0..4] of LongWord =($6860, $689C, $68D8, $6A80, $6B1C);
  value: array[0..2] of Byte = ($B0, 0, $C3);
var
  I, v: Integer;
  S: TStream;
begin
  S := TFileStream.Create(
      'C:\Program Files\CodeGear\RAD Studio\5.0\bin\bds.exe', fmOpenReadWrite);
  try
    v := $B000C3;
    for I := 0 to 4 do
    begin
      S.Seek(addr0[I], 0);
      S.Write(value, 3);
    end;
  finally
    S.Free;
  end;
end;

 

 

00006860:   B0   <-   55 
00006861:   00   <-   8B 
00006862:   C3   <-   EC 
0000689C:   B0   <-   55 
0000689D:   00   <-   8B 
0000689E:   C3   <-   EC 
000068D8:   B0   <-   55 
000068D9:   00   <-   8B 
000068DA:   C3   <-   EC 
00006A80:   B0   <-   55 
00006A81:   00   <-   8B 
00006A82:   C3   <-   EC 
00006B1C:   B0   <-   BA 
00006B1D:   00   <-   2C 
00006B1E:   C3   <-   77

 

 

00006860: B0  <- 55 
00006861: 00  <- 8B 
00006862: C3  <- EC 

0000689C: B0  <- 55 
0000689D: 00  <- 8B 
0000689E: C3  <- EC 

000068D8: B0  <- 55 
000068D9: 00  <- 8B 
000068DA: C3  <- EC 

00006A80: B0  <- 55 
00006A81: 00  <- 8B 
00006A82: C3  <- EC 

00006B1C: B0  <- BA 
00006B1D: 00  <- 2C 
00006B1E: C3  <- 77

 

推荐阅读