Code/Desktop

Cheat Engine 컴파일 방법

codens 2014. 6. 29. 20:55

치트엔진 빌드(build, compile)
http://www.cheatengine.org/


CheatEngine64src,PASS-1.7z




//=============
* 소스 다운로드
svn checkout http://cheat-engine.googlecode.com/svn/trunk/ cheat-engine-read-only

Win32svn(Subversion for Windows) 설치
http://sourceforge.net/projects/win32svn/

"C:\Program Files (x86)\Subversion\bin\svn.exe" checkout http://cheat-engine.googlecode.com/svn/trunk/ cheat-engine-read-only



//=================
< 빌드 >
* CheatEngine
- Lazarus ( 오픈 소스 파스칼 IDE, 델파이 호환) 설치
http://www.lazarus.freepascal.org/

- 프로젝트 파일 로드
    src\Cheat Engine\cheatengine.lpi



//============================================
* DBKKernel
- 환경 : Windows DDK 버전 : 7600.16385.0

- WinDdk 환경변수 설정
C:\WinDDK\7600.16385.1\bin\setenv.bat  C:\WinDDK\7600.16385.1 fre WIN7

- Visual Studio 환경변수 설정 <-- 필요없음, 그냥 참고만
vc6의 경우 "C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
    - ml.exe(Macro Assembler)가 없음
vs10의 경우 "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat"


- 컴파일
cd D:\CheatEngine\src\DBKKernel\
D:\CheatEngine\src\DBKKernel\ce.bat

- 에러 처리
    error C2220: warning treated as error - no 'object' file generated
        -> source.ce 파일 편집
        -> MSC_WARNING_LEVEL = /W0  <--- 라인 추가, /WX를 없앤다

- 파일복사
copy "D:\CheatEngine\src\DBKKernel\.obj\cheatengine\src\dbkkernel\objfre_win7_x86\i386\dbk.sys"  "D:\CheatEngine\src\Cheat Engine\bin\dbk32.sys"



* mykerneldriver.sln 를 통한 컴파일 -> 결국 실패
    - 프로젝트에서 파일 제외
        - *.asm,
        - Server/Client 모듈 : cetc.c, cetc.h
        - newopcodes.c 제거
    - Include 경로 추가 :
C:\WinDDK\7600.16385.1\inc\ddk;C:\WinDDK\7600.16385.1\inc\api;C:\WinDDK\7600.16385.1\inc\crt;
   
    - Libary 경로 추가 :
C:\WinDDK\7600.16385.1\lib\win7\i386;


    - 에러처리
unresolved external symbol __imp__IoDeleteDevice referenced in function
ntdll.lib;ntoskrnl.lib;hal.lib;
    -> 결국 해결 안됨 -> VisualDDK 이용

* VisualDDK 이용한 컴파일
http://articles.sysprogs.org/visualddk/firstdriver/
    - 다운받아서 설치후 프로젝트 생성
    - DBKKernel의 파일을 프로젝트에 포함



반응형