[16.06.25] 한글 배포용 문서의 모든 것

Hyeonmin Park
Hyeonmin ParkCEO & Founder at KENNYSOFT
1본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 .
목차
배포용 문서란?
배포용 문서의해제
미래
참고 문헌
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 2
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 3
배포용 문서
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 4
배포용 문서 (Cont’d)
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 5
[배포용 문서로 저장]는 고쳐선 안 될 문서에 대하여
내용을 변경하지 못하도록 만들어 줍니다.
http://help.hancom.com/hoffice/webhelp/9.0/ko_kr/hwp/file/send_to_mail/publish(save).htm
배포용 문서 (Cont’d)
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 6
[배포용 문서로 저장]는 고쳐선 안 될 문서에 대하여
내용을 변경하지 못하도록 만들어 줍니다.
http://help.hancom.com/hoffice/webhelp/9.0/ko_kr/hwp/file/send_to_mail/publish(save).htm
내용 변경하기
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 7
한/글 자체의 버그를 사용하기
파일을 직접 변경하기
한/글 자체의 버그 사용하기
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 8
http://850530.tistory.com/185
한/글 자체의 버그 사용하기 (Cont’d)
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 9
http://850530.tistory.com/185
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 10
기초 지식
Seed 찾기
난수 배열 만들기
해시코드 추출하기
해시코드로 복호화하기
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 11
기초 지식
Seed 찾기
난수 배열 만들기
해시코드 추출하기
해시코드로 복호화하기
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 12
기초 지식
CompoundFileBinaryFormat
 objidl.h의IStorage,IStream사용
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 13
IStorage *storage,*substorage;
IStream *header,*info;
StgOpenStorageEx(path,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,STGFMT_STORAGE,0,NULL,0,IID_IStorage,(void**)&storage);
storage->OpenStream(L"FileHeader",NULL,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,NULL,&header);
header->Seek(li(36),STREAM_SEEK_SET,NULL);
header->Read(buffer,1,NULL);
header->Seek(li(36),STREAM_SEEK_SET,NULL);
header->Write(buffer,1,NULL);
storage->OpenStream(L"DocInfo",NULL,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,NULL,&info);
storage->DestroyElement(L"BodyText");
storage->RenameElement(L"ViewText",L"BodyText");
storage->OpenStorage(L"BodyText",NULL,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,NULL,0,&substorage);
substorage->EnumElements(0,NULL,0,&enumstat);
storage->OpenStorage(L"Scripts",NULL,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,NULL,0,&substorage);
storage->OpenStorage(L"DocHistory",NULL,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,NULL,0,&substorage);
li : int → LARGE_INTEGER / uli : int → ULARGE_INTEGER
기초 지식
Seed 찾기
난수 배열 만들기
해시코드 추출하기
해시코드로 복호화하기
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 14
SEED 찾기
HWPTAG_DISTRIBUTE_DOC_DATA의첫4바이트
 SectionN스트림에서의 구조
 0~3바이트:레코드헤더
 4~7바이트:SEED
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 15
stream->Seek(li(4),STREAM_SEEK_SET,NULL);
stream->Read(data,256,NULL);
seed=(data[3]<<24)+(data[2]<<16)+(data[1]<<8)+data[0];
기초 지식
Seed 찾기
난수 배열 만들기
해시코드 추출하기
해시코드로 복호화하기
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 16
난수 배열 만들기
 srand(seed)
 a=rand()&0xFF, b=rand()&0x0F+1→배열에a값을 b번횟수만큼삽입
 배열크기가 256이될때까지 반복
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 17
for(i=0;i<256;++i)
{
if(b==0)
{
a=rand()&0xff;
b=(rand()&0x0f)+1;
}
random[i]=a;
b--;
}
기초 지식
Seed 찾기
난수 배열 만들기
해시코드 추출하기
해시코드로 복호화하기
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 18
해시코드 추출하기
 offset=(Seed&0x0f)+sizeof(UINT)
 난수배열과 배포용문서 데이터를 XOR연산
 offset부터80바이트가해시코드,2바이트가옵션플래그
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 19
for(i=0;i<256;++i)data[i]=data[i]^random[i];
offset=(seed&0x0f)+sizeof(unsigned int);
for(i=0;i<80;++i)hash[i]=data[offset+i];
for(i=0;i<2;++i)flag[i]=data[offset+80+i];
*해시코드는비밀번호의SHA-1값을문자열(UTF-16LE)으로변환한것
기초 지식
Seed 찾기
난수 배열 만들기
해시코드 추출하기
해시코드로 복호화하기
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 20
해시코드로 복호화하기
복호화할스트림
 ViewText/SectionN→BodyText/SectionN
 Scripts/JScriptVersion
 Scripts/DefaultScript
 DocHistory/HistoryLastDoc
 DocHistory/VersionLogN
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 21
해시코드로 복호화하기 (Cont’d)
해시코드의 처음16바이트로 AES-128ECB알고리즘을 사용해본문 레코드를복호화할 수있음
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 22
#include<openssl/ssl.h>
for(i=0;i<16;++i)key[i]=hash[i];
stream->Stat(&stat,STATFLAG_NONAME);
inp=(unsigned char*)malloc(stat.cbSize.QuadPart-260);
outp=(unsigned char*)malloc(stat.cbSize.QuadPart-260);
stream->Read(inp,stat.cbSize.QuadPart-260,NULL);
EVP_CIPHER_CTX ctx;
EVP_CIPHER_CTX_init(&ctx);
EVP_DecryptInit(&ctx,EVP_aes_128_ecb(),key,NULL);
EVP_DecryptUpdate(&ctx,outp,&outlen,inp,stat.cbSize.QuadPart-260);
EVP_DecryptFinal(&ctx,outp+outlen,&tmp);
outlen=outlen+tmp;
stream->Seek(li(0),STREAM_SEEK_SET,NULL);
stream->SetSize(uli(outlen));
stream->Write(outp,outlen,NULL);
storage->Commit(STGC_OVERWRITE);
결과
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 23
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 24
사용 목적에 따른 문서 처리 방법 차별화
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 25
문서 내용 변경 방지
문서 내용 복사 방지
문서 내용 변경 방지
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 26
문서 내용 복사 방지
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 27
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 28
참고 문헌
https://groups.google.com/forum/#!topic/hwp-foss/d2KL2ypR89Q
https://en.wikipedia.org/wiki/Compound_File_Binary_Format
https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_u
se
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 29
본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를
참 고 하 여 개 발 하 였 습 니 다 . 30
1 of 30

