9 #define TITLE "GameHack 1.0 ALPHA "
11 char cmd_line
[CMD_LEN
];
12 char cmd_line_tmp
[CMD_LEN
];
14 void notify_show(char *text
)
16 start_app("/sys/@notify", text
);
21 strcpy(cmd_line_tmp
, cmd_line
);
22 char *cmd
= strtok(cmd_line_tmp
, " \n");
23 if(!strcmp(cmd
, "pause")){
26 else if(!strcmp(cmd
, "play")){
29 else if(!strcmp(cmd
, "exit")){
32 else if(!strcmp(cmd
, "write")){
35 if(sscanf(cmd_line
, "%s %x %d %d",cmd_line
, &addr
, &val
, &val
)==3){
36 if(kdebugger_write(PID
, sizeof(int), addr
, &val
)==-1){
37 puts("Memory write error!");
40 puts("Invalid arguments!");
43 else if(!strcmp(cmd
, "read")){
46 if(sscanf(cmd_line
, "%s %x %x",cmd_line
, &addr
, &addr
)==2){
47 if(kdebugger_read(PID
, sizeof(int), addr
, &val
)==-1){
48 puts("Memory read error!");
50 printf("0x%.8X: %d\n", addr
, val
);
52 puts("Invalid arguments!");
57 else if(!strcmp(cmd
, "help"))
60 puts(" write [addres] [value] - Write DWORD value by address.");
61 puts(" read [addres] [value] - Read DWORD value by address.");
62 puts(" pause - Suspend the game (process)." );
63 puts(" play - Resume running the game(process).");
64 puts(" find [value] - Search for DWORD value in memory(VIP).");
66 else if(!strcmp(cmd
, "find"))
68 puts("Not yet implemented ...");
71 puts("Unknown command!");
75 int main(int argc
, char* argv
[])
78 notify_show("'No game selected!' -E");
81 con_init_console_dll();
83 PID
= load_game(argv
[1], NULL
);
86 notify_show("'Game not loaded!' -E");
92 con_gets(cmd_line
, CMD_LEN
);
94 memset(cmd_line
, '\n', CMD_LEN
);