forked from Hay1tsme/artemis
adb: update register
This commit is contained in:
parent
46dd8fe84f
commit
d7f9eed3f2
@ -29,7 +29,7 @@ class AimedbProtocol(Protocol):
|
|||||||
self.register_handler(0x09, 0x0A, self.handle_log, 'log')
|
self.register_handler(0x09, 0x0A, self.handle_log, 'log')
|
||||||
self.register_handler(0x0B, 0x0C, self.handle_campaign, 'campaign')
|
self.register_handler(0x0B, 0x0C, self.handle_campaign, 'campaign')
|
||||||
self.register_handler(0x0D, 0x0E, self.handle_touch, 'touch')
|
self.register_handler(0x0D, 0x0E, self.handle_touch, 'touch')
|
||||||
self.register_handler(0x0F, 0x10, self.handle_lookup2, 'lookup2')
|
self.register_handler(0x0F, 0x10, self.handle_lookup, 'lookup2')
|
||||||
self.register_handler(0x11, 0x12, self.handle_felica_lookup2, 'felica_lookup2')
|
self.register_handler(0x11, 0x12, self.handle_felica_lookup2, 'felica_lookup2')
|
||||||
self.register_handler(0x13, 0x14, self.handle_log2, 'log2')
|
self.register_handler(0x13, 0x14, self.handle_log2, 'log2')
|
||||||
self.register_handler(0x64, 0x65, self.handle_hello, 'hello')
|
self.register_handler(0x64, 0x65, self.handle_hello, 'hello')
|
||||||
@ -131,9 +131,6 @@ class AimedbProtocol(Protocol):
|
|||||||
"""
|
"""
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def handle_lookup2(self, data: bytes, resp_code: int) -> ADBBaseResponse:
|
|
||||||
return self.handle_lookup(data, resp_code)
|
|
||||||
|
|
||||||
def handle_felica_lookup(self, data: bytes, resp_code: int) -> bytes:
|
def handle_felica_lookup(self, data: bytes, resp_code: int) -> bytes:
|
||||||
idm = data[0x20:0x28].hex()
|
idm = data[0x20:0x28].hex()
|
||||||
pmm = data[0x28:0x30].hex()
|
pmm = data[0x28:0x30].hex()
|
||||||
@ -195,7 +192,7 @@ class AimedbProtocol(Protocol):
|
|||||||
return ADBTouchResponse(resp_code, 0x0050)
|
return ADBTouchResponse(resp_code, 0x0050)
|
||||||
|
|
||||||
def handle_register(self, data: bytes, resp_code: int) -> bytes:
|
def handle_register(self, data: bytes, resp_code: int) -> bytes:
|
||||||
luid = data[0x20:0x2A].hex()
|
req = ADBLookupRequest(data)
|
||||||
if self.config.server.allow_user_registration:
|
if self.config.server.allow_user_registration:
|
||||||
user_id = self.data.user.create_user()
|
user_id = self.data.user.create_user()
|
||||||
|
|
||||||
@ -204,22 +201,25 @@ class AimedbProtocol(Protocol):
|
|||||||
self.logger.error("Failed to register user!")
|
self.logger.error("Failed to register user!")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
card_id = self.data.card.create_card(user_id, luid)
|
card_id = self.data.card.create_card(user_id, req.access_code)
|
||||||
|
|
||||||
if card_id is None:
|
if card_id is None:
|
||||||
user_id = -1
|
user_id = -1
|
||||||
self.logger.error("Failed to register card!")
|
self.logger.error("Failed to register card!")
|
||||||
|
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
f"register from {self.transport.getPeer().host}: luid {luid} -> user_id {user_id}"
|
f"Register access code {req.access_code} -> user_id {user_id}"
|
||||||
)
|
)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
f"register from {self.transport.getPeer().host} blocked!: luid {luid}"
|
f"Registration blocked!: access code {req.access_code}"
|
||||||
)
|
)
|
||||||
user_id = -1
|
user_id = -1
|
||||||
|
|
||||||
|
resp = ADBLookupResponse(resp_code, 0x30, 1 if user_id > 0 else 0)
|
||||||
|
resp.user_id = user_id
|
||||||
|
"""
|
||||||
ret = struct.pack(
|
ret = struct.pack(
|
||||||
"<5H",
|
"<5H",
|
||||||
0xA13E,
|
0xA13E,
|
||||||
@ -230,8 +230,8 @@ class AimedbProtocol(Protocol):
|
|||||||
)
|
)
|
||||||
ret += bytes(0x20 - len(ret))
|
ret += bytes(0x20 - len(ret))
|
||||||
ret += struct.pack("<l", user_id)
|
ret += struct.pack("<l", user_id)
|
||||||
|
"""
|
||||||
return self.append_padding(ret)
|
return resp
|
||||||
|
|
||||||
def handle_log(self, data: bytes, resp_code: int) -> bytes:
|
def handle_log(self, data: bytes, resp_code: int) -> bytes:
|
||||||
# TODO: Save aimedb logs
|
# TODO: Save aimedb logs
|
||||||
|
Loading…
Reference in New Issue
Block a user