BEGIN:VCALENDAR
VERSION:2.0
PRODID:Data::ICal 0.24
BEGIN:VEVENT
DESCRIPTION:   'Title: Reverse Engineering MicroPython Frozen Modules: Data
 \n   Structures\, Reconstruction\, and Reading Bytecode\n   When: Saturday
 \, Aug 10\, 10:00 - 10:45 PDT\n   Where: LVCC West/Floor 1/Hall 1/Track 4 
 - [1]Map\n\n   Description:\n\n   MicroPython is a firmware environment fo
 r quickly developing and\n   deploying software onto microcontroller syste
 ms. It is used in a\n   variety of industrial and scientific applications\
 , as well as (most\n   importantly) in some DEF CON #badgelife projects. I
 t's easy to learn\n   and use for rapid prototyping.\n\n   For hackers int
 erested in reverse engineering compiled or obfuscated\n   MicroPython code
 \, there are some obstacles. MicroPython is an\n   implementation of CPyth
 on\, not a port\, so it has its own compiled\n   bytecode language that ex
 isting reverse engineering tools aren't\n   designed to parse. Also\, modu
 les can be "frozen"\, compiled directly\n   into the microcontroller firmw
 are\, and may be difficult to locate and\n   parse when microcontroller fi
 rmware is extracted and analyzed.\n\n   In this talk\, Wesley will walk th
 e audience through the process of\n   identifying "frozen"/compiled module
 s in a firmware image without\n   debug symbols using the Ghidra disassemb
 ler. The relevant module\,\n   string\, object\, and raw code data structu
 res will be detailed\, so that\n   everything required to rebuild a non-fr
 ozen module can recovered. Once\n   a compiled module is reconstructed\, W
 esley will present a detailed\n   example of reading and understanding Mic
 roPython compiled bytecode\,\n   for the purpose of reverse engineering th
 e purpose and implementation\n   of the module.\n\n     * Micropython sour
 ce code\n\n     * Official documentation\, including:\n\n         * .mpy f
 iles: [2]link\n\n         * Micropython internals: [3]link\n\n     * "Secu
 ring a MicroPython System" [4]link\n\n     * The collected Raspberry Pi Pi
 co documentation for my test\n       environment [5]link\n\n     * Andrew 
 Leech - "Profiling Pathogens with (micro) Python" [6]link\n\n     * Kevin 
 McAleer - "Securing Passwords with MicroPython" [7]link\n\n     * C. Spind
 ler - "MicroPython used in industrial applications" [8]link\n\n     * "Mic
 roPython and the European Space Agency" [9]link\n\n   SpeakerBio:  Wesley 
 McGrew\, Senior Cybersecurity Fellow at\n   MartinFederal\n\n   Dr. Wesley
  McGrew directs research\, development\, and offensive cyber\n   operation
 s as Senior Cybersecurity Fellow for MartinFederal. He has\n   presented o
 n topics of penetration testing and malware analysis at DEF\n   CON and Bl
 ack Hat USA and taught a self-designed course on reverse\n   engineering t
 o students at Mississippi State University\, using\n   real-world\, high-p
 rofile malware samples. Wesley has a Ph.D. in\n   Computer Science from Mi
 ssissippi State University for his research in\n   vulnerability analysis 
 of SCADA HMI systems.\n\n   '\n\n   1. #LVCCW_Level1_Hall1\n   2. https://
 docs.micropython.org/en/latest/reference/mpyfiles.html\n   3. https://docs
 .micropython.org/en/latest/develop/index.html\n   4. https://github.com/mi
 cropython/micropython/wiki/Securing-a-MicroPython-system\n   5. https://ww
 w.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html#do
 cumentation\n   6. https://www.youtube.com/watch?v=YovngSLXoxw\n   7. http
 s://www.youtube.com/watch?v=fl3UNaUoYzc\n   8. https://www.youtube.com/wat
 ch?v=xDPdvjNxyWs\n   9. https://forum.micropython.org/viewtopic.php?f=8&t=
 744\n\n\n
DTEND:20240810T174500Z
DTSTART:20240810T170000Z
LOCATION:DC - LVCC West/Floor 1/Hall 1/Track 4
SUMMARY:Reverse Engineering MicroPython Frozen Modules: Data Structures\, R
 econstruction\, and Reading Bytecode
END:VEVENT
END:VCALENDAR