Recommended

Kubernetes by
KubernetesKubernetes
KubernetesLinjith Kunnon
526 views39 slides
NGINX Kubernetes Ingress Controller: Getting Started – EMEA by
NGINX Kubernetes Ingress Controller: Getting Started – EMEANGINX Kubernetes Ingress Controller: Getting Started – EMEA
NGINX Kubernetes Ingress Controller: Getting Started – EMEAAine Long
1.3K views32 slides
세션5. web3.js와 Node.js 를 사용한 dApp 개발 by
세션5. web3.js와 Node.js 를 사용한 dApp 개발세션5. web3.js와 Node.js 를 사용한 dApp 개발
세션5. web3.js와 Node.js 를 사용한 dApp 개발Jay JH Park
19.9K views24 slides
Dell EMC PowerEdge iDRAC9 - 14 features for power users by
Dell EMC PowerEdge  iDRAC9 - 14 features for power usersDell EMC PowerEdge  iDRAC9 - 14 features for power users
Dell EMC PowerEdge iDRAC9 - 14 features for power usersMark Maclean
8.5K views24 slides
Jeunesse Global Marketing Plan by
Jeunesse Global Marketing PlanJeunesse Global Marketing Plan
Jeunesse Global Marketing PlanDASH2 - Jeunesse Global
10.4K views32 slides
C++ metaprogramming by
C++ metaprogrammingC++ metaprogramming
C++ metaprogrammingArindam Mukherjee
990 views21 slides

More Related Content

What's hot

Google Cloud IAM 계정, 권한 및 조직 관리 by
Google Cloud IAM 계정, 권한 및 조직 관리Google Cloud IAM 계정, 권한 및 조직 관리
Google Cloud IAM 계정, 권한 및 조직 관리정명훈 Jerry Jeong
7.8K views45 slides
Bi̇s raporu şablonu v 1 0 by
Bi̇s raporu şablonu   v 1 0Bi̇s raporu şablonu   v 1 0
Bi̇s raporu şablonu v 1 0zeyneparin
1.6K views10 slides
Ceph and Openstack in a Nutshell by
Ceph and Openstack in a NutshellCeph and Openstack in a Nutshell
Ceph and Openstack in a NutshellKaran Singh
9.9K views16 slides
(2020 03)SimpliVity change vcenter by
(2020 03)SimpliVity change vcenter(2020 03)SimpliVity change vcenter
(2020 03)SimpliVity change vcenter裝機安 Angelo
474 views3 slides
Your 1st Ceph cluster by
Your 1st Ceph clusterYour 1st Ceph cluster
Your 1st Ceph clusterMirantis
22.5K views26 slides
Red Hat Ansible 적용 사례 by
Red Hat Ansible 적용 사례Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례Opennaru, inc.
1.4K views31 slides

What's hot(20)

