Find Jobs
Hire Freelancers

Scalability extensions to existing cpp library

$250-750 USD

종료됨
게시됨 11년 이상 전

$250-750 USD

제출할때 지불됩니다
Hello, This job is to scale up an existing library. Since the library itself is pre-release and I have made no decision about its licencing.. there should be enough information for you to do this with your own test setup. The code you do need to know about is as follows (MSVC C++ 2008) Note the two parallel naming schemes and that currently I am only interested in win32 not x64. The "_w32" part is fixed. The next "_32" could be "_64" and describes whether the code block should run because OS is 32 or 64 bit. The next version number is the Windows version number; the following and final version number is the exe file version of [login to view URL] The purpose of the code below is to provide a targeted __fastcall (MS) equivalent of the real [login to view URL] function which is simplified as much as possible. The way I approach this is to test: under the debugger with the MS Symbol Servers switched on (Tools->Options somewhere) I trap common function calls into [login to view URL] and then step through the actual system code, identifying the code path normally followed. If the result is consistently that any portion (even one line of code) of the real user function never gets executed, omit it from- (and re-optimise) your bytecode. All I need in terms of delivery is incremental namespaced blocks using exactly the same style as the example until there are something like 50 separate equivalents. Finally, note that your replacement functions are (MS) __fastcall and not __stdcall as they are in [login to view URL] namespace _GetSysColor_w32_32_6_DOT_7601_811520_6_DOT_1_DOT_7601_DOT_17514 { #ifndef _WIN64 #define _BYTEALIGN 0x90, 0x90, 0x90, 0x90, 0x90 static const BYTE _ALIGNARRAY[] = {_BYTEALIGN}; static BYTE _FN[] = { _BYTEALIGN, 0xB8, 0x00, 0x00, 0x00, 0x00, // mov eax, dword ptr [_baseaddress] 0x8B, 0x80, 0xF4, 0x90, 0x06, 0x00, // mov eax, dword ptr [eax + 0x000690F4] 0x8B, 0x84, 0x88, 0x54, 0x09, 0x00, 0x00, // mov eax, dword ptr [eax + ecx*4 + 0x00000954] 0xC3 // ret }; static void __fastcall _PREP() { // FIXUPS *(LPDWORD)(&_FN[sizeof(_ALIGNARRAY)] + 1) = _baseaddress; // MAKE EXECUTABLE DWORD old; VirtualProtect(_FN, sizeof(_FN), 0x40, &old); // ADD TO TREE [login to view URL]("GetSysColor_w32_32_6.1.7601_811520_6.1.7601.17514", &_FN[sizeof(_ALIGNARRAY)]); } #undef _BYTEALIGN Hopefully the example is self-explanatory. Many thanks.
프로젝트 ID: 4120814

프로젝트 정보

3 제안서
원격근무 프로젝트
활동 중 11년 전

돈을 좀 벌 생각이십니까?

프리랜서 입찰의 이점

예산 및 기간 설정
작업 결과에 대한 급여 수급
제안의 개요를 자세히 쓰세요
무료로 프로젝트에 신청하고 입찰할 수 있습니다
3 이 프로젝트에 프리랜서들의 평균 입찰은 $483 USD입니다.
사용자 아바타
I can do this
$700 USD 7일에
0.0 (0 건의 리뷰)
0.0
0.0
사용자 아바타
consider it done.!!! check pm.
$250 USD 12일에
0.0 (0 건의 리뷰)
0.0
0.0
사용자 아바타
Can do very easily,
$500 USD 10일에
0.0 (0 건의 리뷰)
2.6
2.6

고객에 대한 정보

국기 (UNITED KINGDOM)
United Kingdom
0.0
0
결제 수단 확인
1월 12, 2013부터 회원입니다

고객 확인

감사합니다! 무료 크레딧을 신청할 수 있는 링크를 이메일로 보내드렸습니다.
이메일을 보내는 동안 문제가 발생했습니다. 다시 시도해 주세요.
등록 사용자 전체 등록 건수(일자리)
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
미리 보기 화면을 준비 중...
위치 정보 관련 접근권이 허용되었습니다.
고객님의 로그인 세션이 만료되어, 자동으로 로그아웃 처리가 되었습니다. 다시 로그인하여 주십시오.