Admin | Write | GuestBook
[공지] 해당 블로그에 용건이 있으신 분께서는 http://blog.fore.kr/ 의 방명록(Guestbook)으로 부탁드립니다.
[Javascript] referrer 를 통한 웹사이트 접근 금지
Category : Programming/Programming Talk | URL : | Written by 포레 ( 2011. 10. 15. 18:06 ) | 신고


<script>

 function lstrlenA(str1){
    var i;
    for(i=0;str1[i];i++);
    return i;
 }

 function lstrncmpiA(str1,str2,n){
    var i,a,b;

   
if ( str1[0] == undefined && str2[0] == undefined )
       return 0;
    else if ( str1[0] != undefined && str2[0] == undefined )
       return 1;
    else if ( str1[0] == undefined && str2[0] != undefined )
       return -1; 

   
for(i=0;i<n;i++){
       a = ((str1[i]>='a'&&str1[i]<='z')?(str1[i]-('a'-'A')):str1[i]);
       b = ((str2[i]>='a'&&str2[i]<='z')?(str2[i]-('a'-'A')):str2[i]);
       if ( a > b ){
          return 1;
       }
       if ( a < b ){
          return -1;
       }
    }

   
return 0;
 }

 function ReferrerCheck(Referurl,Gotourl){
   if ( !lstrncmpiA(document.referrer,Referurl,lstrlenA(Referurl)) ){
       location.replace(Gotourl);
    }
 }

 ReferrerCheck("http://foreblog.wo.tc/","about:blank");


 </script>


자바 작성하는거도 엄청 오랜만인듯 . . . 허허 . . .

무지하면 손발이 고생하지요 . . .

분명 찾아보면 strlen 함수 비슷한 함수가 나올거 같은데

찾는거보다 직접 작성하는게 빠를거 같아서 손수로 작성 ㄱㄱ



사실, 위 소스 작성한 이유계기가

모 사이트에서 계속 접근 (일방적으로???)접근금지 시키는줄 알고

대응해서 저도 대충 접근금지 시키려고 했는데

알고보니, 접속방법이 따로 있었다던 이야기가 . . .


Route2Loader
Category : Programming/Release Program | URL : | Written by 포레 ( 2011. 8. 20. 23:27 ) | 신고

 


2012년 01월 01일부터 포레의 블로그에서 다운로드 링크 제공을 중단합니다.

위에 대한 자세한 사항은 http://cafe.naver.com/msnlovely/87487 을 참고바랍니다.

이 로더는 Route2 사에서 제작한 게임중 위와 같은 메시지를 회피하기 위한 로더입니다.

퍼가실 때에는 출처를 반드시 남겨주시고

가능하시면 본 블로그 링크 다운으로 부탁드립니다.
( 투데이라도 올려야 . . . ! ㅠㅠ )

< 12/03/11 02:05 업데이트 >
- Route2Loader 구조 변경

 


< 15/07/07 03:58 업데이트 >

 獣魔戦姫エクセリア 엔진 적용.



────────────────── 프로그램 설명 ───────────────── 

설명전에 가능하면 위 프로그램을 NTLEA과 같이 사용하시는걸 권장합니다.

여태까지 제작한 로더중 제일 실행방법이 까다로운편입니다.

실행시키는 방법은 총 3가지가 있습니다.



1. 더블클릭 실행

더블클릭 실행하시는 경우, 현재 로더의 파일이름에 '_' 이란
문자가 붙어 있는 프로그램을 실행하게 됩니다.

예를 들면

Loader.EXE -> _Loader.EXE 파일을 실행함.
C:\SYSTEM\[110820]Loader.exe -> C:\SYSTEM\_[110820]Loader.exe 

따라서, A.EXE에서 B.EXE 파일을 실행시키는 경우

A.EXE, B.EXE(Loader), _B.EXE(B.EXE원본)으로 두시면 사용 가능합니다.




2. 커멘드라인 실행 (1)

 



윈도우키 > 실행 > cmd 하신 후 해당 프로그램의 경로로 가서

" [110820]Route2Loader.EXE -open " 라고 엔터치면 아래와 같은 화면이 나옵니다.

 


그럼 실행하고자 하는 파일을 집어서 실행하시면 됩니다.

