{ "info": { "author": "Swing", "author_email": "bestswngs@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "## Outline\n\n\n\n### about swpwn\n\n\n\nwrapper for pwtools\uff0c Debug and exploit for CTF .\n\nA pwn framework(based on `pwntools`) aiming at eliminating dull work while scripting and debugging.\n\n\n\n\n\n### Install \n\n`python setup.py install` \n\nor copy the **swpwn.py** to your directory\n\n### usage\n\n#### 0x01 init pwn\n\n```python\nfrom swpwn import *\n\nio,elf,libc = init_pwn(BIN_FILE = 'bin',LIBC_FILE='libc.so.6',remote_detail=('127.0.0.1',23333),is_env = False)\n```\n\n\n\nfecture:\n\n```python\ndef init_pwn(BIN_FILE = '',LIBC_FILE='',remote_detail=('127.0.0.1',23333),is_env = False):\n \"\"\"\n init pwn infomation\n usage: binary ,libc.so ,remote ip and port and if use libc to debug\n \n return io,elf,libc\n \"\"\"\n global io\n elf = ELF(BIN_FILE)\n \n# if LIBC_FILE:\n# libc = ELF(LIBC_FILE)\n# else:\n# libc = elf.libc\n # io = process(binary,env = {'LD_PRELOAD': './libc.so.6'})\n env = {'LD_PRELOAD':os.getcwd() + '/' + LIBC_FILE}\n if opt.local:\n if is_env:\n io = process(BIN_FILE,env=env)\n libc = ELF(LIBC_FILE)\n else:\n io = process(BIN_FILE)\n libc = elf.libc\n else:\n io = remote(remote_detail[0],remote_detail[1],timeout=5)\n libc = ELF(LIBC_FILE)\n\n return io,elf,libc\n```\n\n\n\n\n\n\n\n#### 0x02 init debug\n\ncall init_debug(io,breakpoint=['0x1234','0xdeadbeef'],pie = False)\n\n```python\ndef init_debug(io,breakpint=[],pie = False):\n \"\"\"\n init debug\n usage: io, breakpoint ,pie if open\n return breakpoint and get gdb attach PID\n \"\"\"\n if pie:\n base_addr = get_base_addr(proc.pidof(io)[0])\n bp = ''.join(['b *0x%x\\n'%(b+base_addr) for b in breakpint])\n else:\n bp = ''.join(['b *0x%x\\n'% b for b in breakpint])\n\n gdb.attach(proc.pidof(io)[0],bp)\n return bp\n```\n\n\n\nif your binary open pie, you can set pie is true ,than the program will auto find the code base by **get_base_addrt** function.\n\n#### 0x03 quick script\n\n\n\n```python\nru = lambda x : io.recvuntil(x)\nsn = lambda x : io.send(x)\nrl = lambda : io.recvline()\nsl = lambda x : io.sendline(x)\nrv = lambda x : io.recv(x)\nsa = lambda a,b : io.sendafter(a,b)\nsla = lambda a,b : io.sendlineafter(a,b)\n```\n\n\n\nwe can use the simple word to call IO Function. \n\n### 0x04 get main_arean\n\n\n\nuse obj dump get main_arean offest\n\n\n\n### TODO\n\nquick find magic function add, like main_arean,malloc_hook...\n\n- [x] malloc_hook\n\n- [ ] Free_hook\n\n- [x] main_arean\n\n- [ ] system\n\n- [ ] onegadget\n\n .....", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/WinMin/some-gadget/tree/master/mypwn", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "swpwn", "package_url": "https://pypi.org/project/swpwn/", "platform": "", "project_url": "https://pypi.org/project/swpwn/", "project_urls": { "Homepage": "https://github.com/WinMin/some-gadget/tree/master/mypwn" }, "release_url": "https://pypi.org/project/swpwn/1.0.3/", "requires_dist": null, "requires_python": ">=2.7.0", "summary": "My short description for my project.", "version": "1.0.3" }, "last_serial": 4541960, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "52554a4ad03209b42b45f942759d85f2", "sha256": "b305bdd26f2ac1bb8e20094f2445f78ff73f098aa105b5db4c8a6bee10ecc5fe" }, "downloads": -1, "filename": "swpwn-1.0.2-py2.7.egg", "has_sig": false, "md5_digest": "52554a4ad03209b42b45f942759d85f2", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": ">=2.7.0", "size": 10297, "upload_time": "2018-11-29T03:53:32", "url": "https://files.pythonhosted.org/packages/e4/b5/d77e913bccb3402f60bd8428d53e5f8525d4fe083c054e38818368692467/swpwn-1.0.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b49c4bc02396869f64b5b20529ee25ee", "sha256": "b46e780cafbbcc12b3b5e497df17880d23d659252df6ecea67e6481efe529768" }, "downloads": -1, "filename": "swpwn-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b49c4bc02396869f64b5b20529ee25ee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7.0", "size": 5648, "upload_time": "2018-11-29T03:53:30", "url": "https://files.pythonhosted.org/packages/e9/ae/af15d45ffb2e768be206b2e01891f3d6eebd7d63c4dec872be5ca693f486/swpwn-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f839a1d486ffad642bb0da8a5c6604d", "sha256": "8c0f2d8f1d2dfd56844b41b9847eb76fedda034745f4a0abdfd9b1fd55c2344f" }, "downloads": -1, "filename": "swpwn-1.0.2.tar.gz", "has_sig": false, "md5_digest": "8f839a1d486ffad642bb0da8a5c6604d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7.0", "size": 5264, "upload_time": "2018-11-29T03:53:33", "url": "https://files.pythonhosted.org/packages/5a/c8/73a7bca111ac76298ece74335590371a50f219bcb7b6c1da0fd24cb407ff/swpwn-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "b95c23c73b69f1b5ea9c056b8a684d72", "sha256": "00f15f245b6cee1b3b2c56def00e0d5373c64bb24006eae0d91d3f5f3ed66227" }, "downloads": -1, "filename": "swpwn-1.0.3.tar.gz", "has_sig": false, "md5_digest": "b95c23c73b69f1b5ea9c056b8a684d72", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7.0", "size": 5484, "upload_time": "2018-11-29T07:37:43", "url": "https://files.pythonhosted.org/packages/79/4d/7a365a39f271b0eba7e176595435197059d5d57b10be55d8a136489f2c8c/swpwn-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b95c23c73b69f1b5ea9c056b8a684d72", "sha256": "00f15f245b6cee1b3b2c56def00e0d5373c64bb24006eae0d91d3f5f3ed66227" }, "downloads": -1, "filename": "swpwn-1.0.3.tar.gz", "has_sig": false, "md5_digest": "b95c23c73b69f1b5ea9c056b8a684d72", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7.0", "size": 5484, "upload_time": "2018-11-29T07:37:43", "url": "https://files.pythonhosted.org/packages/79/4d/7a365a39f271b0eba7e176595435197059d5d57b10be55d8a136489f2c8c/swpwn-1.0.3.tar.gz" } ] }