• Stars
    star
    133
  • Rank 272,600 (Top 6 %)
  • Language
    Java
  • Created about 12 years ago
  • Updated about 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Pretends to be a phone to get a legit android_id

Android Checkin

Android Checkin allows you to register a google account as if you were on android.
It checks in google's servers by passing a Galaxy Nexus / JellyBean profile, and returns a valid android_id usable on Google Play.

The parameters identifying the device are randomized (but valid).

TODO: Add other devices, like tablets.

Usage

Programmatically:

/* Returns the android_id */
new com.android.checkin.Checkin.new(email, password).checkin()

From the command line:

# Outputs the registered android_id
java -jar android-checkin.jar <email> <password>

The request

You might be curious to know what is being sent:

AndroidCheckinRequest.newBuilder()
    // imei
    .setId(0)
    .setDigest("1-929a0dca0eee55513280171a8585da7dcd3700f8")
    .setCheckin(AndroidCheckinProto.newBuilder()
        .setBuild(AndroidBuildProto.newBuilder()
            .setId("google/yakju/maguro:4.1.1/JRO03C/398337:user/release-keys")
            .setProduct("tuna")
            .setCarrier("Google")
            .setRadio("I9250XXLA2")
            .setBootloader("PRIMELA03")
            .setClient("android-google")
            .setTimestamp(new Date().getTime()/1000)
            .setGoogleServices(16)
            .setDevice("maguro")
            .setSdkVersion(16)
            .setModel("Galaxy Nexus")
            .setManufacturer("Samsung")
            .setBuildProduct("yakju")
            .setOtaInstalled(false))
        .setLastCheckinMsec(0)
        .addEvent(AndroidEventProto.newBuilder()
            .setTag("event_log_start")
            // value
            .setTimeMsec(new Date().getTime()))
        // stat
        // requestedGroup
        .setCellOperator("310260") // T-Mobile
        .setSimOperator("310260")  // T-Mobile
        .setRoaming("mobile-notroaming")
        .setUserNumber(0))
    // desiredBuild
    .setLocale("en_US")
    .setLoggingId(loggingId)
    .addMacAddr(macAddr)
    .setMeid(meid)
    .addAccountCookie("[" + this.email + "]")
    .addAccountCookie(this.authGsf)
    .setTimeZone("America/New_York")
    // securityToken
    .setVersion(3)
    .addOtaCert("71Q6Rn2DDZl1zPDVaaeEHItd")
    .setSerialNumber(serial)
    // esn
    .setDeviceConfiguration(DeviceConfigurationProto.newBuilder()
        .setTouchScreen(3)
        .setKeyboard(1)
        .setNavigation(1)
        .setScreenLayout(2)
        .setHasHardKeyboard(false)
        .setHasFiveWayNavigation(false)
        .setScreenDensity(320)
        .setGlEsVersion(131072)
        .addAllSystemSharedLibrary(Arrays.asList(
            "android.test.runner",
            "com.android.future.usb.accessory",
            "com.android.location.provider",
            "com.android.nfc_extras",
            "com.google.android.maps",
            "com.google.android.media.effects",
            "com.google.widevine.software.drm",
            "javax.obex"))
        .addAllSystemAvailableFeature(Arrays.asList(
            "android.hardware.bluetooth",
            "android.hardware.camera",
            "android.hardware.camera.autofocus",
            "android.hardware.camera.flash",
            "android.hardware.camera.front",
            "android.hardware.faketouch",
            "android.hardware.location",
            "android.hardware.location.gps",
            "android.hardware.location.network",
            "android.hardware.microphone",
            "android.hardware.nfc",
            "android.hardware.screen.landscape",
            "android.hardware.screen.portrait",
            "android.hardware.sensor.accelerometer",
            "android.hardware.sensor.barometer",
            "android.hardware.sensor.compass",
            "android.hardware.sensor.gyroscope",
            "android.hardware.sensor.light",
            "android.hardware.sensor.proximity",
            "android.hardware.telephony",
            "android.hardware.telephony.gsm",
            "android.hardware.touchscreen",
            "android.hardware.touchscreen.multitouch",
            "android.hardware.touchscreen.multitouch.distinct",
            "android.hardware.touchscreen.multitouch.jazzhand",
            "android.hardware.usb.accessory",
            "android.hardware.usb.host",
            "android.hardware.wifi",
            "android.hardware.wifi.direct",
            "android.software.live_wallpaper",
            "android.software.sip",
            "android.software.sip.voip",
            "com.cyanogenmod.android",
            "com.cyanogenmod.nfc.enhanced",
            "com.google.android.feature.GOOGLE_BUILD",
            "com.nxp.mifare",
            "com.tmobile.software.themes"))
        .addAllNativePlatform(Arrays.asList(
            "armeabi-v7a",
            "armeabi"))
        .setScreenWidth(720)
        .setScreenHeight(1184)
        .addAllSystemSupportedLocale(Arrays.asList(
            "af", "af_ZA", "am", "am_ET", "ar", "ar_EG", "bg", "bg_BG",
            "ca", "ca_ES", "cs", "cs_CZ", "da", "da_DK", "de", "de_AT",
            "de_CH", "de_DE", "de_LI", "el", "el_GR", "en", "en_AU",
            "en_CA", "en_GB", "en_NZ", "en_SG", "en_US", "es", "es_ES",
            "es_US", "fa", "fa_IR", "fi", "fi_FI", "fr", "fr_BE",
            "fr_CA", "fr_CH", "fr_FR", "hi", "hi_IN", "hr", "hr_HR",
            "hu", "hu_HU", "in", "in_ID", "it", "it_CH", "it_IT", "iw",
            "iw_IL", "ja", "ja_JP", "ko", "ko_KR", "lt", "lt_LT", "lv",
            "lv_LV", "ms", "ms_MY", "nb", "nb_NO", "nl", "nl_BE",
            "nl_NL", "pl", "pl_PL", "pt", "pt_BR", "pt_PT", "rm",
            "rm_CH", "ro", "ro_RO", "ru", "ru_RU", "sk", "sk_SK", "sl",
            "sl_SI", "sr", "sr_RS", "sv", "sv_SE", "sw", "sw_TZ", "th",
            "th_TH", "tl", "tl_PH", "tr", "tr_TR", "ug", "ug_CN", "uk",
            "uk_UA", "vi", "vi_VN", "zh_CN", "zh_TW", "zu", "zu_ZA"))
        .addAllGlExtension(Arrays.asList(
            "GL_EXT_debug_marker",
            "GL_EXT_discard_framebuffer",
            "GL_EXT_multi_draw_arrays",
            "GL_EXT_shader_texture_lod",
            "GL_EXT_texture_format_BGRA8888",
            "GL_IMG_multisampled_render_to_texture",
            "GL_IMG_program_binary",
            "GL_IMG_read_format",
            "GL_IMG_shader_binary",
            "GL_IMG_texture_compression_pvrtc",
            "GL_IMG_texture_format_BGRA8888",
            "GL_IMG_texture_npot",
            "GL_IMG_vertex_array_object",
            "GL_OES_EGL_image",
            "GL_OES_EGL_image_external",
            "GL_OES_blend_equation_separate",
            "GL_OES_blend_func_separate",
            "GL_OES_blend_subtract",
            "GL_OES_byte_coordinates",
            "GL_OES_compressed_ETC1_RGB8_texture",
            "GL_OES_compressed_paletted_texture",
            "GL_OES_depth24",
            "GL_OES_depth_texture",
            "GL_OES_draw_texture",
            "GL_OES_egl_sync",
            "GL_OES_element_index_uint",
            "GL_OES_extended_matrix_palette",
            "GL_OES_fixed_point",
            "GL_OES_fragment_precision_high",
            "GL_OES_framebuffer_object",
            "GL_OES_get_program_binary",
            "GL_OES_mapbuffer",
            "GL_OES_matrix_get",
            "GL_OES_matrix_palette",
            "GL_OES_packed_depth_stencil",
            "GL_OES_point_size_array",
            "GL_OES_point_sprite",
            "GL_OES_query_matrix",
            "GL_OES_read_format",
            "GL_OES_required_internalformat",
            "GL_OES_rgb8_rgba8",
            "GL_OES_single_precision",
            "GL_OES_standard_derivatives",
            "GL_OES_stencil8",
            "GL_OES_stencil_wrap",
            "GL_OES_texture_cube_map",
            "GL_OES_texture_env_crossbar",
            "GL_OES_texture_float",
            "GL_OES_texture_half_float",
            "GL_OES_texture_mirrored_repeat",
            "GL_OES_vertex_array_object",
            "GL_OES_vertex_half_float")))
        // deviceClass
        // maxApkDownloadSizeMb
    .addMacAddrType("wifi")
    .setFragment(0)
    // userName

