mirror of
https://github.com/Sneed-Group/pypush-plus-plus
synced 2024-12-23 11:22:42 -06:00
integrate it into the demo
This commit is contained in:
parent
519c3ba2bb
commit
281f9e8cb2
3 changed files with 21 additions and 14 deletions
5
demo.py
5
demo.py
|
@ -79,7 +79,10 @@ if CONFIG.get("id", {}).get("cert") is not None:
|
||||||
id_keypair = ids._helpers.KeyPair(CONFIG["id"]["key"], CONFIG["id"]["cert"])
|
id_keypair = ids._helpers.KeyPair(CONFIG["id"]["key"], CONFIG["id"]["cert"])
|
||||||
user.restore_identity(id_keypair)
|
user.restore_identity(id_keypair)
|
||||||
else:
|
else:
|
||||||
vd = input_multiline("Enter validation data: ")
|
#vd = input_multiline("Enter validation data: ")
|
||||||
|
import emulated.nac
|
||||||
|
vd = emulated.nac.generate_validation_data()
|
||||||
|
vd = b64encode(vd).decode()
|
||||||
user.register(vd)
|
user.register(vd)
|
||||||
|
|
||||||
print(user.lookup(["mailto:textgpt@icloud.com"]))
|
print(user.lookup(["mailto:textgpt@icloud.com"]))
|
||||||
|
|
|
@ -2,6 +2,9 @@ from io import BytesIO
|
||||||
import unicorn
|
import unicorn
|
||||||
from . import mparser as macholibre
|
from . import mparser as macholibre
|
||||||
|
|
||||||
|
print = lambda *args, **kwargs: None
|
||||||
|
|
||||||
|
|
||||||
STOP_ADDRESS = 0x00900000 # Used as a return address when calling functions
|
STOP_ADDRESS = 0x00900000 # Used as a return address when calling functions
|
||||||
|
|
||||||
ARG_REGISTERS = [
|
ARG_REGISTERS = [
|
||||||
|
|
|
@ -350,11 +350,12 @@ def arc4random(j: Jelly) -> int:
|
||||||
return random.randint(0, 0xFFFFFFFF)
|
return random.randint(0, 0xFFFFFFFF)
|
||||||
#return 0
|
#return 0
|
||||||
|
|
||||||
def main():
|
def load_nac() -> Jelly:
|
||||||
binary = load_binary()
|
binary = load_binary()
|
||||||
binary = get_x64_slice(binary)
|
binary = get_x64_slice(binary)
|
||||||
# Create a Jelly object from the binary
|
# Create a Jelly object from the binary
|
||||||
j = Jelly(binary)
|
j = Jelly(binary)
|
||||||
|
|
||||||
hooks = {
|
hooks = {
|
||||||
"_malloc": malloc,
|
"_malloc": malloc,
|
||||||
"___stack_chk_guard": lambda: 0,
|
"___stack_chk_guard": lambda: 0,
|
||||||
|
@ -395,22 +396,22 @@ def main():
|
||||||
"_arc4random": arc4random
|
"_arc4random": arc4random
|
||||||
}
|
}
|
||||||
j.setup(hooks)
|
j.setup(hooks)
|
||||||
#j.uc.hook_add(unicorn.UC_HOOK_CODE, hook_code)
|
|
||||||
|
|
||||||
from base64 import b64encode
|
return j
|
||||||
cert = get_cert()
|
|
||||||
val_ctx, req = nac_init(j,cert)
|
|
||||||
print(f"Validation Context: {hex(val_ctx)}")
|
|
||||||
print(f"Request: {b64encode(req).decode()}")
|
|
||||||
|
|
||||||
|
def generate_validation_data() -> bytes:
|
||||||
|
j = load_nac()
|
||||||
|
val_ctx, req = nac_init(j,get_cert())
|
||||||
session_info = get_session_info(req)
|
session_info = get_session_info(req)
|
||||||
print(f"Session Info: {b64encode(session_info).decode()}")
|
|
||||||
|
|
||||||
nac_submit(j, val_ctx, session_info)
|
nac_submit(j, val_ctx, session_info)
|
||||||
|
|
||||||
val_data = nac_generate(j, val_ctx)
|
val_data = nac_generate(j, val_ctx)
|
||||||
|
return bytes(val_data)
|
||||||
print(f"Validation Data: {b64encode(val_data).decode()}")
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
from base64 import b64encode
|
||||||
|
val_data = generate_validation_data()
|
||||||
|
print(f"Validation Data: {b64encode(val_data).decode()}")
|
||||||
|
#main()
|
||||||
|
else:
|
||||||
|
# lazy hack: Disable print so that it's clean when not debugging
|
||||||
|
print = lambda *args, **kwargs: None
|
Loading…
Reference in a new issue