Windows Reverse Engineering
 
About training

    The desktop and notebook PCs we use are still the environment with most malwares and hacking incidents.
    Large corporates and organizations around the world are working hard to analyze attack codes of hackers.
    This training is to help learn how to analyze programs for Windows without source code. In this process,
    trainees will learn about the code generated by the compiler and the internal structure of the Windows OS,
    and how malicious code can be obfuscated to avoid AV detection and interrupt analysis, and how we can disable them.

Basic information

    • Subject : Windows Reverse Engineering
    • Trainer : HeungSoo Kang (jz)
        - Senior researcher at GRAYHASH
        - KITRI BoB Mentor : Giving reverse engineering lecture on vulnerability analysis track
        - (Prev) AhnLab : Analyze malware obfuscation and write deobfuscation code at engine dev team
        - (Prev) Ministry of National Defense : Analyze APT cases, vulnerabilities, bug hunting
        - (Prev) Microsoft: Analyze malwares, APT tracking, adding sigs for Windows Defender

    • Schedule : 2016 Dec 5(Mon) ~ Dec 7(Wed)
    • Hours : 10am ~ 6pm (8 hours a day including lunch and break time)
    • Location : Bundang-gu JeongJa-dong GrayHash training room [MAP]
    • Maximum seats : 15 (Minimum 5)
    • Price : KRW 1,500,000 (Plus VAT 10%)
    • All lunch and refreshments included

Main subjects

         • Understanding the Concept of Reverse Engineering
         • Understanding Windows PE format
         • Understanding the x86 architecture
         • Malicious Code Analysis Practice
         • Obfuscated code analysis

Descriptions

    1st day - Reverse Engineering Basic

    • Understanding Disassembling / Decompiling
    • Debuggers (ollydbg / immdbg / windbg / gdb)
    • Hooking / filtering / capturing tools (Sysinternal suite)
    • x86 architecture (Ring0 / 3, instruction, registers, memory, etc.)
    • How C code looks in ASM (x86 Assembly, function stack frame, calling convention, etc.)
    • Practice writing functions in ASM
    • C / C ++ Compiled codes analysis (Debug / Release mode, conditional branching, loop code, Struct / class / OOP, etc.)
    • Decompling (ASM -> C language conversion) practice


    2nd day - Windows Binary Reversing

    • Understanding Windows PE format
    • Understanding Processes in Windows
    • Hands on making PE Parser
    • Add Code Disassembling function
    • Game Reverse Engineering
    • Create a secure malware analysis environment
    • Hands on malicious code and exploit analysis
    • Understanding DLL / Code Injection
    • Build your own Code Injection tool

    3rd day - Analysing Packer and Obfuscator

    • Understanding Packer/Obfuscator (Packers, protectors, custom packers)
    • Methods to disrupt reverse engineering (anti-debug, anti-analysis)
    • Introduction to some useful Ollydbg Plugins
    • Malware Unpack hands on
    • Runtime Code patch hands on
    • Write your own crackme with some anti analysis methods
    • Understanding obfuscators used by malware and its purposes
    • Hands on analyzing obfuscated code
    • Hands on analyzing commercial protectors
    
    * The contents may vary depending on the situation.

Reference book and hands-on devices

    [Books]
    • PPT will be handed out


    [ETC]
    • Certificate will be issued to trainees

Trainee's preparation

    • Laptop
    • VM SW(VMWare, Virtualbox)
    • IDA free version
    • Debuggers, PEView, Sysinternal Suite


Photos from previous trainings

Reviews

    * 윤경훈3일동안 열정적인 강의 잘 들었습니다. 잘 따라가지 못했는데 강사님이 친절하게 알려주셔서 많이 배웠습니다.
제 개인적인 생각으로 더 좋아 질수 있는 부분이 있는것 같아 제안드리오니 참조 부탁드립니다.

1. 강의 자료 제본 제공.
- 실습을 하다보면 수강생 별로 서로 다른 진도를 보이다보니 참조하고 싶은 화면이 아닌 다른 화면이 띄워져 있는 경우 제본된 자료가 있으면 쉽게 찾아볼수 있어 좋을것 같습니다. PPT 자료를 제공해주긴 하지만 화면을 왔다갔다하면서 봐야하고 MS Office가 설치되지 않은 사용자는 별도 viewer를 따로 설치해야 하는 번거로움이 있네요.
그리고 해당 강의 slide에서 메모하고 싶은경우에도 유용할 것 같습니다.

