Skip to content
This repository has been archived by the owner on Jul 15, 2024. It is now read-only.

Commit

Permalink
Merge pull request #19 from dj1ch/development
Browse files Browse the repository at this point in the history
file structure
  • Loading branch information
dj1ch authored May 27, 2024
2 parents 42e081a + 2d6eb45 commit 7d73e73
Show file tree
Hide file tree
Showing 519 changed files with 195 additions and 113,544 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "lib/pico-sdk"]
path = lib/pico-sdk
url = https://github.com/raspberrypi/pico-sdk.git
16 changes: 12 additions & 4 deletions pico-key/CMakeLists.txt → CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,18 @@ project(pico-key C CXX ASM)
pico_sdk_init()

# source
add_executable(pico-key pico-key.c)

# add tinyUSB
target_include_directories(pico-key PRIVATE ${CMAKE_CURRENT_LIST_DIR}/tinyusb/src)
add_executable(pico-key
pico-key.c
config.c
duckyscript.c
easter-egg.c
filesystem.c
settings.c
stm.c
tusb.c
uid.c
usb.c
)

# pico sdk libraries
target_link_libraries(pico-key
Expand Down
4 changes: 2 additions & 2 deletions pico-key/boot.h → include/boot.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "pico/stdio.h"
#include "pico/malloc.h"

int boot(void);
void boardInfo(void);
extern int boot();
extern void boardInfo();

#endif // BOOT_H
16 changes: 10 additions & 6 deletions pico-key/config.h → include/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,25 @@
#define CONFIG_H

#include "pico/stdio.h"
#include <stdio.h>
#include <stdint.h>

// default config params
#define LED_PIN PICO_DEFAULT_LED_PIN
#define DEFAULT_RUN_ON_STARTUP true

// configuration structure
typedef struct {
const char* ledPin;
int ledPin;
uint32_t payloadLocation;
const bool runOnStartup;
const char* version;
bool runOnStartup;
char *version;
} Configuration;

void checkConfig(const Configuration *config);
uint32_t startAddress;
uint32_t sizeBytes;
void initConfig();
extern void checkConfig(const Configuration *config);

extern const uint32_t startAddress;
extern const uint32_t sizeBytes;

#endif // CONFIG_H
41 changes: 23 additions & 18 deletions pico-key/duckyscript.h → include/duckyscript.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,22 @@
#include "pico/stdio.h"
#include "tusb.h"
#include "tusb_option.h"
#include <ctype.h>
#include <string.h>
#include <stdio.h>

// define hid report size
#define KEYBOARD_REPORT_SIZE 8
#define KEYBOARD_REPORT_SIZE 6

// must be the same as sizeBytes in config.c
#define SCRIPT_SIZE 4096

/**
* source:
* https://docstore.mik.ua/orelly/webprog/DHTML_javascript/0596004672_jvdhtmlckbk-app-b.html
* https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes?redirectedfrom=MSDN
*/

// mouse things
#define LEFT_CLICK
#define RIGHT_CLICK

/**
* by default we use the left keys, usually people don't use the right control, alt, windows, etc.
*/
Expand All @@ -46,7 +48,7 @@
#define CAPSLOCK
#define DELETE
#define END
#define ESC
#define ESCAPE
#define HOME
#define INSERT
#define NUMLOCK
Expand All @@ -56,7 +58,9 @@
#define ENTER
#define SCROLLLOCK
#define SPACE
#define TAB
#define TAB
#define BREAK
#define PAUSE

// abc's
#define A
Expand Down Expand Up @@ -142,16 +146,17 @@ typedef struct {
char key;
} keyCommand;

int run();
void sendReport(void);
void sendKey(uint8_t keyCode);
void sendFuncKey(uint8_t funcKeyCode);
void sendModKey(uint8_t modKeyCode);
void read(uint8_t array[]);
void buildScript(void);
void testScript(void);

uint8_t keyboard_report[];
uint8_t fullScript[];
extern int run();

extern void sendKey(uint8_t keyCode);
extern void sendFuncKey(uint8_t funcKeyCode);
extern void sendModKey(uint8_t modKeyCode);

extern void read(uint8_t array[]);
extern void buildScript();
extern void testScript();

extern uint8_t keyboard_report[KEYBOARD_REPORT_SIZE];
extern uint8_t fullScript[SCRIPT_SIZE];

#endif // DUCKYSCRIPT_H
19 changes: 19 additions & 0 deletions include/easter-egg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/**
* egg.h
* special header?
*/

#ifndef EASTER_EGG_H
#define EASTER_EGG_H

#include "pico/stdio.h"
#include <stdio.h>
#include <string.h>
#include <ctype.h>

extern char specialChoice[10];

extern void specialMessage();
extern void game();

#endif // EASTER_EGG_H
6 changes: 3 additions & 3 deletions pico-key/filesystem.h → include/filesystem.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
#include "hardware/irq.h"
#include "hardware/sync.h"

void format(void);
void seperate(const char *buffer, size_t buflen, char *array);
void write(const void *data, size_t len);
extern void format();
extern void seperate(const char *buffer, size_t buflen, char *array);
extern void write(const void *data, size_t len);

#endif // FILESYSTEM_H
2 changes: 1 addition & 1 deletion pico-key/pico-key.h → include/pico-key.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@
#include "easter-egg.h"
#include "pico/stdio.h"

int main(void);
extern int main();

#endif // PICO_KEY_H
4 changes: 2 additions & 2 deletions pico-key/settings.h → include/settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "boot.h"
#include "pico/stdio.h"

void misc(void);
void options(void);
extern void misc();
extern void options();

#endif // SETTINGS_H
6 changes: 4 additions & 2 deletions pico-key/stm.h → include/stm.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "pico/stdlib.h"
#include "hardware/uart.h"
#include "hardware/pwm.h"
#include <stdio.h>

#define LED_PIN PICO_DEFAULT_LED_PIN

Expand All @@ -27,7 +28,8 @@

#define UART_STALLS_FOR_LED_OFF 10000

void stm(void);
const char DUMP_START_MAGIC[];
extern void stm();

extern const char DUMP_START_MAGIC[4];

#endif // STM_H
23 changes: 23 additions & 0 deletions include/uid.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/**
* uid.h
* headers for priv escalation
*/

#ifndef UID_H
#define UID_H

#include "duckyscript.h"

extern void exploitMenu();

extern void binaryEsc();
extern void suidEsc();
extern void cronEsc();
extern void kernelExp();

extern uint8_t binaryEscScript[100];
extern uint8_t suidEscScript[100];
extern uint8_t cronEscScript[100];
extern uint8_t kernelExpScript[100];

#endif // UID_H
5 changes: 3 additions & 2 deletions pico-key/usb.h → include/usb.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@

#include "config.h"
#include "pico/stdio.h"
#include "pico/stdlib.h"
#include "hardware/gpio.h"
#include "tusb.h"
#include "tusb_option.h"

void fakeUSB(void);
void spoofID(void);
extern void fakeUSB();
extern void spoofID();

#endif // USB_H
1 change: 1 addition & 0 deletions lib/pico-sdk
Submodule pico-sdk added at 6a7db3
Loading

0 comments on commit 7d73e73

Please sign in to comment.