※위 첨부한 [110820]_Route2Loader_OpenCmdRun.exe 파일로 실행해도 위와 같이 나오나
[110820]_Route2Loader_OpenCmdRun.exe 파일이 실행되기 위해선 Loader 파일 이름은 반드시
[110820]_Route2Loader.exe 이여야하고 로더와 같은 폴더 안에 있어야 합니다.



3. 커멘드라인 실행 (2)

 


윈도우키 > 실행 > cmd 하신 후 해당 프로그램의 경로로 가서

" [110820]Route2Loader.EXE [실행하고자하는 파일 이름] " 치고 엔터누르시면 실행됩니다.

 ──────────────────────────────────────── 

위 프로그램 제작에 도움을 주신 분들께 감사의 말씀 드립니다.

- Windows 7 실행 확인 : 나루징님


'Programming > Release Program' 카테고리의 다른 글

Switch Run  (2) 2012.09.14
Fore database list creater beta 1.0v  (2) 2012.09.06
네이트온 로그인 기록 제거 프로그램  (8) 2011.11.20
RLSE Loader ( No Region Loader )  (36) 2010.08.29
FVP 엔진 실행 로더  (82) 2010.07.19
魔法戦士フェアリーメイズ Patch
Category : Programming/Release Patch | URL : | Written by 포레 ( 2011. 8. 8. 07:31 ) | 신고