Bi̇s raporu şablonu v 1 0 by zeyneparin
Bi̇s raporu şablonu   v 1 0Bi̇s raporu şablonu   v 1 0
Bi̇s raporu şablonu v 1 0
zeyneparin1.6K views
Ceph and Openstack in a Nutshell by Karan Singh
Ceph and Openstack in a NutshellCeph and Openstack in a Nutshell
Ceph and Openstack in a Nutshell
Karan Singh9.9K views
Your 1st Ceph cluster by Mirantis
Your 1st Ceph clusterYour 1st Ceph cluster
Your 1st Ceph cluster
Mirantis22.5K views
Red Hat Ansible 적용 사례 by Opennaru, inc.
Red Hat Ansible 적용 사례Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례
Opennaru, inc. 1.4K views
해외 사례로 보는 Billing for OpenStack Solution by Nalee Jang
해외 사례로 보는 Billing for OpenStack Solution해외 사례로 보는 Billing for OpenStack Solution
해외 사례로 보는 Billing for OpenStack Solution
Nalee Jang2K views
Trend micro deep security by Trend Micro
Trend micro deep securityTrend micro deep security
Trend micro deep security
Trend Micro3.7K views
NEW LAUNCH! Amazon EC2 Bare Metal Instances - CMP330 - re:Invent 2017 by Amazon Web Services
NEW LAUNCH! Amazon EC2 Bare Metal Instances - CMP330 - re:Invent 2017NEW LAUNCH! Amazon EC2 Bare Metal Instances - CMP330 - re:Invent 2017
NEW LAUNCH! Amazon EC2 Bare Metal Instances - CMP330 - re:Invent 2017
Amazon Web Services1.1K views
Self-issued OpenID Provider_OpenID Foundation Virtual Workshop by Kristina Yasuda
Self-issued OpenID Provider_OpenID Foundation Virtual Workshop Self-issued OpenID Provider_OpenID Foundation Virtual Workshop
Self-issued OpenID Provider_OpenID Foundation Virtual Workshop
Kristina Yasuda664 views
2014 OpenStack Day in Korea - oVirt and OpenStack Integration and more by Rogan Kyuseok Lee
2014 OpenStack Day in Korea - oVirt and OpenStack Integration and more2014 OpenStack Day in Korea - oVirt and OpenStack Integration and more
2014 OpenStack Day in Korea - oVirt and OpenStack Integration and more
Rogan Kyuseok Lee4.8K views
Terraform Tips and Tricks - LAOUC 2022 by Nelson Calero
Terraform Tips and Tricks - LAOUC 2022Terraform Tips and Tricks - LAOUC 2022
Terraform Tips and Tricks - LAOUC 2022
Nelson Calero98 views
Introduction to Git / Github by Paige Bailey
Introduction to Git / GithubIntroduction to Git / Github
Introduction to Git / Github
Paige Bailey2.9K views
nexus helm 설치, docker/helm repo 설정과 예제 by choi sungwook
nexus helm 설치, docker/helm repo 설정과 예제nexus helm 설치, docker/helm repo 설정과 예제
nexus helm 설치, docker/helm repo 설정과 예제
choi sungwook478 views
Redis Lua Scripts by Itamar Haber
Redis Lua ScriptsRedis Lua Scripts
Redis Lua Scripts
Itamar Haber3.9K views

Viewers also liked

[14.07.16] 다양성자산과 염기 by
[14.07.16] 다양성자산과 염기[14.07.16] 다양성자산과 염기
[14.07.16] 다양성자산과 염기Hyeonmin Park
8.5K views39 slides
[14.03.18] 이온 결합 (Cont.) by
[14.03.18] 이온 결합 (Cont.)[14.03.18] 이온 결합 (Cont.)
[14.03.18] 이온 결합 (Cont.)Hyeonmin Park
1.1K views22 slides
Bonds, Atomic Bonds by
Bonds, Atomic BondsBonds, Atomic Bonds
Bonds, Atomic BondsSandra Goodrich
2.4K views13 slides
Csonn t2 atomic structure by
Csonn t2 atomic structureCsonn t2 atomic structure
Csonn t2 atomic structurecheeshengonn
4.2K views66 slides
Chemical Bonding I: Basic Concepts by
Chemical Bonding I: Basic ConceptsChemical Bonding I: Basic Concepts
Chemical Bonding I: Basic Conceptsguest3f3a4c0
5.8K views36 slides
Chemical bonding part 1 (chem 11) by
Chemical bonding part 1 (chem 11)Chemical bonding part 1 (chem 11)
Chemical bonding part 1 (chem 11)Hoshi94
2.4K views40 slides

Viewers also liked(20)

