가입자수

2011. 6. 16. 13:06
SLRCLUB 127만
PGR21 3.3만
PPOMPPU 35만
KMUG 20만
네이버 맥/iOS개발자 카페 6만
맥쓰사 23만
 
Posted by Parker Falcon
1. 해당 기기용 iOS5를 구합니다. (구글에서 검색하면 잘 나옵니다.)

2. iTunes 10.5 베타도 구해서 설치합니다.

3. iTunes에서 복원 버튼을 키보트에서 Shift 키나 Option키를 누른채로  누릅니다. ipsw를 선택하란 창이 뜹니다. (만약 설치가 잘 안되면 복원 버튼 대신 업데이트를 누릅니다.)

4. iOS5용 ipsw를 선택합니다. 복원이 종료되면 아이폰이 가동됩니다.

5. 홈버튼을 3번 누릅니다. Voice Over 기능이 활성 되면서 음성이 나오고 네모 박스가 생깁니다.

6. 홈버튼을 3번 누릅니다. 긴급 통화 버튼이 생기비니다.

7. 긴급 통화 버튼을 한번 탭 하고 더블 탭 하면 선택됩니다.

8. 긴급 통화로 넘어가면 알림 센터 (위에서 아래로 손가락 3개로 아래로 드래그 하면 나타납니다.) 을 엽니다.

9. 알림 센터가 나타나면 날씨 위젯을 클릭해서 날씨 어플을 띄웁니다.

10. 날씨 어플이 뜨면 홈 버튼을 눌러 종료합니다. 이제 사용하면 됩니다.


출처 : 
http://www.9to5mac.com/71059/exploit-found-to-bypass-ios-5-activation-allowing-non-developers-to-install/ 

영상 :
http://gizmodo.com/5809621/ 
Posted by Parker Falcon










델파이에서 구현해보려고 DLL용 .h 파일을 .pas로 만들어보았다.
원본 SDK는 
http://www.inexio.co.kr/07_download/download02.html

