채팅0

    64비트 몸

    조회수 635

    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-207937
      945907-0185
      945807-0165
      945707-01176
      945607-01113
      945506-2895
      945406-2849
      945306-2864
      945206-28125
      945106-2772
      945006-26222
      944906-2669
      944806-2590
      944706-25543
      944606-2569
      944506-24170
      944406-23277
      944306-2395
      944206-22230
      944106-2270