[14.07.16] 다양성자산과 염기 by Hyeonmin Park
[14.07.16] 다양성자산과 염기[14.07.16] 다양성자산과 염기
[14.07.16] 다양성자산과 염기
Hyeonmin Park8.5K views
[14.03.18] 이온 결합 (Cont.) by Hyeonmin Park
[14.03.18] 이온 결합 (Cont.)[14.03.18] 이온 결합 (Cont.)
[14.03.18] 이온 결합 (Cont.)
Hyeonmin Park1.1K views
Csonn t2 atomic structure by cheeshengonn
Csonn t2 atomic structureCsonn t2 atomic structure
Csonn t2 atomic structure
cheeshengonn4.2K views
Chemical Bonding I: Basic Concepts by guest3f3a4c0
Chemical Bonding I: Basic ConceptsChemical Bonding I: Basic Concepts
Chemical Bonding I: Basic Concepts
guest3f3a4c05.8K views
Chemical bonding part 1 (chem 11) by Hoshi94
Chemical bonding part 1 (chem 11)Chemical bonding part 1 (chem 11)
Chemical bonding part 1 (chem 11)
Hoshi942.4K views
Atomic Bonding, Ionic, Covalent, Metallic Bonds, Physical Science Lesson Powe... by www.sciencepowerpoint.com
Atomic Bonding, Ionic, Covalent, Metallic Bonds, Physical Science Lesson Powe...Atomic Bonding, Ionic, Covalent, Metallic Bonds, Physical Science Lesson Powe...
Atomic Bonding, Ionic, Covalent, Metallic Bonds, Physical Science Lesson Powe...
Csonn t3 chemical bonding by cheeshengonn
Csonn t3 chemical bondingCsonn t3 chemical bonding
Csonn t3 chemical bonding
cheeshengonn20.4K views
Covalent Vs. Ionic Bonding by JoeChandler10
Covalent Vs. Ionic BondingCovalent Vs. Ionic Bonding
Covalent Vs. Ionic Bonding
JoeChandler107.2K views
Material Science and Metallurgy by taruian
Material Science and MetallurgyMaterial Science and Metallurgy
Material Science and Metallurgy
taruian6.7K views
4-2 Ionic & Covalent Bonding by rkelch
4-2 Ionic & Covalent Bonding4-2 Ionic & Covalent Bonding
4-2 Ionic & Covalent Bonding
rkelch13.5K views
Lecture 8.1- Ionic vs. Covalent by Mary Beth Smith
Lecture 8.1- Ionic vs. CovalentLecture 8.1- Ionic vs. Covalent
Lecture 8.1- Ionic vs. Covalent
Mary Beth Smith28.7K views
Ionic Bonding Notes by alchemist
Ionic Bonding NotesIonic Bonding Notes
Ionic Bonding Notes
alchemist18K views
Lesson 1 Intro to Chemical Bonding by tvacco
Lesson 1 Intro to Chemical BondingLesson 1 Intro to Chemical Bonding
Lesson 1 Intro to Chemical Bonding
tvacco21.5K views
Lecture 1 introduction by Annalyn Soria
Lecture 1 introductionLecture 1 introduction
Lecture 1 introduction
Annalyn Soria1.7K views
Chemical bonding chapter 6 by vvchemistry
Chemical bonding chapter 6Chemical bonding chapter 6
Chemical bonding chapter 6
vvchemistry5.5K views

Similar to [16.06.25] 한글 배포용 문서의 모든 것

Perl Script Document by
Perl Script DocumentPerl Script Document
Perl Script Document오석 한
307 views13 slides
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서 by
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서[강릉원주대 대기환경과학과] 대기과학전산입문 설명서
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서Lee Sang-Ho
714 views46 slides
[211] HBase 기반 검색 데이터 저장소 (공개용) by
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)NAVER D2
8.5K views73 slides
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연 by
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연Joohyun Han
2.4K views124 slides
log-monitoring-architecture.pdf by
log-monitoring-architecture.pdflog-monitoring-architecture.pdf
log-monitoring-architecture.pdfSungkyun Kim
17 views34 slides
Part14 %ed%8 c%8c%ec%9d%bc%ec%9e%85%ec%b6%9c%eb%a0%a5 by
Part14 %ed%8 c%8c%ec%9d%bc%ec%9e%85%ec%b6%9c%eb%a0%a5Part14 %ed%8 c%8c%ec%9d%bc%ec%9e%85%ec%b6%9c%eb%a0%a5
Part14 %ed%8 c%8c%ec%9d%bc%ec%9e%85%ec%b6%9c%eb%a0%a5현웅 김
270 views46 slides

Similar to [16.06.25] 한글 배포용 문서의 모든 것(10)