License

Android Checkin is released under the MIT license.

More Repositories

1

core-to-core-latency

Measures the latency between CPU cores
Jupyter Notebook
1,078
star
2

playdrone

Google Play Crawler
Ruby
420
star
3

stm32-emulator

Rust
358
star
4

jd-core-java

Java Library for JD-Core, a java decompiler
Java
257
star
5

turbo-resin

Open-source firmware for resin printers
Rust
210
star
6

irb-config

Enhances your Ruby REPL. Supports rails, mongoid, rspec and cucumber
Ruby
139
star
7

rspec-console

Run RSpec tests in your rails console
Ruby
101
star
8

reversing-mono4k

Reverse engineering of the Anycubic Mono 4K
BASIC
79
star
9

easy-finance

Personal finance accounting tool
JavaScript
79
star
10

vim-config

The Vim config I use
Vim Script
46
star
11

tmux-config

The tmux config I use
Makefile
45
star
12

mongoid_lazy_migration

Lazy Migrate your MongoDB documents to avoid downtime
Ruby
34
star
13

playdrone-kitchen

Kitchen for the Google Play Crawler cluster
Ruby
27
star
14

nginx-tcp-keepalive

Nginx TCP Keepalive configuration module
C
21
star
15

zsh-vim-plugin

Shell
20
star
16

