灰帽子python 读书笔记 2
2016-05-13 13:18
495 查看
今天的学习点是调用ctypes的createProcess函数来启动程序。
主要包括数据类型的映射和结构的映射等。
按书中的代码边抄边理解了之后,调用calc.exe,出现结果:
[*] Error: 0x00000002.
查了错误表,说是没找到文件。
机智的我把path_to_exe打出来:
C:\Windows\WinSxS\amd64_microsoft-windows-calc_31bf3856ad364e35_10.0.10586.0_none_36439993c5132b2e\calc.exe
[*] Error: 0x00000002.
发现有的反斜杠转义了,有的没有呢。
突然想到上一篇的宽字符问题,于是把my_debugger里的CreateProcessA改成CreateProcessW,来来来,给你宽宽宽。
这下路径倒是对了,但是又出了新的错误:
C:\Windows\WinSxS\amd64_microsoft-windows-calc_31bf3856ad364e35_10.0.10586.0_none_36439993c5132b2e\calc.exe
[*] Error: 0x00000032.
楞尼玛。。查这个32错误说是不支持的网络之类的。但是这个计算器程序根本不需要网络啊。
后来在stackoverflow上发现,说这个调64位程序就会异常,要调32位的,也就是在syswow64里面的那个计算器。
果然调那个就返回正确的样子了:
[*] We have successfully launched the process!
[*] PID: 8888
然而该怎么调64位的程序呢?
主要包括数据类型的映射和结构的映射等。
按书中的代码边抄边理解了之后,调用calc.exe,出现结果:
[*] Error: 0x00000002.
查了错误表,说是没找到文件。
机智的我把path_to_exe打出来:
C:\Windows\WinSxS\amd64_microsoft-windows-calc_31bf3856ad364e35_10.0.10586.0_none_36439993c5132b2e\calc.exe
[*] Error: 0x00000002.
发现有的反斜杠转义了,有的没有呢。
突然想到上一篇的宽字符问题,于是把my_debugger里的CreateProcessA改成CreateProcessW,来来来,给你宽宽宽。
这下路径倒是对了,但是又出了新的错误:
C:\Windows\WinSxS\amd64_microsoft-windows-calc_31bf3856ad364e35_10.0.10586.0_none_36439993c5132b2e\calc.exe
[*] Error: 0x00000032.
楞尼玛。。查这个32错误说是不支持的网络之类的。但是这个计算器程序根本不需要网络啊。
后来在stackoverflow上发现,说这个调64位程序就会异常,要调32位的,也就是在syswow64里面的那个计算器。
果然调那个就返回正确的样子了:
[*] We have successfully launched the process!
[*] PID: 8888
然而该怎么调64位的程序呢?
相关文章推荐
- python数据分析1:获取双色球历史信息
- 灰帽子python 读书笔记 1
- Python配置OpenCV
- python画词云图(电商评论数据)
- Python常见问题(2):编程问题 Programming FAQ
- Python常见问题(1):来历与简介General Python FAQ
- 官方文档Python 2.7.11 documentation
- 其他网站和应用的Python接口API
- Python标准库The Python Standard Library
- 官网PYthon语言参考手册The Python Language Reference
- python Image模块调用show()异常问题
- python numpy的部分函数
- 用python实现的去除win下文本文件头部BOM的代码
- python re 正则
- python strip()函数 介绍
- Windows上Python2.7安装Scrapy过程
- python编码问题:\ufeff8804转换为8804
- Flask Python以二进制六存储图片数据库并读取
- Python3.5源码安装
- python中的正则表达式的学习