본문으로 바로가기

파일의 IT 블로그

프로그래밍

해당되는 글 137
  • thumbnail
    프로그래밍/C#

    [C#] 더미다(Themida) 2.X.X, 3.X.X 로 패킹해보기

    이전에 C#으로 작성한 프로그램을 Obfuscar로 난독화 하는걸 보여드린적이 있습니다. 물론 가이드나 튜토리얼 글은 아니고 그냥 Obfuscar로 난독화 해보니 소스가 이 정도로 보호되더라~ 하는 정도의 후기글 이였습니다. 사실 C#으로 작성된 프로그램을 Obfuscar로 난독화 하는건 인터넷에 워낙 잘 나와있어서.. 별로 글을 적을 필요가 없더라구요. 그래서 오늘 가져와 본건 C#으로 작성된 프로그램을 패커 더미다(Themida) 를 이용해서 보호하는 방법에 대한 튜토리얼입니다. 물론 이것도 인터넷에 방법이 소개가 되어 있기 때문에 특별히 2.X.X 버전하고 3.X.X 버전 둘다 패킹을 진행하는걸 보여드리겠습니다. 또한 꼭 C#이 아니여도 패킹 특성상 모든 실행파일(*.exe) 에 적용할 수 있습니다..
  • thumbnail
    프로그래밍/C#

    [C#] 작성 프로그램을 Obfuscar 로 난독화 해봤습니다.

    이전에 C#으로 개발하여 판매중인 SMS 전송기 입니다. API 호출은 제가 따로 안드로이드 앱을 개발하진 않았고 전적으로 PushBullet 어플에 의존하고 있어서 프로그램 자체는 그렇게 비싸지 않게 판매중입니다. 그래도 많은 분들이 유용하게 사용중입니다. 제가 보안분야에 관심도 많고 실제로 리버싱 공부도 하는중이라 프로그램 보안에 좀 민감한 편입니다. C#이나 Java의 경우 컴파일을 할때 C, C++ 처럼 기계어로 다이렉트로 번역하는게 아닌 바이트 코드 라는 중간 언어로 먼저 번역한 다음에, 가상 머신이 바이트 코드를 해석해 최종적으로 기계어로 번역하게 됩니다. 어쨌던 바이트 코드의 경우 기계어와 고급 언어(C#, Java) 의 중간 정도의 레벨이므로 일단은 기계어보다 추상화 수준이 높습니다. (기..
  • thumbnail
    프로그래밍/Talk

    C# SMS 전송기 소소한 업데이트

    이전에 C#으로 제작해서 현재 판매중인 SMS 전송기 프로그램을 업데이트 하였습니다. 관련글 : https://pgh268400.tistory.com/283 1. 더블 버퍼링 적용해서 DataGridView 스크롤 렉 제거 2. 엑셀 파일 읽는 Logic을 비동기적으로 변경 - DataGridView 로딩하는건 Invoke() 를 이용해서 Thread-Safe하게 작업 - 성능 향상을 위해 C#의 나름 최신 기술인 Task랑 async & await 를 도입해서 엑셀 파일을 로딩합니다. 이래도 데이터 다 불러오고 DataGridView에 데이터 바인딩할때는 Invoke때문에 메인 쓰레드에서 처리해야되서 여전히 데이터가 크면 로딩할 때 프리징 걸립니다 ㅡㅡ. 이건 근본적으로 DataGridView 성능이 ..
  • thumbnail
    프로그래밍/Python

    [Python] 구글 코랩(Google Colaboratory)에서 Selenium 사용하기

    안녕하세요 파일입니다. 오늘은 Google Colab에서 Selenium을 사용하는 방법에 대해 포스팅 하겠습니다. 구글 코랩은 Jupyter NoteBook과 비슷한 방식으로 실행되는데 저도 정확하게 아는 것은 아니지만, 서버가 실행되서 그 웹페이지에서 코딩을 하고 거기서 코딩을 하면 서버가 커널을 실행해 코드를 연산합니다. 참고 : https://tobefreein2040.tistory.com/10 3. Jupyter Notebook 안녕하세요. 자꿈두입니다. 오늘 공부할 내용은 Jupyter Notebook입니다. Jupyter Notebook? Anaconda를 설치하게 되면 자동으로 설치되는 응용 프로그램중 하나입니다. Jupyter Notebook을 사용하게 되면요 1. 코 tobefreein..
  • thumbnail
    프로그래밍/Talk

    IDA PRO는 신이다.

    CrackMe 풀면서 올리디버거 쓰다가 한번 써봤는데 진짜 그래프 모드만 봐도 달달하네요. 디버깅 모드 키면 지금 깜빡깜빡 거리면서 어디로 점프뛸지도 알려주고, F5 누르면 C언어 비슷하게 복구도 해주고 (디컴파일) Main 함수도 찾아주고.. 진짜 효자가 따로 없습니다. 이 프로그램 쓰면서 아쉬운건 제 지능이네요 ㅋㅋㅋ.. 윈도우 API도 귀찮아서 공부안하고 VB6.0 으로 만들어진 구닥다리 프로그램 구조도 잘 모르고.. 이건 몰라도 되긴한데 IDA도 기능이 엄청 많은거 같은데 좀 더 공부해봐야 겠습니다. IDA Pro 쓰면서 딱 한가지 아쉬웠던 점은 프로그램에 패치(어셈블) 하는 단축키가 없다는 점이였네요. 디버깅 하면서 어셈블리 코드 바꾸는데 Edit - Patch - Assemble 을 계속 눌러..
  • thumbnail
    프로그래밍/VSCode

    VMWare VSCode SSH 원격으로 연결해서 프로그래밍 하기

    안녕하세요 파일입니다. 오늘은 VMWare 안에서 돌리는 리눅스와, 윈도우가 깔린 메인 PC에서 VSCode를 실행해서 SSH로 원격으로 코딩하는 방법을 알아 보겠습니다. 이렇게 하면 메인 PC에서 VSCode로 무언가 작성해서 컴파일 후 프로그램을 실행시키면, 실제로는 SSH로 연결되어 있는 VMWare안의 리눅스 쪽에서 코드가 실행되서 리눅스 환경에서 실행한것과 동일한 효과를 낼 수 있게 됩니다. 즉 느려터진 가상머신 VMWare안에서 VSCode 키고 코딩하는게 아니라 윈도우쪽에서 VSCode켜서 빠르고 편리하게 코딩한다음에, 실행은 실제로 SSH로 연결된 리눅스 쪽에서 실행시키는 겁니다. 일종의 원격(?) 프로그래밍 이라고 볼 수 있겠네요. Why Use? 윈도우에서 리눅스 환경으로 실행하고 싶으..
  • thumbnail
    프로그래밍/Talk

    2023 강의 작성 고민중입니다.

    현재 제 블로그에서 제대로 강의 작성된 글이 C랑 Python 정도 밖에 없습니다. 사실 완성도가 제일 높은건 C고 Python은 2달도 안되는 기간에 작성해서 내용이 좀 허접합니다. 그래서 추가로 강의글을 작성해볼까 하는데 현재 작성에 고민중인 내용은 아래와 같습니다. 1. 시스템 소프트웨어 2. 자료구조 3. C# 4. Java 사실 1, 2 는 강좌라기 보다 그냥 강의 노트 정리에 가까울 거 같고 C#이나 Java 중에 더 작성하기 만만해보이는건 자료가 좀더 많은 Java인데 실제로 제가 많이 써본건 C#이라 고민이 되는군요 총총... 기록 안하면 또 다 까먹어버릴탠데.. 고민을 좀 해봐야겠습니다
  • thumbnail
    프로그래밍/Talk

    아 내가 해냈다. [과제 제출 성공]

    앞에서 시달리던 과제 제출에 드디어 성공했습니다. 이걸 제출 성공하네.. 빨리 C랑 C++ 망하고 Rust 가 다 독차지 해버렸으면 좋겠네요 ㅎㅎ. 아마 이번 과제는 난이도상 제출 성공 인원이 그래봤자 10명 안밖이 아닐까 싶습니다. 요새 C언어 과외까지 해서 나름 C언어 내용에 꾀차고 있다고 생각했는데 이중 연결 리스트 구현에서 제 머리가 터져버렸습니다 진로 관련해서는 이미 있는거 뜯는 보안쪽이나(디어셈블리) Python, Java 같은 High Level 개발자가 마음에 갑니다. 이번에 OS 스케줄러 구현에 시달리면서 느꼈는데 커널 개발이나 시스템 프로그래밍은 제 분야가 아닌거 같아효 ㅎㅎ 그냥 추상화된 문자열 타입이나 Syntatic Sugar 이 행복하단걸 몸소 채감했습니다. 그리고 리눅스에서 C..
    이모티콘창 닫기
    울음
    안녕
    감사해요
    당황
    피폐

    이모티콘을 클릭하면 댓글창에 입력됩니다.