{
  "version": "1.2.0",
  "chapters": [
    {
      "title": "FEATURE PRESENTATION BEGINS: Shellcode Execution with GoLang",
      "startTime": 0,
      "endTime": 98
    },
    {
      "title": "Meet Joff Thyer",
      "startTime": 98,
      "endTime": 135
    },
    {
      "title": "What is GoLang?",
      "startTime": 135,
      "endTime": 252
    },
    {
      "title": "Aspects of GoLang",
      "startTime": 252,
      "endTime": 460
    },
    {
      "title": "C# or Go?",
      "startTime": 460,
      "endTime": 559
    },
    {
      "title": "Go Command Line",
      "startTime": 559,
      "endTime": 652
    },
    {
      "title": "Golang Type Safety",
      "startTime": 652,
      "endTime": 685
    },
    {
      "title": "What is Shellcode?",
      "startTime": 685,
      "endTime": 764
    },
    {
      "title": "Sources of Shellcode",
      "startTime": 764,
      "endTime": 883
    },
    {
      "title": "Executing Shellcode on Windows",
      "startTime": 883,
      "endTime": 959
    },
    {
      "title": "GoLang \"unsafe\" Package",
      "startTime": 959,
      "endTime": 1006
    },
    {
      "title": "Go \"syscall\" package is becoming per platform",
      "startTime": 1006,
      "endTime": 1062
    },
    {
      "title": "GoLang \"windows\" Package",
      "startTime": 1062,
      "endTime": 1093
    },
    {
      "title": "\"x/sys/windows\" package",
      "startTime": 1093,
      "endTime": 1220
    },
    {
      "title": "Looking deeper into Syscall",
      "startTime": 1220,
      "endTime": 1333
    },
    {
      "title": "Calling Functions out of Kernel32.dll",
      "startTime": 1333,
      "endTime": 1379
    },
    {
      "title": "GoLang: Byte Array for Shellcode",
      "startTime": 1379,
      "endTime": 1458
    },
    {
      "title": "Method 1: Direct Syscall",
      "startTime": 1458,
      "endTime": 1747
    },
    {
      "title": "Tangent: The A/V and EDR evasion paradox",
      "startTime": 1747,
      "endTime": 1924
    },
    {
      "title": "Single byte XOR function in GoLang",
      "startTime": 1924,
      "endTime": 2007
    },
    {
      "title": "Method 2: Creating Thread in Same Process",
      "startTime": 2007,
      "endTime": 2113
    },
    {
      "title": "GoLang Windows Native DLL",
      "startTime": 2113,
      "endTime": 2179
    },
    {
      "title": "Steps to build a native DLL",
      "startTime": 2179,
      "endTime": 2438
    },
    {
      "title": "Living off the Land with Native DLL",
      "startTime": 2438,
      "endTime": 2602
    },
    {
      "title": "DEMO : Run shell code",
      "startTime": 2602,
      "endTime": 2755
    },
    {
      "title": "Method 3: Process Injection",
      "startTime": 2755,
      "endTime": 2900
    },
    {
      "title": "DEMO - Remote Process Injection",
      "startTime": 2900,
      "endTime": 2959
    },
    {
      "title": "Additional Resources",
      "startTime": 2959,
      "endTime": 2999
    },
    {
      "title": "DEMO - Remote Process Injection cont.",
      "startTime": 2999,
      "endTime": 3121
    },
    {
      "title": "QnA",
      "startTime": 3121,
      "endTime": 3226
    },
    {
      "title": "LINK: Attacker Emulation and C2 - https://www.antisyphontraining.com/enterprise-attacker-emulation-and-c2-implant-development-w-joff-thyer/",
      "startTime": 3226,
      "endTime": 3788
    }
  ]
}