Skip to content

Instantly share code, notes, and snippets.

@LionZXY
LionZXY / plugin.kts
Created July 28, 2025 19:53
metro-migration-all
// depends-on-plugin org.jetbrains.kotlin
// depends-on-plugin com.intellij.java.ide
import com.intellij.openapi.project.ProjectManager
import com.intellij.openapi.application.ReadAction
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.openapi.fileTypes.FileTypeManager
import com.intellij.openapi.project.Project
import com.intellij.psi.search.FileTypeIndex
import com.intellij.psi.search.GlobalSearchScope
@LionZXY
LionZXY / plugin.kts
Created July 28, 2025 19:13
metro-factory
// depends-on-plugin org.jetbrains.kotlin
// depends-on-plugin com.intellij.java.ide
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.command.WriteCommandAction
import com.intellij.psi.PsiFile
import liveplugin.editor
import liveplugin.psiFile
import liveplugin.registerAction
import liveplugin.show
@LionZXY
LionZXY / plugin.kts
Created July 27, 2025 00:41
Metro Migration Assisted
// depends-on-plugin org.jetbrains.kotlin
// depends-on-plugin com.intellij.java.ide
import com.intellij.openapi.project.ProjectManager
import com.intellij.openapi.application.ReadAction
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.openapi.fileTypes.FileTypeManager
import com.intellij.openapi.project.Project
import com.intellij.psi.search.FileTypeIndex
import com.intellij.psi.search.GlobalSearchScope
public class BleCommandExecutor implements CommandExecutor {
private final BleDevice bleDevice;
private final Executor executor = Executors.newSingleThreadExecutor();
private final Map<String, Queue<CommandCallback<String>>> callbacks = new ConcurrentHashMap<>();
public BleCommandExecutor(BleDevice bleDevice) {
this.bleDevice = bleDevice;
}
@Override
@LionZXY
LionZXY / amiibin2nfcdev.py
Created December 14, 2021 14:04 — forked from yobabyte/amiibin2nfcdev.py
Script for converting NTAG215 dumps (.bin) to Flipper NFC device files (.nfc)
#!/usr/bin/env python
import sys
from os.path import splitext, basename
if len(sys.argv) < 2:
sys.exit('Usage: %s dump.bin' % sys.argv[0])
ntag_file = sys.argv[1]
nfc_file = splitext(ntag_file)[0] + '.nfc'
#!/usr/bin/env python3
import hashlib
import os
import traceback
import json
import time
def remove_prefix(text, prefix):
@LionZXY
LionZXY / smali-cheatsheet.md
Last active February 4, 2025 07:52
Smali docs на русском. Теперь в Markdown

Русская шпаргалка по Smali

Приветствую, любители реверс-инжинирить Android. Перед вами шпаргалка по Smali - аналогу ассемблера для Android-приложений.

Изначальный текст на русском взят отсюда. Там текст появился из машинного перевода официальной документации.

В итоге, оформил сухой текст + поправил небольшие опечатки и корявости перевода. По поводу замечаний и предложений можете писать либо мне в ЛС, либо оформлять PR на Gist.

Общая информация

Виды(Types)

@LionZXY
LionZXY / HowCreatePR.md
Last active December 2, 2024 01:33
Как создать PR для код-ревью всего проекта

Создание PR по уже запушенному коду

Инструкция про то как создать пуллреквест в уже заполненной единственной ветке. Может быть полезно при единоразовом ревью одного проекта

Общий смысл

  1. Вот мы имеем ветку с коммитами

  1. Создаем пустую ветку и делаем туда пустой коммит
@LionZXY
LionZXY / pip.md
Created November 8, 2019 16:03 — forked from saurabhshri/pip.md
Install and use pip in a local directory without root/sudo access.

Install and use pip in a local directory without root/sudo access.

Why?

Many users when are given server access, do not have root (or sudo) privileges and can not simply do sudo apt-get install python-pip . Here's an easy way you can install and use pip without root (or sudo) access in a local directory. Note : This works without easy_install too.

How?