MarioLuisGarcia

今天刚发现 py 文件可以自己改变自己的内容,感觉可以用这个写出很好玩的东西!

  •  
  •   MarioLuisGarcia · May 1, 2014 · 4200 views
    This topic created in 4398 days ago, the information mentioned may be changed or developed.
    一个简单的例子。

    vim test.py

    f = open('test.py', 'a')
    f.write("print 'hello world'\n") # \n to start a new line to avoid syntax error
    13 replies    2014-05-02 08:33:13 +08:00
    Tink
        1
    Tink  
    PRO
       May 1, 2014 via iPhone
    运行中的文件也能改嚒?比如一个死循环,运行中也能修改内容?
    koykoi
        2
    koykoi  
       May 1, 2014
    已经编译成pyc执行了吧 当然可以改
    phyng
        3
    phyng  
       May 1, 2014
    楼主可以试试两个py文件互相修改互相调用¯﹃¯
    lululau
        4
    lululau  
       May 1, 2014
    都可以改的啊

    test.c:

    FILE *f = fopen("./test", "a");
    fprintf(f, "\nhello world\n");
    fclose(f);
    phuslu
        5
    phuslu  
       May 1, 2014   ❤️ 1
    Monad
        6
    Monad  
       May 1, 2014 via iPhone
    试试写一个输出自己内容的py
    yakiang
        7
    yakiang  
       May 1, 2014
    quine
    loading
        8
    loading  
       May 1, 2014 via Android
    你们自我进化吗?
    alexapollo
        9
    alexapollo  
       May 1, 2014
    @phuslu 大神的这个密码看不懂啊……
    phuslu
        10
    phuslu  
       May 1, 2014
    @alexapollo 啊,不好意思,写了一个类似的 gist 的,发现贴出来以后没有显示,我再试下啊。

    https://gist.github.com/phuslu/9cf138e5ee4ea67ea425
    Mutoo
        12
    Mutoo  
       May 2, 2014
    冯诺依曼的储存程序体系一直都是这样的。程序即储存在存储介质上的数据。
    数据可以被改写,于是程序也可以。
    这导致了黑客可以利用不严格的指针检查越过数组边界改写栈空间附近程序。
    当一个有root权限程序在运行时被以这种方法修改的时候,黑客可以做任何他想做的事。
    hitsmaxft
        13
    hitsmaxft  
       May 2, 2014
    @phuslu 不用贴raw格式
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3005 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 07:50 · PVG 15:50 · LAX 00:50 · JFK 03:50
    ♥ Do have faith in what you're doing.