2. 각 강의시작전에 오늘 강의(실습)할 내용에 대해 한번 전반적으로 브리핑을 해주시고, 필요한 자료도 한번에 다운받을수 있게 해주시면 더 좋을것 같습니다. 중간중간 자료를 추가로 다운받고 설치하고 이러다보니 조금 어수선한 부분도 있었던것 같습니다.

3. Tool 사용법의 경우 기능에 대해 간단히 정리된 강의 slide가 있고 이를 한번 설명해주시면 강의 내용을 따라가는데 더 좋을것 같습니다. 강의중 설명을 해주시기는 한데 익숙치 않아 까먹는 경우가 많고 이를 다시 물어보기에는 강의 흐름을 깨는것 같아 질문을 못했습니다. 정리된 자료가 있고 그 자료를 기반으로 설명을 해주시면 나중에 까먹더라도 다시 그 강의 slide를 보면 이해가 될것 같습니다.
강의에서 많이 사용하는 OllyDbg나 IDA같은 Tool은 자주 사용하는 기능및 단축키 등에 대해서는 별로 정리가 좋은것 같습니다.

4. 휴식시간이 너무 없어요 ㅠㅠ
    * 강흥수윤경훈님//
피드백 정말 감사드립니다! 잘 이해하시고 따라오시던데요 :) 부족하나마 업무에 많은 도움이 되어드렸으면 좋겠습니다.
1,3// 정말 좋은 아이디어네요. 꼭 반영하겠습니다.
2// 이번 강의가 욕심을 내다보니 다루는 영역이 계획보다 좀 많이 넓어졌습니다. 계획에 없던 APT샘플이나 분석 도구가 강의 준비하며 늘어나는 바람에 자료공유 방식에 서툴렀던 점 죄송합니다 ㅠㅠ
4// 알람을 맞춰야할 것 같습니다. 정신없이 하다보니... ㅋㅋㅋ
3일동안 고생 많으셨습니다!
    * 강유진3일동안 윈도우 리버싱 교육에 대해서 잘 들었습니다. 제가 처음 접해서 조금 따라가기 어려운 면이 없지 않아 있었지만, 강사님이 정말 차분하게 이해할 수 있도록 하나하나 설명해주시고 봐주셔서 좋았습니다.
하나하나 실습을 여쭤보여서 따라가기에 소수 인원이라 더 좋았던 것 같습니다.
제가 조금 더 열정적으로 따라가려고 처음부터 끝까지 집중력을 잃지않고 열심히 들었더라면, 많은 것을 얻어갔을 텐데 오전에 비해서 조금 오후에는 집중력이 떨어졌습니다ㅠ_ㅠ
그래도 정말 물어보는 거에 대해서는 하나하나 열심히 가르쳐주시려는 강사님께 너무 감사하고
정말 돈이 아깝지 않을 정도로 리버싱에 관심이 있으신 분들은 얻어가실 수 있을 것 같습니다.

중간중간에 뒤쳐지고 이해하느라 느려진 면이 없지 않아 있지만,
배운 것이라도 그것을 기억하고 캐치해가면 그것도 충분히 많다고 생각합니다.

수업 내용에 대해서는 충분히 좋았지만,
강사님께서 ~ 이만큼 먼저 해보시고, 자 이부분까지 한번 해보시면 되겠습니다. 하는데..
손을 대기가 어려운 부분이 저에게는 꽤 많았습니다. 리버싱이 처음인 만큼 강사님이 메모리영역 덤프뜨고
프로그램 따라가고 이런 부분이 저는 조금 빨랐다고 생각합니다. 조금 더 천천히 하나하나 설명해주시면서
넘어가면 초보자에게는 더 좋았을 것 같습니다. 그래도 정말 친절한 강사님 덕분에 열심히 물어볼 수 있어서
리버싱에 대해서 많이 배우고 갑니다! 감사합니다!
    * 강흥수강유진님//
안녕하세요! 처음 준비하며 생각했던 게 '많이 준비해서 가능한 데까지 가자' 였습니다. 부족한 트레이닝 내내 잘 따라와주셔서, 또 후기도 남겨주셔서 정말 감사합니다 ^^
    * 황병남본 교육 과정 개설을 전반기 언제쯤 하시는지... 알려주십시요~
최소 한달전에 알아야지 예산신청 및 보고를 하여 교육 참석을 할 수 있거든요~
문자로 연락주셔도 됩니다.

010-5080-1293
  * Reviewer:       * Org:       * E-Mail:
   (Name or nickname please. Only this and review will be public.)