asmshell

所属分类:collect
开发工具:GO
文件大小:0KB
下载次数:0
上传日期:2019-03-17 10:59:49
上 传 者sh-1993
说明:  多拱形命令行汇编程序外壳,
(Multi-arch command line assembler shell,)

文件列表:
LICENSE (1052, 2019-03-17)
Makefile (4774, 2019-03-17)
TODO.txt (253, 2019-03-17)
go/ (0, 2019-03-17)
go/arch/ (0, 2019-03-17)
go/arch/arm.go (2497, 2019-03-17)
go/arch/arm64.go (3090, 2019-03-17)
go/arch/armThumb.go (2492, 2019-03-17)
go/arch/common.go (8868, 2019-03-17)
go/arch/i8086.go (1640, 2019-03-17)
go/arch/m68k.go (1545, 2019-03-17)
go/arch/mips.go (2882, 2019-03-17)
go/arch/mips64.go (2994, 2019-03-17)
go/arch/powerpc.go (700, 2019-03-17)
go/arch/powerpc64.go (759, 2019-03-17)
go/arch/run_test.go (10044, 2019-03-17)
go/arch/sparc.go (2816, 2019-03-17)
go/arch/sparc64.go (2687, 2019-03-17)
go/arch/systemZ.go (533, 2019-03-17)
go/arch/x64.go (2063, 2019-03-17)
go/arch/x86.go (1706, 2019-03-17)
go/const.go (258, 2019-03-17)
go/examples/ (0, 2019-03-17)
go/examples/sample.go (1608, 2019-03-17)
go/help.go (1932, 2019-03-17)
go/main.go (1678, 2019-03-17)
go/shell.go (5862, 2019-03-17)
go/utils/ (0, 2019-03-17)
go/utils/pallet.go (1779, 2019-03-17)
html/ (0, 2019-03-17)
html/index.html (2263, 2019-03-17)
images/ (0, 2019-03-17)
images/diff.jpg (46125, 2019-03-17)
images/go_x64.jpg (155795, 2019-03-17)
images/go_x86.jpg (165485, 2019-03-17)
images/python_x64.jpg (131212, 2019-03-17)
images/python_x86.jpg (153524, 2019-03-17)

Assembler Shell(asmshell) ============== Assembler([Keystone-Engine](http://www.keystone-engine.org/)) + Emulator([Unicorn-Engine](http://www.unicorn-engine.org/)) + interactive cli library([ishell](https://github.com/abiosoft/ishell)) = Text-based Assembler Emulator Assembler Shell(asmshell) is a Text-based assembler emulator. You can easily check the execution result of the assembler. Enjoy! :) ## Feature Multi-architecture support(depends on unicorn/keystone-engine) Assemble & emulation : i8086, x86, x64, arm-thumb(be), arm(be), arm64, mips(be), mips64(be), sparc, sparc64 Assemble only : powerpc, powerpc64(le), sparcle, systemZ Future support : arm64be, m68k Useful functions Shell like commands : fragments, run linux commands...etc Handled like a shell : Ctrl-P/Ctrl-N, Ctrl-A/Ctrl-E, Ctrl-H/Ctr-D...etc Cross Platform(depends on go) : *NIX, OSX, Windows APIs : see go/examples ## Install Go language, unicorn-engine and keystone-engine are necessary, but the installation process is automated with Makefile. ### Linux/Mac 1. Install [CMake](https://cmake.org/download/)/Python(2.X,virtualenv)/make/Compiler(gcc,g++)/Git 2. Build asmshell `$ virtualenv2 ENV && . ENV/bin/activate` `$ git clone https://github.com/poppycompass/asmshell` `$ cd asmshell && make` `$ ./asmshell.exe -h` If you have already installed go and unicorn, keystone and capstone, run this. $ make symlink deps asmshell ### Windows TODO ## Usage ### Help $ ./asmshell.exe [-h/--help] ### x86 $ ./asmshell.exe ![x86 mode](https://github.com/poppycompass/asmshell/blob/master/images/go_x86.jpg) ### x64 $ ./asmshell.exe -a x64 ![x64 mode](https://github.com/poppycompass/asmshell/blob/master/images/go_x64.jpg) ## Tutorial ### Fragment Commands(Example: Symbol, Read file) You can register mnemonic fragments. $ ./asmshell.exe (x86)> fragment symbol # register from input in> mov ecx, 0x20 ... l1: ... inc eax ... dec ecx ... jnz l1; # ';' is end the register 'symbol` is registered (x86)> fragment show # show registered fragments. If you want show specify fragments, run this -> 'fragment show ...' 'symbol' l1: inc eax dec ecx jnz l1 (x86)> fragment run symbol Read from file. $ cat xor.txt xor ax, cx $ ./asmshell.exe (x86)> f encrypt encrypt.txt # register from file. 'f' is alias of fragment (x86)> f s encrypt # 'f s' is alias of 'fragment show' (x86)> f r encrypt # fragment run encrypt If you want to register binary code, change filename to ".bin".(".bin" suffix is very important) (x86)> f test code.bin # disassemble code.bin and register (x86)> f s test ### Change Architecture $ ./asmshell.exe (x86)> set # show available architecture Usage: set Supported: i8086, x86, x64, arm-thumb(be), arm(be), arm64, mips(be), mips64(be), sparc(le), sparc64, [ppc|powerpc], [ppc64(le)|powerpc64(le)], [sysz|systemz|systemZ] (x86)> set arm (arm)> ### Run shell command(now linux & mac only) $ ./asmshell.exe (x86)> !ls -lga ## Available Shell Commands help : display help fragment [run/show/delete] : register/run/show/delete fragment ! : run shell commands set : set architecture and mode exit/quit/q : exit the program ## Contribution I am not an architectual expert. Therefore, I think there are many bugs and strangeness in this program. If you want to contribute, please pick up something from our [Github issues](https://github.com/poppycompass/asmshell/issues). We also maintain a list of more challenged problems in a [TODO.txt](https://github.com/poppycompass/asmshell/blob/master/TODO.txt). ## License The software in this repository is covered by [the MIT license](LICENSE). ## Author poppycompass (t0g0v31dk at gmail dot com)

近期下载者

相关文件


收藏者