1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <windows.h>

#define CODESEG 0x45444f43
#define DATASEG 0x41544144

#define ERR(err) { \
        fprintf(stderr, "error: %s\n", err); \
        goto done; }

typedef int (*dasm_t)(unsigned long instr, char *str, int sz, int y);

int main(int argc, char **argv)
{
        HINSTANCE hdll = NULL;
        char dasmstr[256];
        dasm_t dasm;
        uint32_t instr;
        int i,ret;

        hdll = LoadLibrary("abizsp.dll");
        if (hdll == NULL) ERR("cannot load dll")

        dasm = GetProcAddress(hdll, "dasm");
        if (dasm == NULL) ERR("whats?")


        instr = strtoul(argv[1],NULL,0);
        ret = dasm(instr, &dasmstr[0], 0, 0);
        dasmstr[255] = 0;
        printf("%s\n", dasmstr);

done:
        if (hdll != NULL) FreeLibrary(hdll);
        return 0;
}