View difference between Paste ID: rA56Ufpz and p4h7MrnJ
SHOW: | | - or go back to the newest paste.
1
#include <stdio.h>
2
3
4
char buf[4096];
5
6
void decrypt(char *mem, int len, char initial, char step) {
7-
int x = 170, i=0, r2=0;;
7+
  int i=0;
8
  char x = initial;
9
  for(i=0; i<len; i++)
10-
  FILE *in = fopen("dump.bin", "r"); // file to open (vm code dump)
10+
11
    mem[i] ^= x;
12-
  for(i=0x100; i<0x100+0x80; i++)
12+
    x+=step;
13
  }
14-
    char c = buf[i];
14+
15-
    printf("%c", c^x);
15+
16-
    x++;
16+
17
  int i=0;
18
// decode next decrypt code
19-
// decrypt next sequence (GET)
19+
  FILE *in = fopen("initial", "r");
20-
  r2=0;
20+
21-
  x = 50;
21+
  
22-
  char c;
22+
  decrypt(buf+0x100, 0x80, 170, 1); // decrypt first decryptor at 0x100
23-
  do {
23+
  decrypt(buf+0x1c0, 0x1F2 - 0x1C0, 50, 3); // decrypt get string
24-
    c = buf[0x1c0 + r2];
24+
  
25-
    c ^= x;
25+
//dump memory
26-
    buf[0x1c0+r2] = c;
26+
27-
    r2++;
27+
28-
    x+=3;
28+
}
29-
    //if(r2==0) jump x
29+