CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·주식한당 ·아이포니앙 ·MaClien ·일본산당 ·방탄소년당 ·개발한당 ·자전거당 ·이륜차당 ·안드로메당 ·소시당 ·육아당 ·골프당 ·AI당 ·디아블로당 ·가상화폐당 ·나스당 ·영화본당 ·클다방 ·리눅서당 ·소셜게임한당 ·걸그룹당 ·야구당 ·젬워한당 ·노젓는당 ·사과시계당 ·캠핑간당 ·패셔니앙 ·맛있겠당 ·라즈베리파이당 ·IoT당 ·키보드당 ·패스오브엑자일당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·배드민턴당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·콘솔한당 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·이브한당 ·물고기당 ·도시어부당 ·FM한당 ·포뮬러당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·바다건너당 ·PC튜닝한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

리눅서당

리눅서수다 Lotus 1-2-3 for Linux 포팅 #긱뉴스 4

5
2022-05-25 20:15:39 58.♡.243.40
nuthatch

언제적 Lotus 1-2-3 인가요.  

퇴근하고 긱뉴스 보다 양덕다운 뉴스를 봐서 헐레벌떡 퍼 왔습니다. 

이런 뉴스는 모공에 써도 잘 모르실(?) 것 같기도 하고요. ㅎㅎ 



/* ----> 이하 발췌 <--- */ 

Lotus 1-2-3 for Linux

  • 30년된 Lotus의 Unix 버전을 Linux에 이식한 과정을 정리

배경

  • Lotus의 팬이라 기존 DOS버전을 리버스엔지니어링 하여 DosEmu용 디스플레이 드라이버를 만들어서 실행했음
  • 그러나 예전 로터스의 Add-in들은 불가능 했음, LPL 이라고 하는 특수언어로 개발되었고, 컴파일러/SDK가 없음
    → 그 시절 $395나 되는 유료 제품 이었고, 가진 사람을 찾지 못함
  • 그러다 90년대 BBS를 운영하던 SYSOP을 통해서 테이프 백업에서 SDK의 Warez 본을 구함
    → ADK(Add-in Development Kit) for Lotus 1-2-3
  • 그 BBS에는 Lotus 1-2-3 for Unix 의 Warez 버전도 있었음
    → 유명 Unix 오피스 경쟁제품인 SCO Professional 때문에 얼마 팔리지 않아서 잊힌 제품




Lotus 1-2-3 for Unix

  • TD0 라고 하는 80년대에 사용하던 압축 디스크 이미지 포맷으로 구성되어 있었음
  • samdisk 로 raw 디스크 이미지로 변환
  • 디스크 내용중에 1-2-3의 심볼이 포함된 object 파일이 포함되어 있는 것을 발견
    → 90년대 초에는 dlopen()이 많이 쓰이지 않았기 때문에 이런 것이 필요했다고

해킹

  • 이 오브젝트 파일로 인해서 Lotus 1-2-3 내부 구조에 대해 가졌던 많은 의문이 풀렸음
  • 만들고 있던 드라이버가 더 많은 일을 할 수 있게 됨

GNU objcopy

  • 이 오브젝트 파일이 컴파일 되었을 때는 Linux의 첫번째 버전도 출시 되지 않았었음
  • 하지만 objcopy 로 COFF 오브젝트 파일을 ELF로 변환 가능

Porting Problem

System Calls

  • 첫번째 문제는 Linux 와 UNIX가 같은 시스템 콜 인터페이스를 가지고 있지 않다는 것
  • UNIX는 lcall7 인터페이스를 사용하므로, open() 을 찾아서 glibc로 호출하도록 하기로 함
    → 이 심볼을 undefined로 바꿔버리면 링커가 알아서 하지 않을까?
    → 하지만 objcopy가 그렇게 동작하지는 않아서, 결국엔 강제로 지워주는 coffsyrup 이라는 도구를 작성
  • 호환되지 않는 몇몇 함수들을 objcopy + coffsyrup 으로 모두 변경
    → stat(), times(), uname(), fcntl(), ioctl()

Licensing

  • 물론 이 소프트웨어는 라이센스 없이는 동작하지 않음
  • 본인은 Lotus 1-2-3 박스도 가지는 정식 소유자고, 32년된 abandoware 이기도 하므로
    아마도 개발자인 Mitch Kapor도 이 라이센스 체크를 패스하는 것을 뭐라고 하지 않을거라 생각
    → (Mitch Kapor 는 Lotus를 개발한 것으로 유명하며, EFF의 공동 창립자 이기도 합니다.)
  • lic_init() 함수에서 LICENSE.000 파일에 날짜와 사용자/시스템 명이 있으면 동작하므로 이렇게 맞춰줘서 패스!


Result

  • 결과적으로 Lotus 1-2-3 가 새 OS(리눅스)로 포팅됨
  • 아직 꼬인 부분이 있지만 100% 사용 가능



----


뉴스출처:  https://news.hada.io/topic?id=6611#cid10135

원출처: https://lock.cmpxchg8b.com/linux123.html


출처 : https://lock.cmpxchg8b.com/linux123.html
nuthatch 님의 게시글 댓글
SIGNATURE
진실은 간결하다.
서명 더 보기 서명 가리기
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [4]
gamjavas
IP 114.♡.206.5
05-25 2022-05-25 20:36:07
·
웨어즈의 순기능(?) 인건가요 ㄷㄷㄷ
신사아님당
IP 125.♡.243.26
05-25 2022-05-25 21:24:37 / 수정일: 2022-05-25 21:27:06
·
로터스 1-2-3 왕 반갑네요. 재미있는 소식 전해주셔서 감사합니다. 역시 덕중덕은 양덕입니다. ㅋㅋㅋ

(추가)
https://lock.cmpxchg8b.com/img/ida-license-check.png
이런 분들 보면 디어샘블은 교양 상식인가 봅니다. ㄷㄷㄷ
권절현도
IP 1.♡.203.146
05-28 2022-05-28 07:45:29
·
역시 덕중의 덕은 양덕이군요 .. 존경...
몽환전사
IP 223.♡.18.180
06-17 2022-06-17 14:36:01
·
대단한 열정입니다~
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.