diff options
Diffstat (limited to 'sgsnemu/sgsnemu.c')
-rw-r--r-- | sgsnemu/sgsnemu.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index ecf8ee8..53a1cc0 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -374,7 +374,9 @@ int process_options(int argc, char **argv) { printf("Invalid IMSI\n"); return -1; } - options.imsi = ((uint64_t) (args_info.imsi_arg[ 0]-48)); + + options.imsi = 0xf000000000000000; + options.imsi |= ((uint64_t) (args_info.imsi_arg[ 0]-48)); options.imsi |= ((uint64_t) (args_info.imsi_arg[ 1]-48)) << 4; options.imsi |= ((uint64_t) (args_info.imsi_arg[ 2]-48)) << 8; options.imsi |= ((uint64_t) (args_info.imsi_arg[ 3]-48)) << 12; @@ -655,6 +657,8 @@ int imsi_add(uint64_t src, uint64_t *dst, int add) { i64 = i64 / 10; } + *dst |= 0xf000000000000000; + return 0; } |