이번에 환이매크로를 만들면서 고민햇던것이, 게임이 아닌 단순한 글을 쓸 수 있는 에딧박스라면 keybd_event함수를 이용하지않고서 SendMessage로 WM_CHAR나 WM_IME_CHAR메세지만 날려주면 문자열을 입력하는 효과를 줄 수 있다. 하지만 게임에서 SendMessage나 PostMessage같은 함수들은 엔프로텍트나 각종 가드프로그램에서 막아버린다. 또한 막지 않는다고 해도 게임속 에딧박스의 핸들을 얻을 수 있는 방법을 찾을수가 없엇다. 따라서 게임을 창모드로 하고서 keybd_event함수를 이용하면 키입력이 가능하다는것을 알아냇다. 그래서 keybd_event 함수를 이용하여 타이핑하는 효과를 주엇더니 원하는 결과가 나왔다. 하지만 여기서 문제가 하나 발생햇는데, 영문을 타이핑할때는..
컴퓨터를 구체적으로 안배우신 분들도 DLL이란것들 많이 들어보고 보셨을겁니다. 어떤 프로그램을 설치하고 그 설치폴더에 가보면 많은 DLL파일들이 있죠. 그럼 이 DLL확장자를 가진 파일들이 어떤 역할을 하는지 알아봅시다. 라이브러리 프로그램을 C나 C++로 작성하고 컴파일을 하고 실행파일이 만들어지면 그 실행파일을 실행하면 작성한대로 실행이 됩니다. 작성을 하다보면 scanf나 printf, strcpy 등 여러가지 함수들을 사용하게 되는데요, 이런 함수를 사용하기 위해서 우리가 직접 저 함수들을 만들거나 하지는 않습니다. 단순히 가져다가 쓰기만하죠. 저런 함수들은 모두 라이브러리에 포함된 것들이고, 우리는 저런 함수들을 사용하기 위해 만들필요도 없고 자세한 로직을 몰라도 쓰는방법만 알아내서 사용햇습니다..
crypt 함수를 이용하여 /etc/shadow에서 리눅스 패스워드 정보를 가져와서, 사전대입공격 또는 무차별대입공격 중 선택하여 패스워드를 크랙킹한다. vi로 짜고 gcc로 컴파일했음.. 전에 농협해킹사건때 비밀번호가 1이라고 하던데 제 리눅스 패스워드 해시 방식이 sha512인데, 실제로 1로 하고 돌려보니 1초 되기전에 나옴. #include #include #include #include #include #include typedef struct _USERPWDINFO{ char* pName; char* pHash; } USERPWDINFO; int Carry(char** pWord, int nLength); USERPWDINFO* GetUserPwdInfo(char* pName); bool Co..
일반적으로 리눅스에서 APM을 설치후에, PHP를 이용하여 루트권한의 일을 하려고 하면은 실행이 안된다. 그러면 아파치서버의 실행권한을 설정하기 위하여 /etc/httpd/conf/httpd.conf 파일을 수정하여야 한다. User 부분과 Group 부분을 root로 바꾸고 한번 httpd 데몬을 재시작 해보자. 오류가 나는것을 볼 수 잇다. 저것을 읽어보면 루트로할려면 -DBIG_SECURITY_HOLE 를 환경변수로 설정하고 컴파일하라네요.. 소스파일 컴파일전에 CFLAGS="-DBIG_SECURITY_HOLE" export CFLAGS 해주시고 컴파일 해주시면 됩니다..
53초만에 93억쓰고 1등.
API로 프로그램을 만들다보면 글자 찍을 일이 많습니다. 그런데 내 컴퓨터에 설치되어있는 폰트가 다른사용자의 컴퓨터에는 설치가 되어 있지 않아서 만들때는 멋잇엇는데, 실제로 다른 컴퓨터에서 실행해보면 누추한 경우가 있습니다. 이럴때 GDI와 GDI+ 에서의 폰트파일을 경로를 지정하여 로드하는 함수가 있습니다. GDI AddFontResource("파일명"); RemoveFontResource("파일명"); AddFontResource("파일명"); 가 호출되면 호출된 시점부터 RemoveFontResource("파일명");가 호출되거나, 컴퓨터가 제부팅 되기 전까지는 해당 파일명을 가지는 폰트를 사용할 수 있습니다. GDI+ 이것때문에 고생을 했는데, GDI+에서 폰트를 만들고 글자를 찍으면 AddFon..
어목
컴퓨터 전원의 파워버튼을 누른후에 리눅스가 부팅되기까지 그 중간 중간에 어떤 과정들이 있는지 알아보자. 1. 시스템의 전원이 들어옵니다. 컴퓨터의 파워 서플라이에서 메인보드, 각종하드웨어에 전원을 공급합니다. 그 전기의 흐름이 CPU에 전달되어 CPU에 있는 이전 레이스터들의 값들을 초기화 시킵니다. 그리고선 CPU의 PC는 대게 0xF000으로 초기화되게 됩니다. 0xF000은 롬 바이오스의 부트 프로그램 주소값 입니다. 2. BIOS의 실행. 이제 부팅이 되기 시작하면 바이오스가 실행되어 CPU의 이상유무와 기본테스트가 수행됩니다. 이 기본테스트에서의 테스트값이 ROM에 미리 저장되어있는 정상값과 일치하게되면 자가진단이 실행됩니다. 이것을 POST라고 합니다. 여기서 POST과정이 무엇인지 알아봅시다..
- Total
- Today
- Yesterday
- WL-54G
- 스터디_발표자료
- c#
- Programing
- 구글
- PSP
- 소니
- 데몬
- WPF
- Programming - C
- ffmpeg
- KAI
- TCP/IP
- 녹화
- 가상드라이브
- Operation System
- 프로그래밍
- 백신
- 인코더
- V3
- 유마일
- API 프로그래밍
- GAME
- 하이퍼큐브
- Programming - C / C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |