Added many, many more actions.
This commit is contained in:
49
mono/ikdasm-files/action.yaml
Normal file
49
mono/ikdasm-files/action.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
name: ikdasm-files
|
||||
description: "Run ikdasm to disassemble .NET assemblies in a folder."
|
||||
inputs:
|
||||
directory:
|
||||
description: "Directory to search."
|
||||
required: true
|
||||
default: '.'
|
||||
pattern:
|
||||
description: "Pattern of files to search for."
|
||||
required: true
|
||||
default: '*.dll'
|
||||
extension:
|
||||
description: "Extension of the disassembly files. Default: .dasm"
|
||||
required: true
|
||||
default: '.dasm'
|
||||
deleteAssemblies:
|
||||
description: "Whether or not the assemblies should be deleted afterwards."
|
||||
required: false
|
||||
default: "false"
|
||||
removeComments:
|
||||
description: "Whether or not the lines starting with // should be removed from the disassembled files."
|
||||
required: false
|
||||
default: "false"
|
||||
catchErrors:
|
||||
description: "Whether or not errors should be handled."
|
||||
required: false
|
||||
outputs:
|
||||
console:
|
||||
description: "The console output of the command."
|
||||
value: ${{ steps.ikdasm.outputs.console }}
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: "Make temporary file of script."
|
||||
id: script
|
||||
uses: act/common/utils/mktemp@master
|
||||
with:
|
||||
input: ${{ github.action_path }}/disassemble_files.sh
|
||||
tmpDir: .
|
||||
- name: "Run ikdasm script."
|
||||
id: ikdasm
|
||||
uses: act/common/mono/mono@master
|
||||
env:
|
||||
DASM_EXTENSION: ${{ inputs.extension }}
|
||||
with:
|
||||
program: bash
|
||||
command: ${{ steps.script.outputs.tmp }} "${{ inputs.directory }}" "${{ inputs.pattern }}" ${{ inputs.deleteAssemblies }} ${{ inputs.removeComments }}
|
||||
catchErrors: ${{ inputs.catchErrors }}
|
||||
|
||||
26
mono/ikdasm-files/disassemble_files.sh
Normal file
26
mono/ikdasm-files/disassemble_files.sh
Normal file
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
# Get the directory and pattern as arguments
|
||||
DIR=$1
|
||||
PATTERN=$2
|
||||
REMOVE_ORIGINAL=$3
|
||||
REMOVE_COMMENTS=$4
|
||||
|
||||
DASM_EXTENSION=${DASM_EXTENSION:-".dasm"}
|
||||
|
||||
find "$DIR" -type f -name "$PATTERN" -print0 | while IFS= read -r -d '' file; do
|
||||
# Disassemble the file and save it to a temporary file.
|
||||
OUTFILE="${file}${DASM_EXTENSION}"
|
||||
TMP=$(mktemp)
|
||||
ikdasm "$file" > "$TMP"
|
||||
if [[ "$REMOVE_COMMENTS" == "true" ]]; then
|
||||
# Remove lines starting with //
|
||||
sed -i '/^\/\//d' "$TMP"
|
||||
fi
|
||||
# Move the temporary file to the output file.
|
||||
mv "$TMP" "$OUTFILE"
|
||||
echo $(basename "$OUTFILE")
|
||||
|
||||
if [[ "$REMOVE_ORIGINAL" == "true" ]]; then
|
||||
rm "$file"
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user