치트엔진 빌드(build, compile)
http://www.cheatengine.org/
//=============
* 소스 다운로드
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의 파일을 프로젝트에 포함
'Code > Desktop' 카테고리의 다른 글
Visual Studio 2013 (VC 12) 설치 설정 (0) | 2014.09.14 |
---|---|
VisualStudio Projet 이름 변경 방법 (0) | 2014.08.28 |
VirtualAlloc, VirtualProtect 사용법 (0) | 2014.06.29 |
cURL 사용법 (0) | 2014.06.21 |
이더넷 패킷 구조 (0) | 2014.06.17 |