美文网首页
2018第四届上海网络安全easy_pyc 的新手复现

2018第四届上海网络安全easy_pyc 的新手复现

作者: ryh000 | 来源:发表于2018-11-05 23:33 被阅读0次

    pycdc的安装

    git clone https://github.com/zrax/pycdc.git

    需要将下载下来的源码编译,下载一个编译软件

    sudo  apt-get install  cmake

    进入pycdc文件夹

    cmake .

    sudo make install

    sudo ldconfig (就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事)

    安装完成

    运行pycdas分析pyc

    ./pycdas    easy_pyc.pyc   

    反汇编报错,原因是试图载入一个常量表范围外的常亮,也就是大佬说的越界问题  13091的16进制0x2333,也就大佬说的在16进制编辑器中将2333改为0000

    修改后重新反汇编,加载出所有代码

    在上次那个指令集对照网址中对照指令集的意思,整理出源码

    对照过程如下:

    import string

    cmp = [  0, 10,7, 1,  29, 14,7, 22,  22, 31,57,30, 9, 52,27]

    s=''

    for c in cmp:

        for i in string.printable:

            if ~ord(i) & 102 | ord(i) & -103==c:

                s+=i

                break

    print s

    flag是异或后得到的,所以再异或一次就可以还原

    cmp = [  0, 10,7, 1,  29, 14,7, 22,  22, 31,57,30, 9, 52,27]

    for i in cmp:

            i=chr((~i&102  ) | (i&103))

    print(i,end="")

    flag{happy_xoR}

    相关文章

      网友评论

          本文标题:2018第四届上海网络安全easy_pyc 的新手复现

          本文链接:https://www.haomeiwen.com/subject/bcnexqtx.html