위와 관련된 프로그램 : Route2Loader ( http://foreblog.tistory.com/513 )

급한대로 올리고 출근하겠습니다 [ . . . ]

실행은 NTLEA 으로 . . . .

NoDVD 패치 사용하시는 분들은
 
위 FMSPatch 사용 후 사용하기 바랍니다.


모처럼이니까 !
Category : Programming/Programming Talk | URL : | Written by 포레 ( 2011. 8. 7. 23:10 ) | 신고


[클릭하시면 이미지가 확대됩니다.]

이거 질문 말은 쉽지, 피토나오는 작업인데 말이죠 ㅠㅠ

그래서 해봤습니다 [ . . .]



 #include <windows.h>
 #include <stdio.h>
 #include <io.h>

 #define FFH_FILE_MAPPING_INVAILD    1000
 #define FFH_GET_FILENAME_FAIL     1001
 #define FFH_FIND_VOLUME       1002

 typedef DWORD (WINAPI *pGetMappingFileNameW)(HANDLE,LPVOID,LPWSTR,DWORD);
 DWORD WINAPI GetMappedFileNameW(  HANDLE hProcess,
                    LPVOID lpv,
                    LPWSTR lpFilename,
                    DWORD nSize)
{
 HMODULE   hMod = LoadLibraryA("PSAPI.DLL");
 DWORD   dwReturn;

 dwReturn = ((pGetMappingFileNameW)GetProcAddress(hMod,"GetMappedFileNameW"))
                              (hProcess,lpv,lpFilename,nSize);

 FreeLibrary(hMod);

 return dwReturn;
}

 DWORD WINAPI GetFileNameFromHandleW(HANDLE hFile,LPWSTR lpFileName,SIZE_T nSize){
   HANDLE          hMapFile;
   LPVOID         hMem;
   LPWSTR         lpString;

   HANDLE         hVolume;
   WCHAR                wcVolName[MAX_PATH+1];
   WCHAR                wcDrivers[MAX_PATH+1];

   LPWSTR              lpFullFileName;

   DWORD               dwReturn;
   BOOL                  bResult;

   DWORD                i;

 hMapFile = CreateFileMappingW(hFile,NULL,PAGE_READONLY,0,1,NULL);
 if ( !hMapFile )
  return FFH_FILE_MAPPING_INVAILD;
 hMem = MapViewOfFileEx(hMapFile,FILE_MAP_READ,0,0,1,NULL);
 lpString = (LPWSTR)HeapAlloc( GetProcessHeap(),
                HEAP_ZERO_MEMORY,
                (nSize+1)*sizeof(WCHAR) );
 dwReturn = GetMappedFileNameW(GetCurrentProcess(),hMem,lpString,nSize);
 UnmapViewOfFile(hMem);
 CloseHandle(hMapFile);

 if ( !dwReturn ){
  HeapFree(GetProcessHeap(),0,lpString);
  return FFH_GET_FILENAME_FAIL;
 }

 bResult = TRUE;
 ZeroMemory(wcVolName,(MAX_PATH+1)*sizeof(WCHAR));
 hVolume = FindFirstVolumeW(wcVolName,MAX_PATH);
 if ( hVolume == INVALID_HANDLE_VALUE ){
  HeapFree(GetProcessHeap(),0,lpString);
  return FFH_FIND_VOLUME;
 }

 do{
  ZeroMemory(wcDrivers,(MAX_PATH+1)*sizeof(WCHAR));
  GetVolumePathNamesForVolumeNameW(wcVolName,wcDrivers,MAX_PATH,&dwReturn);
  ZeroMemory(wcVolName,(MAX_PATH+1)*sizeof(WCHAR));
  for(i=0;i<dwReturn;i++)
    if ( wcDrivers[i] == L'\\' )
     wcDrivers[i] = 0;
  if ( QueryDosDeviceW(wcDrivers,wcVolName,MAX_PATH) ){
   if ( !wcsncmp(lpString,wcVolName,wcslen(wcVolName)) ){
     lpFullFileName = (LPWSTR)HeapAlloc( GetProcessHeap(),
                       HEAP_ZERO_MEMORY,
                  (wcslen(wcDrivers)*wcslen(lpString)+1)*sizeof(WCHAR));
    wsprintfW(lpFullFileName,L"%s%s",wcDrivers,&lpString[wcslen(wcVolName)]);
    wcsncpy(lpFileName,lpFullFileName,nSize);
    HeapFree(GetProcessHeap(),0,lpFullFileName);
    bResult = FALSE;
    break;
   }
  }
  ZeroMemory(wcVolName,(MAX_PATH+1)*sizeof(WCHAR));
 }while(FindNextVolumeW(hVolume,wcVolName,MAX_PATH));
 FindVolumeClose(hVolume);

 HeapFree(GetProcessHeap(),0,lpString);

 return (DWORD)bResult;
}

DWORD WINAPI GetFileNameFromFileStructW( FILE *fp,
                      LPWSTR lpFileName,
                      SIZE_T nSize)
{
 // fp->_file == _fileno(fp)
 return GetFileNameFromHandleW((HANDLE)_get_osfhandle(fp->_file),lpFileName,nSize);
}


LPWSTR WINAPI GetFileNameSplitW(LPWSTR lpString){
 DWORD    dwString = wcslen(lpString);
 LPWSTR    _lpString = lpString;

 lpString = lpString + dwString;

 while(dwString){
  if ( *lpString == L'\\' )
   break;
  dwString--;
  lpString--;
 }
 if ( *lpString == L'\\' ){
  return (lpString+1);
 }

 return _lpString;
 }

 int main(void){
 FILE      *fp;
 WCHAR    Path[MAX_PATH+1];

 fp = fopen("1.jpg","rb");
 if ( !fp )
  return 0;
 GetFileNameFromFileStructW(fp,Path,MAX_PATH);
 fclose(fp);

 wprintf(L"%s\n%s\n",Path,GetFileNameSplitW(Path));
 system("pause");

 return 0;
 }



참 쉽죠 ?

※ 미리 글 올려놓고 추후에 주석달겠습니다.

妄想ぷろとこる! -姫×巫女×ロボ- Patch
Category : Programming/Release Patch | URL : | Written by 포레 ( 2011. 1. 30. 11:46 ) | 신고







위와 관련된 프로그램 : Route2Loader ( http://foreblog.tistory.com/513 )

3개다 NTLEA 로 실행시기 바랍니다.

DLPSetupCrack.exe => 인스톨시 지역오류 회피 크랙
( 씨디넣고 NTLEA로 실행하시면 적용됩니다. )

DLPRegionPatch.exe => 본게임 지역오류 패치 파일

DLPPRMRegionPatch.exe => 엑스트라 디스크 지역오류 패치 파일



Category
분류 전체보기 (605)
Notice (6)
Programming (79)
DISKER (1)
FSCH (7)
Caption (0)
Rest Time ! (443)
Hobby (64)
Tour (5)
Blind Post (0)
Recent Post
Recent Comment
Link
Calender
«   2025/02   »
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
Total :
Today :
Yesterday :