BLOG main image
분류 전체보기 (145)
궁시렁 (41)
컴쟁이의 연구실 (66)
리버싱 (21)
배워보자 (3)
좋은 곳 (10)
seyool님의 언팩미#1 들여다보기.
jz in reverse engineering
MS API 드래프트 제 1버전 공개
낚시광준초리의 Blog 세상(IT-Fo..
[Kernel] KeServiceDescriptorTa..
我好电脑,我是一名的程序设计员..
SSDT에 대한 고찰
::거듭나기::
불필요한 관심
^0^range.Net - 신은 불공평하다..
141,652 Visitors up to today!
Today 12 hit, Yesterday 22 hit
daisy rss
^0^range.net
'msdelta'에 해당되는 글 1건
2008/03/11 19:37
msdelta 는 기존 mspatch 를 좀더 발전시킨 delta생성 라이브러리이다.
Vista에서부터 사용된다고 한다.
관련 샘플 소스를 검색해보았는데, 없는거 같아서 간단히 맹글어 보았다.
제대로 쓰는건지 모르겠다. -_-;
비싼 RTPatch 사서 쓰는것 보다 어쩌면 더 좋은 효과를 볼 수 있을 거 같다.

#include "stdafx.h"
#include 
#include "msdelta.h"

#pragma comment(lib, "msdelta.lib")


int _tmain(int argc, _TCHAR* argv[])
{
	DELTA_INPUT GlobalOpt = {NULL, 0};

	LPCTSTR	SrcName	= _T("myapp_v1.exe");
	LPCTSTR	DestName	= _T("myapp_v2.exe");
	LPCTSTR DeltaName	= _T("myapp_patch.dat");
	LPCTSTR NewName	= _T("patched_myapp_v2.exe");


	//
	//	Generate delta file
	//

	BOOL bSucc = CreateDelta( DELTA_FILE_TYPE_RAW, 
			        DELTA_FLAG_NONE,
			        DELTA_FLAG_NONE,
			        SrcName,
			        DestName,
			        NULL,
			        NULL,
			        GlobalOpt,
			        NULL,
			        CALG_MD5,
			        DeltaName );

	if ( !bSucc )
	{
	    _tprintf( _T("Error: %d\n"), GetLastError() );
	}


	//
	//	Apply patch
	//

	bSucc = ApplyDelta( DELTA_FLAG_NONE,
			  SrcName,
			  DeltaName,
			  NewName );

	if ( !bSucc )
	{
	    _tprintf( _T("Error: %d\n"), GetLastError() );
	}


	return 0;
}

라이브러리 다운로드:
Microsoft SDK v6 참고하세요~



참고:
http://www.codeproject.com/KB/applications/patch.aspx
http://msdn2.microsoft.com/en-us/library/bb267312.aspx
http://dalhee.wowdns.com/tt/somy/entry/Binary-Delta-Compression-델타-생성적용-업데이트의-중요한-부분
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback Address :: http://0range.net/trackback/227 관련글 쓰기
BlogIcon chp | 2008/03/13 17:23 | PERMALINK | EDIT/DEL | REPLY
MS에서 이런 라이브러리도 내놓는군요 :p
BlogIcon seyool | 2008/03/15 23:02 | PERMALINK | EDIT/DEL
chp님 오랜만이군요 :)
delta생성하는데 메모리를 꽤 많이 소모하는거 같네요.
큰 파일은 실패하네요
chpie | 2008/03/26 15:43 | PERMALINK | EDIT/DEL | REPLY
ㅠ_ㅠ....
BlogIcon seyool | 2008/03/27 10:43 | PERMALINK | EDIT/DEL
힘내십시요~~ ^^;
BlogIcon 누비 | 2008/05/29 11:39 | PERMALINK | EDIT/DEL | REPLY
이건 뭐밍 용도가 뭐야 ㅋㅋ
BlogIcon seyool | 2008/05/29 23:13 | PERMALINK | EDIT/DEL
msdelta는요..
가령 A.exe(1) 가 버젼업 되어서 A.exe(2)가 되었을때
둘 사이의 차이점만 찾아서 전송하면 전송시간이 빨라지겠지요.
뭐 unix계열의 diff, patch가 text뿐만 아니라 binary도 된다고 생각하시면 될거에요
BlogIcon vbdream | 2008/08/31 20:31 | PERMALINK | EDIT/DEL | REPLY
적당히 실시간 원격 화상 전송 프로그램에서 쓰면 딱이겠네요 ㅋㅋ
Name
Password
Homepage
Secret
prev"" #1 next