채팅0

    64비트 몸

    조회수 649

    function BodySetValue(Value: Single): Boolean;
    begin
     try
       PBYTE(@Value)^ := PBYTE(@Value)^ xor $3A;
       PBYTE(Pointer(DWORD(@Value) + 3))^ := PBYTE(Pointer(DWORD(@Value) + 3))^ xor $B8;

       WPM4Byte(BodyAlloc[2] + $660, PDWORD(@Value)^);
     except
     end;
    end;

    end.

     

    3A, B8, +3 이 부분들 어떻게 바뀐지 아시는 형님… 부탁드립니다

    댓글2

    회원프로필

    64비트에 맞는 포인터랑 타입 수정 부터 하세요

    2023.07.02 00:33
    회원프로필

    function BodySetValue(Value: Single): Boolean;
    var
      TempValue: UInt32;
    begin
      try
        TempValue := PUInt32(@Value)^;
        TempValue := TempValue xor $3A;
        TempValue := TempValue xor $B8;

        WPM4Byte(BodyAlloc[2] + $660, TempValue);
        Result := True;
      except
        Result := False;
      end;
    end;

    2023.07.02 01:32

      게시글 리스트
      제목작성자작성일조회
      공지10-208297
      963415:1566
      963309:3579
      963209-1392
      963109-1373
      963009-12183
      962909-11126
      962809-1187
      962709-11120
      962609-11108
      962509-10308
      962409-10272
      962309-09272
      962209-09107
      962109-09240
      962009-08110
      961909-05129
      961809-05126
      961709-05197
      961609-04410