• 3 Posts
  • 26 Comments
Joined 1 year ago
cake
Cake day: July 2nd, 2023

help-circle
  • The exploit’s sophistication and the feature’s obscurity suggest the attackers had advanced technical capabilities

    exploiting a vulnerability in an undocumented hardware feature that few if anyone outside of Apple and chip suppliers such as ARM Holdings knew of.

    according to Russian officials also infected the iPhones of thousands of people working inside diplomatic missions and embassies in Russia

    the devices were infected with full-featured spyware that, among other things, transmitted microphone recordings, photos, geolocation, and other sensitive data to attacker-controlled servers

    Sounds like government espionage

    puts tinfoil hat on






















  • This is fun to play around and basically what Python does under the hood to implement classes. In Python2 it was even more obvious that classes are just fancy wrappers around a dict called, unsurprisingly, __dict__.

    class Foo: 
        def __init__(self):
            self.__dict__["instance_method"] = lambda: "instance_method"
            self.__dict__["shadowed_class_method"] = lambda: "shadowed_class_method_from_instance"
            
    
    Foo.__dict__["class_method"] = lambda cls: "class_method"
    Foo.__dict__["shadowed_class_method"] = lambda cls: "shadowed_class_method_from_class"
    
    f = Foo()
    f.__dict__["dynamic_instance_method"] = lambda: "dynamic_instance_method"
    
    print f.instance_method()
    print f.dynamic_instance_method()
    print f.class_method()
    print f.shadowed_class_method()
    
    OUTPUT:
    instance_method
    dynamic_instance_method
    class_method
    shadowed_class_method_from_instance
    

    Note: this won’t work in Python3 because the class.__dict__ becomes immutable at some point after declaring it, but the attribute name resolution stays the same. And it gets more interesting once you throw inheritance into the mix.