에서 받을 수 있으며 ( http://www.inexio.co.kr/pdf/sdk/Nexio_SDK_v2000.zip ) 


기본적으로는 작동되는데, 몇 가지는 의심스럽긴 하다.


아무튼 필요하시면 그냥 쓰시고, 이상해서 고쳐쓰시거든 댓글로 알려주시면 감사하겠습니다.



/////////////////////////////////////////////////////////////////////////////
//
// file inexio_multi.h
//
//
//  Version 1.10
//
//  Copyright (C) 2005-  NEXIO Co., Ltd. All rights reserved
//
// Homepage : http://www.inexio.co.kr
//
/////////////////////////////////////////////////////////////////////////////




unit NexioPlug;

interface

uses Windows, Classes;

const
  MPT_TOUCH_UP = 0;
  MPT_TOUCH_DOWN = 1;
  MPT_TOUCH_MOVE = 2;

  MTOUCH_TOUCH_UP = (MPT_TOUCH_UP); //Touch Up   OutputMulti dwstate
  MTOUCH_TOUCH_DOWN = (MPT_TOUCH_DOWN); //Touch Down OutputMulti dwstate
  MTOUCH_TOUCH_MOVE = (MPT_TOUCH_MOVE); //Touch Move OutputMulti dwstate

  // MPointElement wStatus
  INACTIVE_COORDINATE = $0000;
  ACTIVE_COORDINATE = $0001;
  IMAGE_COORDINATE = $0002;
  REJECTED_COORDINATE = $0003;

  MAX_MPOINTELEMENT = 100;
  MAX_MPOINTELEMENT_V2 = 98;

  EVENT_ARRIVED = 0; //Event arrived
  TIME_WAS_OUT = 1; //Wait time was out
  UNKNOWN_ERR = 2; //Unknown error object

  NEXIO_ROTATE_0 = 0;
  NEXIO_ROTATE_L90 = 90;
  NEXIO_ROTATE_R90 = 270;
  NEXIO_ROTATE_180 = 180;
  NEXIO_ROTATE_360 = 360;
  NEXIO_ROTATE_MIRROR_V = 1;
  NEXIO_ROTATE_MIRROR_H = 2;
type
  TMPointElement = record
    // Screen Coordinate (x,y) state
    // INACTIVE_COORDINATE, ACTIVE_COORDINATE, IMAGE_COORDINATE
    wStatus: WORD;
    wIndex: WORD; // ID of point

    // Pressed touch point width at screen coordinate (x,y)
    wXLength: WORD;
    // Pressed touch point height at screen coordinate (x,y)
    wYLength: WORD;

    wXWidth: WORD; // Reserved
    wYWidth: WORD; // Reserved

    // Pressed touch x point  at screen coordinate (x,y)
    wX: WORD;
    // Pressed touch y point  at screen coordinate (x,y)
    wY: WORD;

    wXStart: WORD;   // Reserved
    wXEnd: WORD;     // Reserved

    wYStart: WORD;   // Reserved
    wYEnd: WORD;     // Reserved
  end;




  POutputMulti = ^TOutputMulti;
  TOutputMulti = record
    // Multi-touch state
    // MPT_TOUCH_UP, MPT_TOUCH_DOWN, MPT_TOUCH_MOVE
    dwState : DWORD;

    // MAX( mX, mY)
    dwNumber : DWORD;
    // Total X coordinate count
    mX : DWORD;
    // Total Y coordinate count
    mY : DWORD;

    case Integer of
      0: (mPpointsOld : Array [0 .. MAX_MPOINTELEMENT - 1] of Array [0 .. MAX_MPOINTELEMENT - 1] of TMPointElement);
      1: (
//        mPpoints : Array[0 .. MAX_MPOINTELEMENT_V2 - 1] of Array [0 .. MAX_MPOINTELEMENT - 1] of TMPointElement;
        mPpoints : Array[0 .. MAX_MPOINTELEMENT - 1] of Array [0 .. MAX_MPOINTELEMENT_V2 - 1] of TMPointElement;
        sUsbID : Array[0 .. SizeOf(TMPointElement) * MAX_MPOINTELEMENT - 1] of char;

        wUsbID : WORD;
        wMonID : WORD;
        dwRESERVED00 : Array[0 .. 4] of DWORD;
        Reserved : Array[0 .. MAX_MPOINTELEMENT-2-1] of TMPointElement;
        dwRESERVED01 : Array[0 .. 5] of DWORD;
      );
  end;




//////////////////////////////////////////////////////////////////////////
//
// Function:    OpenNexioMulti
//
// Description:
//  Open Event of NEXIO Multi-Point TouchScreen coordinate
//
// Returns:
//  TRUE if Event Open successful, FALSE if Event fails....
//
//////////////////////////////////////////////////////////////////////////
//extern "C" __declspec(dllexport)
//BOOL __stdcall OpenNexioMulti();

function OpenNexioMulti: Boolean; stdcall; external 'MultiDll.dll' name 'OpenNexioMulti';




//////////////////////////////////////////////////////////////////////////
//
// Function:    WaitNexioMulti
//
// Description:
//  Wait Event and Touch Coordinate Output
//
// Input :
// nTime : [in] event wait time :: nTime is millisecond (INFINITE wait event infinite)
// Output :
// pBuffer : [out] pointer of touch coordinate
//
// Returns:
// EVENTARRIVED : Event arrived
// TIMEWASOUT : Wait time was out
// UNKNOWNERR : Unknown error object
//
//////////////////////////////////////////////////////////////////////////

//extern "C" __declspec(dllexport)
//int __stdcall WaitNexioMulti(DWORD nTime, OutputMulti *pBuffer);

function WaitNexioMulti(nTime: DWORD; pBuffer: POutputMulti): Integer; stdcall;  external 'MultiDll.dll' name 'WaitNexioMulti';

//////////////////////////////////////////////////////////////////////////
//
// Function:    CloseNexioMulti
//
// Description:
//  Close Event of NEXIO Multi-Point TouchScreen coordinate
//
//////////////////////////////////////////////////////////////////////////
//extern "C" __declspec(dllexport)
//void __stdcall CloseNexioMulti();
procedure CloseNexioMulti; stdcall; external 'MultiDll.dll' name 'CloseNexioMulti';





//////////////////////////////////////////////////////////////////////////
//
// Function:    NexioSetRotate
//
// Description:
//  set rotation of touch-screen
//  iRotateCode : NEXIO_ROTATE_XXX
//////////////////////////////////////////////////////////////////////////
//extern "C" __declspec(dllexport)
//void __stdcall NexioSetRotate( int iRotateCode );
procedure NexioSetRotate(iRotateCode: Integer); stdcall; external 'MultiDll.dll' name 'NexioSetRotate';





//////////////////////////////////////////////////////////////////////////
//
// Function:    NexioGetRotate
//
// Description:
//  get rotation code of touch-screen
//  return : NEXIO_ROTATE_XXX
//////////////////////////////////////////////////////////////////////////
//extern "C" __declspec(dllexport)
//DWORD __stdcall NexioGetRotate();
function NexioGetRotate: DWORD; stdcall; external 'MultiDll.dll' name 'NexioGetRotate';

implementation




// x,y : point for rotation
// mx, my : width, height of screen
// fRatio : mx / my ( ratio in float )
// dwRotateAngle : angle in degree (NEXIO_ROTATE_XXX)

procedure nxRoratePoint(var x, y: Integer; mx, my: Integer; fRatio: Real; dwRotateAngle: DWORD);
var
  x0, y0: Integer;
begin
x0 := x;
y0 := y;
case dwRotateAngle of
    NEXIO_ROTATE_0:
      Exit;
    NEXIO_ROTATE_L90:
    begin
      x := Trunc( mx - y0 * fRatio );
      y := Trunc( x0 / fRatio );
      Exit;
    end;
    NEXIO_ROTATE_180:
    begin
      x := Trunc( mx - x0);
      y := Trunc( my - y0);
      Exit;
    end;
    NEXIO_ROTATE_R90:
    begin
      x := Trunc( y0 * fRatio );
      y := Trunc( my - x0 / fRatio);
      Exit;
    end;
    NEXIO_ROTATE_360:
    begin
      x := Trunc( y0 * fRatio);
      y := Trunc( x0 / fRatio );
      Exit;
    end;
    NEXIO_ROTATE_MIRROR_V: //mirror vertical
    begin
      y := my - y0;
      Exit;
    end;
    NEXIO_ROTATE_MIRROR_H: //mirror horizontal
    begin
      x := mx - x0;
      Exit;
    end;
  end;

end;





end.
Posted by Parker Falcon
인터넷 익스플로어의 일부 기능이 정상적으로 작동하지 않는 경우가 있다.

특히 윈도XP를 예전에 설치하여 업데이트를 한 컴퓨터의 경우 종종 말썽이 있었다.

원인은 actxprxy.dll 이 없어서 그런 것이며, 1000대 PC중 3대 정도 발견했다.

왜 없는지는 모르겠다.

아무튼 없어서 그랬다.

혹시나 IE6인데 미리보기 / 문서 내 찾기 에서 스크립트 오류 뜨는 경우는, 기본적으로 몇 가지 파일들 (특히 actxprxy.dll ) 이 있는지 확인해보자.
Posted by Parker Falcon
DLL에서 동적으로 불러오는 bpl 파일을 exe에 정적으로 포함시키면 문제가 될 수 있다.
겹치는 패키지는 프로젝트 옵션에서 Runtime Package 로 빼두도록 하자.
Posted by Parker Falcon

vim regex

2010. 12. 4. 11:29
s/\(.\{32}[^."?!]\{3}\)\n/\1/g
강제 엔터 친 글 붙이기
Posted by Parker Falcon
구글 크롬에서 Mouse Gesture 을 사용하면 이상하게 처리됩니다.
jQuery로 간단하게 처리하세요.

jQuery('div#ChromeGesture-BackgroundSupportElement').css('position', '').css('height','').css('width','');

Posted by Parker Falcon
자동으로 USB 저장장치를 백업하는 프로그램입니다.
USB메모리를 꽂으면 자동으로 정해진 폴더에 날짜 및 시간으로 폴더를 만들어 해당 USB에 파일을 백업하는 프로그램입니다. 특히 SD카드같은것을 여러개 백업할 일이 있으실 때 매우 편리합니다.
자동으로 생성되는 폴더는 일반적으로 내 문서 아래에 OhMyUSBCloner 밑에 날짜 및 시간으로 폴더가 생성됩니다. 만약 잘 안되는 부분이 있으면 내 문서 폴더 아래에 OhMyUSBCloner 밑에 해당 날짜.log 로 생성된 로그파일을 같이 첨부해서 보내주시면 참고하겠습니다.



다운로드



Posted by Parker Falcon
업데이트 도중 에러가 나서 Update 프로그램이 뻗으면 이렇게 된다.

작업관리자 ( 시작 -> 실행 ->  taskmgr 또는 Ctrl + Shift + Esc) 에 들어가서

BlizzardDownloader.exe 를 강제 종료 시킨 다음 다시 스타크래프트2 를 실행시킨다.

만약 이렇게 해도 정상적으로 실행이 안되면 스타크래프트2가 설치된 경로 (보통 C:\Program Files\Starcraft II\ ) 에 가서

Updates 폴더를 비운 다음 다시 실행을 한다.


기타 문의 사항은 블리자드 고객 지원에 문의하면 된다.

( http://kr.blizzard.com/support/index.xml?locale=ko_KR&gameId=13 )
Posted by Parker Falcon

2010년 여름 맞이 내일로 여행을 다녀온 뒤 만든 영상입니다.


PENTAX K-x / SMC-A 50mm F1.2, SMC-DA L 18-55, SAMYANG POLAR 85mm F1.4
Apple iMovie 09 / Motion

'Analog Life' 카테고리의 다른 글

우리말 관용 표현 모음  (1) 2011.11.14
[한국영화/2011] 카운트다운  (0) 2011.10.03
2010 내일로 여행 후기 영상 #1 민둥산역 편  (0) 2010.08.06
먹으러 갈 곳  (0) 2009.08.02
2009년 내일로 떠나는 여행 UCC  (0) 2009.07.29
Posted by Parker Falcon