Perl Script Document by 오석 한
Perl Script DocumentPerl Script Document
Perl Script Document
오석 한307 views
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서 by Lee Sang-Ho
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서[강릉원주대 대기환경과학과] 대기과학전산입문 설명서
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서
Lee Sang-Ho714 views
[211] HBase 기반 검색 데이터 저장소 (공개용) by NAVER D2
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)
NAVER D28.5K views
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연 by Joohyun Han
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
Joohyun Han2.4K views
log-monitoring-architecture.pdf by Sungkyun Kim
log-monitoring-architecture.pdflog-monitoring-architecture.pdf
log-monitoring-architecture.pdf
Sungkyun Kim17 views
Part14 %ed%8 c%8c%ec%9d%bc%ec%9e%85%ec%b6%9c%eb%a0%a5 by 현웅 김
Part14 %ed%8 c%8c%ec%9d%bc%ec%9e%85%ec%b6%9c%eb%a0%a5Part14 %ed%8 c%8c%ec%9d%bc%ec%9e%85%ec%b6%9c%eb%a0%a5
Part14 %ed%8 c%8c%ec%9d%bc%ec%9e%85%ec%b6%9c%eb%a0%a5
현웅 김270 views
[2012 CodeEngn Conference 07] manGoo - Exploit Writing Technique의 발전과 최신 트랜드 by GangSeok Lee
[2012 CodeEngn Conference 07] manGoo - Exploit Writing Technique의 발전과 최신 트랜드[2012 CodeEngn Conference 07] manGoo - Exploit Writing Technique의 발전과 최신 트랜드
[2012 CodeEngn Conference 07] manGoo - Exploit Writing Technique의 발전과 최신 트랜드
GangSeok Lee1.4K views
[Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_점검과 수행 by Devgear
[Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_점검과 수행[Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_점검과 수행
[Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_점검과 수행
Devgear1.3K views
[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리 by DaeHyun Sung
[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리
[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리
DaeHyun Sung195 views

More from Hyeonmin Park

[17.07.18] SCPC 1회 본선 - 트리 by
[17.07.18] SCPC 1회 본선 - 트리[17.07.18] SCPC 1회 본선 - 트리
[17.07.18] SCPC 1회 본선 - 트리Hyeonmin Park
552 views28 slides
[16.06.14] Auto Correction for Mobile Typing by
[16.06.14] Auto Correction for Mobile Typing[16.06.14] Auto Correction for Mobile Typing
[16.06.14] Auto Correction for Mobile TypingHyeonmin Park
308 views37 slides
[16.05.31] 컴퓨터학과 소개 by
[16.05.31] 컴퓨터학과 소개[16.05.31] 컴퓨터학과 소개
[16.05.31] 컴퓨터학과 소개Hyeonmin Park
545 views19 slides
[16.05.10] 외로움은 스트레스가 아니라 카.페.인 때문이다 by
[16.05.10] 외로움은 스트레스가 아니라 카.페.인 때문이다[16.05.10] 외로움은 스트레스가 아니라 카.페.인 때문이다
[16.05.10] 외로움은 스트레스가 아니라 카.페.인 때문이다Hyeonmin Park
501 views18 slides
[16.05.09] 동성애에 대한 인식과 우리의 바람직한 자세 by
[16.05.09] 동성애에 대한 인식과 우리의 바람직한 자세[16.05.09] 동성애에 대한 인식과 우리의 바람직한 자세
[16.05.09] 동성애에 대한 인식과 우리의 바람직한 자세Hyeonmin Park
2.5K views58 slides
[16.05.11] KIST 청년 소프트웨어 프로젝트 @ 경기과학고등학교 by
[16.05.11] KIST 청년 소프트웨어 프로젝트 @ 경기과학고등학교[16.05.11] KIST 청년 소프트웨어 프로젝트 @ 경기과학고등학교
[16.05.11] KIST 청년 소프트웨어 프로젝트 @ 경기과학고등학교Hyeonmin Park
542 views23 slides

More from Hyeonmin Park(20)

[17.07.18] SCPC 1회 본선 - 트리 by Hyeonmin Park
[17.07.18] SCPC 1회 본선 - 트리[17.07.18] SCPC 1회 본선 - 트리
[17.07.18] SCPC 1회 본선 - 트리
Hyeonmin Park552 views
[16.06.14] Auto Correction for Mobile Typing by Hyeonmin Park
[16.06.14] Auto Correction for Mobile Typing[16.06.14] Auto Correction for Mobile Typing
[16.06.14] Auto Correction for Mobile Typing
Hyeonmin Park308 views
[16.05.31] 컴퓨터학과 소개 by Hyeonmin Park
[16.05.31] 컴퓨터학과 소개[16.05.31] 컴퓨터학과 소개
[16.05.31] 컴퓨터학과 소개
Hyeonmin Park545 views
[16.05.10] 외로움은 스트레스가 아니라 카.페.인 때문이다 by Hyeonmin Park
[16.05.10] 외로움은 스트레스가 아니라 카.페.인 때문이다[16.05.10] 외로움은 스트레스가 아니라 카.페.인 때문이다
[16.05.10] 외로움은 스트레스가 아니라 카.페.인 때문이다
Hyeonmin Park501 views
[16.05.09] 동성애에 대한 인식과 우리의 바람직한 자세 by Hyeonmin Park
[16.05.09] 동성애에 대한 인식과 우리의 바람직한 자세[16.05.09] 동성애에 대한 인식과 우리의 바람직한 자세
[16.05.09] 동성애에 대한 인식과 우리의 바람직한 자세
Hyeonmin Park2.5K views
[16.05.11] KIST 청년 소프트웨어 프로젝트 @ 경기과학고등학교 by Hyeonmin Park
[16.05.11] KIST 청년 소프트웨어 프로젝트 @ 경기과학고등학교[16.05.11] KIST 청년 소프트웨어 프로젝트 @ 경기과학고등학교
[16.05.11] KIST 청년 소프트웨어 프로젝트 @ 경기과학고등학교
Hyeonmin Park542 views
[15.10.07] 슈퍼컴퓨터를 이용한 안드로이드 어플리케이션의 정적 분석 by Hyeonmin Park
[15.10.07] 슈퍼컴퓨터를 이용한 안드로이드 어플리케이션의 정적 분석[15.10.07] 슈퍼컴퓨터를 이용한 안드로이드 어플리케이션의 정적 분석
[15.10.07] 슈퍼컴퓨터를 이용한 안드로이드 어플리케이션의 정적 분석
Hyeonmin Park550 views
[15.08.19] 존경하는 인물 by Hyeonmin Park
[15.08.19] 존경하는 인물[15.08.19] 존경하는 인물
[15.08.19] 존경하는 인물
Hyeonmin Park505 views
[14.07.25] KENNYSOFT - 야구심판 by Hyeonmin Park
[14.07.25] KENNYSOFT - 야구심판[14.07.25] KENNYSOFT - 야구심판
[14.07.25] KENNYSOFT - 야구심판
Hyeonmin Park1.1K views
[15.08.07] 슈퍼컴퓨터를 이용한 안드로이드 어플리케이션의 정적 분석 by Hyeonmin Park
[15.08.07] 슈퍼컴퓨터를 이용한 안드로이드 어플리케이션의 정적 분석[15.08.07] 슈퍼컴퓨터를 이용한 안드로이드 어플리케이션의 정적 분석
[15.08.07] 슈퍼컴퓨터를 이용한 안드로이드 어플리케이션의 정적 분석
Hyeonmin Park384 views
[15.05.22] 정보 전달하는 글 쓰고 읽기 by Hyeonmin Park
[15.05.22] 정보 전달하는 글 쓰고 읽기[15.05.22] 정보 전달하는 글 쓰고 읽기
[15.05.22] 정보 전달하는 글 쓰고 읽기
Hyeonmin Park1K views
[15.05.01] Bèzier Curve by Hyeonmin Park
[15.05.01] Bèzier Curve[15.05.01] Bèzier Curve
[15.05.01] Bèzier Curve
Hyeonmin Park1.2K views
[15.04.27] 최고가격제와 최저가격제 by Hyeonmin Park
[15.04.27] 최고가격제와 최저가격제[15.04.27] 최고가격제와 최저가격제
[15.04.27] 최고가격제와 최저가격제
Hyeonmin Park908 views
[15.04.20] WEEK9_박현민_주원철 by Hyeonmin Park
[15.04.20] WEEK9_박현민_주원철[15.04.20] WEEK9_박현민_주원철
[15.04.20] WEEK9_박현민_주원철
Hyeonmin Park610 views
[15.02.05] 타일 채우기 4 by Hyeonmin Park
[15.02.05] 타일 채우기 4[15.02.05] 타일 채우기 4
[15.02.05] 타일 채우기 4
Hyeonmin Park665 views

Recently uploaded

디볼스테로이드파는곳 () 옥시메톨론특징 #클렌부테롤구매【카톡Emm36】#정품테스토스테론 by
디볼스테로이드파는곳 () 옥시메톨론특징  #클렌부테롤구매【카톡Emm36】#정품테스토스테론디볼스테로이드파는곳 () 옥시메톨론특징  #클렌부테롤구매【카톡Emm36】#정품테스토스테론
디볼스테로이드파는곳 () 옥시메톨론특징 #클렌부테롤구매【카톡Emm36】#정품테스토스테론starsoul5722
5 views4 slides
학교현장에서의 생성형 AI 활용에 대한 법·윤리적 이슈와 대응방안 by
학교현장에서의 생성형 AI 활용에 대한 법·윤리적 이슈와 대응방안학교현장에서의 생성형 AI 활용에 대한 법·윤리적 이슈와 대응방안
학교현장에서의 생성형 AI 활용에 대한 법·윤리적 이슈와 대응방안Kyubok Cho
11 views39 slides
RLHF_Lessons_learned.pdf by
RLHF_Lessons_learned.pdfRLHF_Lessons_learned.pdf
RLHF_Lessons_learned.pdfssuser1bc84b
102 views54 slides
비융합 3조_자세-교정-알림-서비스.ppt by
비융합 3조_자세-교정-알림-서비스.ppt비융합 3조_자세-교정-알림-서비스.ppt
비융합 3조_자세-교정-알림-서비스.pptqkrwnsrb8049
13 views29 slides
종합설계프로젝트(1960013_나호석).pptx by
종합설계프로젝트(1960013_나호석).pptx종합설계프로젝트(1960013_나호석).pptx
종합설계프로젝트(1960013_나호석).pptxssuser82df24
28 views22 slides
종합설계프로젝트(1960052 추영호).pptx by
종합설계프로젝트(1960052 추영호).pptx종합설계프로젝트(1960052 추영호).pptx
종합설계프로젝트(1960052 추영호).pptxchoo7913
35 views27 slides

Recently uploaded(8)

디볼스테로이드파는곳 () 옥시메톨론특징 #클렌부테롤구매【카톡Emm36】#정품테스토스테론 by starsoul5722
디볼스테로이드파는곳 () 옥시메톨론특징  #클렌부테롤구매【카톡Emm36】#정품테스토스테론디볼스테로이드파는곳 () 옥시메톨론특징  #클렌부테롤구매【카톡Emm36】#정품테스토스테론
디볼스테로이드파는곳 () 옥시메톨론특징 #클렌부테롤구매【카톡Emm36】#정품테스토스테론
starsoul57225 views
학교현장에서의 생성형 AI 활용에 대한 법·윤리적 이슈와 대응방안 by Kyubok Cho
학교현장에서의 생성형 AI 활용에 대한 법·윤리적 이슈와 대응방안학교현장에서의 생성형 AI 활용에 대한 법·윤리적 이슈와 대응방안
학교현장에서의 생성형 AI 활용에 대한 법·윤리적 이슈와 대응방안
Kyubok Cho11 views
RLHF_Lessons_learned.pdf by ssuser1bc84b
RLHF_Lessons_learned.pdfRLHF_Lessons_learned.pdf
RLHF_Lessons_learned.pdf
ssuser1bc84b102 views
비융합 3조_자세-교정-알림-서비스.ppt by qkrwnsrb8049
비융합 3조_자세-교정-알림-서비스.ppt비융합 3조_자세-교정-알림-서비스.ppt
비융합 3조_자세-교정-알림-서비스.ppt
qkrwnsrb804913 views
종합설계프로젝트(1960013_나호석).pptx by ssuser82df24
종합설계프로젝트(1960013_나호석).pptx종합설계프로젝트(1960013_나호석).pptx
종합설계프로젝트(1960013_나호석).pptx
ssuser82df2428 views
종합설계프로젝트(1960052 추영호).pptx by choo7913
종합설계프로젝트(1960052 추영호).pptx종합설계프로젝트(1960052 추영호).pptx
종합설계프로젝트(1960052 추영호).pptx
choo791335 views
박사과정 진학을 하기 전 알았으면 좋았을 것들 by Sungwoo Park
박사과정 진학을 하기 전 알았으면 좋았을 것들박사과정 진학을 하기 전 알았으면 좋았을 것들
박사과정 진학을 하기 전 알았으면 좋았을 것들
Sungwoo Park33 views
1960010_김진_학술제계획서.pptx by tkfkddk0816
1960010_김진_학술제계획서.pptx1960010_김진_학술제계획서.pptx
1960010_김진_학술제계획서.pptx
tkfkddk08167 views

[16.06.25] 한글 배포용 문서의 모든 것

  • 1. 1본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 .
  • 2. 목차 배포용 문서란? 배포용 문서의해제 미래 참고 문헌 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 2
  • 3. 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 3
  • 4. 배포용 문서 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 4
  • 5. 배포용 문서 (Cont’d) 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 5 [배포용 문서로 저장]는 고쳐선 안 될 문서에 대하여 내용을 변경하지 못하도록 만들어 줍니다. http://help.hancom.com/hoffice/webhelp/9.0/ko_kr/hwp/file/send_to_mail/publish(save).htm
  • 6. 배포용 문서 (Cont’d) 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 6 [배포용 문서로 저장]는 고쳐선 안 될 문서에 대하여 내용을 변경하지 못하도록 만들어 줍니다. http://help.hancom.com/hoffice/webhelp/9.0/ko_kr/hwp/file/send_to_mail/publish(save).htm
  • 7. 내용 변경하기 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 7 한/글 자체의 버그를 사용하기 파일을 직접 변경하기
  • 8. 한/글 자체의 버그 사용하기 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 8 http://850530.tistory.com/185
  • 9. 한/글 자체의 버그 사용하기 (Cont’d) 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 9 http://850530.tistory.com/185
  • 10. 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 10
  • 11. 기초 지식 Seed 찾기 난수 배열 만들기 해시코드 추출하기 해시코드로 복호화하기 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 11
  • 12. 기초 지식 Seed 찾기 난수 배열 만들기 해시코드 추출하기 해시코드로 복호화하기 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 12
  • 13. 기초 지식 CompoundFileBinaryFormat  objidl.h의IStorage,IStream사용 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 13 IStorage *storage,*substorage; IStream *header,*info; StgOpenStorageEx(path,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,STGFMT_STORAGE,0,NULL,0,IID_IStorage,(void**)&storage); storage->OpenStream(L"FileHeader",NULL,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,NULL,&header); header->Seek(li(36),STREAM_SEEK_SET,NULL); header->Read(buffer,1,NULL); header->Seek(li(36),STREAM_SEEK_SET,NULL); header->Write(buffer,1,NULL); storage->OpenStream(L"DocInfo",NULL,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,NULL,&info); storage->DestroyElement(L"BodyText"); storage->RenameElement(L"ViewText",L"BodyText"); storage->OpenStorage(L"BodyText",NULL,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,NULL,0,&substorage); substorage->EnumElements(0,NULL,0,&enumstat); storage->OpenStorage(L"Scripts",NULL,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,NULL,0,&substorage); storage->OpenStorage(L"DocHistory",NULL,STGM_READWRITE|STGM_SHARE_EXCLUSIVE,NULL,0,&substorage); li : int → LARGE_INTEGER / uli : int → ULARGE_INTEGER
  • 14. 기초 지식 Seed 찾기 난수 배열 만들기 해시코드 추출하기 해시코드로 복호화하기 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 14
  • 15. SEED 찾기 HWPTAG_DISTRIBUTE_DOC_DATA의첫4바이트  SectionN스트림에서의 구조  0~3바이트:레코드헤더  4~7바이트:SEED 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 15 stream->Seek(li(4),STREAM_SEEK_SET,NULL); stream->Read(data,256,NULL); seed=(data[3]<<24)+(data[2]<<16)+(data[1]<<8)+data[0];
  • 16. 기초 지식 Seed 찾기 난수 배열 만들기 해시코드 추출하기 해시코드로 복호화하기 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 16
  • 17. 난수 배열 만들기  srand(seed)  a=rand()&0xFF, b=rand()&0x0F+1→배열에a값을 b번횟수만큼삽입  배열크기가 256이될때까지 반복 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 17 for(i=0;i<256;++i) { if(b==0) { a=rand()&0xff; b=(rand()&0x0f)+1; } random[i]=a; b--; }
  • 18. 기초 지식 Seed 찾기 난수 배열 만들기 해시코드 추출하기 해시코드로 복호화하기 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 18
  • 19. 해시코드 추출하기  offset=(Seed&0x0f)+sizeof(UINT)  난수배열과 배포용문서 데이터를 XOR연산  offset부터80바이트가해시코드,2바이트가옵션플래그 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 19 for(i=0;i<256;++i)data[i]=data[i]^random[i]; offset=(seed&0x0f)+sizeof(unsigned int); for(i=0;i<80;++i)hash[i]=data[offset+i]; for(i=0;i<2;++i)flag[i]=data[offset+80+i]; *해시코드는비밀번호의SHA-1값을문자열(UTF-16LE)으로변환한것
  • 20. 기초 지식 Seed 찾기 난수 배열 만들기 해시코드 추출하기 해시코드로 복호화하기 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 20
  • 21. 해시코드로 복호화하기 복호화할스트림  ViewText/SectionN→BodyText/SectionN  Scripts/JScriptVersion  Scripts/DefaultScript  DocHistory/HistoryLastDoc  DocHistory/VersionLogN 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 21
  • 22. 해시코드로 복호화하기 (Cont’d) 해시코드의 처음16바이트로 AES-128ECB알고리즘을 사용해본문 레코드를복호화할 수있음 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 22 #include<openssl/ssl.h> for(i=0;i<16;++i)key[i]=hash[i]; stream->Stat(&stat,STATFLAG_NONAME); inp=(unsigned char*)malloc(stat.cbSize.QuadPart-260); outp=(unsigned char*)malloc(stat.cbSize.QuadPart-260); stream->Read(inp,stat.cbSize.QuadPart-260,NULL); EVP_CIPHER_CTX ctx; EVP_CIPHER_CTX_init(&ctx); EVP_DecryptInit(&ctx,EVP_aes_128_ecb(),key,NULL); EVP_DecryptUpdate(&ctx,outp,&outlen,inp,stat.cbSize.QuadPart-260); EVP_DecryptFinal(&ctx,outp+outlen,&tmp); outlen=outlen+tmp; stream->Seek(li(0),STREAM_SEEK_SET,NULL); stream->SetSize(uli(outlen)); stream->Write(outp,outlen,NULL); storage->Commit(STGC_OVERWRITE);
  • 23. 결과 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 23
  • 24. 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 24
  • 25. 사용 목적에 따른 문서 처리 방법 차별화 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 25 문서 내용 변경 방지 문서 내용 복사 방지
  • 26. 문서 내용 변경 방지 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 26
  • 27. 문서 내용 복사 방지 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 27
  • 28. 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 28
  • 30. 본 제 품 은 한 글 과 컴 퓨 터 의 한 / 글 문 서 파 일 ( . H W P ) 공 개 문 서 를 참 고 하 여 개 발 하 였 습 니 다 . 30