Golang : Convert an executable file into []byte example
This small utility program will read an executable file(or just any file) and convert the content into a []byte
slice. For our learning purpose, we will write a simple Hello World program using C language and convert the executable file a.out
into []byte
slice.
Here you go!
HelloWorld.c
#include <stdio.h>
int main()
{
printf("Hello, World!");
return 0;
}
and after compiling with gcc
, we will get small a.out
executable file. The Golang program below will convert the executable file to []byte
slice, which we will use for the next tutorial...which is about giving birth to another program during runtime.
package main
import (
"fmt"
"io/ioutil"
)
func main() {
file, err := ioutil.ReadFile("a.out")
if err != nil {
panic(err)
}
// get the size of file
size := len(file)
// out the file content
fmt.Print("[]byte{")
for k, v := range file {
fmt.Print(v)
if k < size-1 {
fmt.Print(",")
}
}
fmt.Print("}")
}
See also : Golang : A program that contain another program and executes it during run-time
By Adam Ng(黃武俊)
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+8.4k Golang : Executing and evaluating nested loop in html template
+8.7k nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
+34k Golang : How to stream file to client(browser) or write to http.ResponseWriter?
+13.2k Golang : Query string with space symbol %20 in between
+28.9k Golang : How to create new XML file ?
+8.7k Golang : Capture text return from exec function example
+29.2k Golang : How to declare kilobyte, megabyte, gigabyte, terabyte and so on?
+5.5k Golang : Markov chains to predict probability of next state example
+26.3k Golang : How to check if a connection to database is still alive ?
+9k Golang : Detect Pascal, Kebab, Screaming Snake and Camel cases
+16.1k Golang : How to implement two-factor authentication?
+13k Facebook PHP getUser() returns 0