tinyusb-sys-rs

Rust wrapper for the TinyUSB library
Rust
17
star
17

objc-tracer

Objective-C method call tracer
C
15
star
18

libscribe

Scribe user-space library
C
12
star
19

py-scribe

Scribe python bindings and Scribe userspace tools
Python
9
star
20

run_as_exe

C
8
star
21

tests-scribe

Test suite for Scribe
C
6
star
22

youtube-audio

Web service to stream the audio out of a youtube video in real time
Ruby
4
star
23

symbol_decoration

Support for Ruby symbol decorations such as where(:field.in => [1,2,3])
Ruby
3
star
24

stm32-gpio-monitor

Monitor the GPIO of a STM32 live
Rust
3
star
25

cflat

C Flat compiler
OCaml
3
star
26

cucumber-console

Run Cucumber tests in your console
Ruby
3
star
27

rails-env-switcher

Switch from a Rails environment to another
Ruby
3
star
28

thesis

My PhD thesis
TeX
2
star
29

abricot

Fast cloud command dispatcher tool with Redis pub/sub
Ruby
2
star
30

libssh

fork of libssh (bug fixes)
C
2
star
31

candy-crusher

Bot for candy crush
Ruby
2
star
32

edeliver-build-docker

docker image for edeliver
2
star
33

velvetpulse

My blog
CSS
1
star
34

mongoid-colors

Colorize your Mongoid traces
Ruby
1
star
35

synapse-benchmark

Ruby
1
star