(go学习-1)变量
Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性”。Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程…一些碎碎念 模板代码任何语言都需要一个hello world! 1234567package mainimport "fmt"func main() { fmt.Println("Hello, World!")} 变量、常量、全局变量变量12345678910111213141516171819202122232425262728293031323334353637package mainimport "fmt"func main() { // 单行注释 /* ...
windows取证基础之命名管道获取
“命名管道”又名“命名管线”(Named Pipes),是一种简单的进程间通信(IPC)机制,Microsoft Windows大都提供了对它的支持(但不包括Windows CE)。命名管道可在同一台计算机的不同进程之间或在跨越一个网络的不同计算机的不同进程之间,支持可靠的、单向或双向的数据通信。推荐用命名管道作为进程通信方案的一项重要的原因是它们充分利用了Windows内建的安全特性(ACL等)。 12345678910111213141516171819import osimport globdef look_for_files(dir_to_look): """Looks for windows in a given directory. Supports the * wildcard character""" found_files = [] if "*" in dir_to_look: found_files += glob.glob(dir_to_look)...
任性的进化复盘以及感悟
《任性的进化》是我在鲱鱼罐头app上玩的一个游戏,我觉得很有意思,想要分享出来。 故事背景在一战期间,和平被战争取代。但是在1914年西方战线的圣诞节前夜发生了怪事,尽管在严格的军令下,甚至是在残酷的战争下,彼此互相杀害了对方的同胞这样的深仇大恨之下,英国人与德国人却违抗军令离开了战壕在圣诞节前夜与敌军聚在一起,一起玩游戏、唱歌、互赠礼物。这是一件非常神奇的事情,甚至这样的状态在部分地区持续了几天。 所以这不免让人思考,人与人之间建立信任真的这么难吗?为什么现代社会没有战争感觉建立信任会更难呢? 为什么要好的朋友会变成死对头,即使是在和平年代!为什么互相杀戮的敌人会变成朋友,即使是在战争年代? 而这一切的答案就在博弈论! 一首先使用一个类似于囚徒困境的游戏来描述信任这一概念: 游戏是这样的,现在有一台机器,只能两个人操作,两个人彼此不知情。机器可以投入一枚硬币,然后给出两个选项分别是合作与欺骗。如果合作那么双方都能得到两个硬币,如果一方合作一方欺骗那么欺骗则会得到三个,合作则会失去投入的硬币。如果都选择了欺骗那么彼此都不损失。 现在游戏开始,我们把社会上的人分为五类人: ...
送东阳马生序
余幼时即嗜学。家贫,无从致书以观,每假借于藏书之家,手自笔录,计日以还。天大寒,砚冰坚,手指不可屈伸,弗之怠。录毕,走送之,不敢稍逾约。以是人多以书假余,余因得遍观群书。既加冠,益慕圣贤之道 ,又患无硕师、名人与游,尝趋百里外,从乡之先达执经叩问。先达德隆望尊,门人弟子填其室,未尝稍降辞色。余立侍左右,援疑质理,俯身倾耳以请;或遇其叱咄,色愈恭,礼愈至,不敢出一言以复;俟其欣悦,则又请焉。故余虽愚,卒获有所闻。 当余之从师也,负箧曳屣行深山巨谷中,穷冬烈风,大雪深数尺,足肤皲裂而不知。至舍,四支僵劲不能动,媵人持汤沃灌,以衾拥覆,久而乃和。寓逆旅,主人日再食,无鲜肥滋味之享。同舍生皆被绮绣,戴朱缨宝饰之帽,腰白玉之环,左佩刀,右备容臭,烨然若神人;余则缊袍敝衣处其间,略无慕艳意。以中有足乐者,不知口体之奉不若人也。盖余之勤且艰若此。今虽耄老,未有所成,犹幸预君子之列,而承天子之宠光,缀公卿之后,日侍坐备顾问,四海亦谬称其氏名,况才之过于余者乎? 今诸生学于太学,县官日有廪稍之供,父母岁有裘葛之遗,无冻馁之患矣;坐大厦之下而诵诗书,无奔走之劳矣;有司业、博士为之师,未有问而不告,求...
Win10取证基础之系统日志分析2
之前的时候为了解析系统的日志文件找库,找了之后又遇到不少问题,使用起来并不方便,然后就知道了原来是可以通过官方接口直接获取的,绝了…. 12345678910111213141516171819202122import win32evtlog hand = win32evtlog.OpenEventLog("localhost","System")flags = win32evtlog.EVENTLOG_SEQUENTIAL_READ|win32evtlog.EVENTLOG_FORWARDS_READwhile True: events = win32evtlog.ReadEventLog(hand, flags,0) if events: for event in events: EventID = event.EventID & 0x1FFFFFFF print('Event ID:', event.EventID & 0x1FF...
Win10取证基础之系统日志分析1
这段代码需要在管理员权限下才能运行,不然没有权限访问系统日志文件。其实直接读取也不会有什么问题,只是我个人为了安全起见,拷贝了一份。 12345678910111213141516171819202122232425262728import ctypes, sysimport osfrom evtx import PyEvtxParserimport shutildef main(): shutil.copy("C:/Windows/System32/winevt/Logs/System.evtx", "D:/项目/Windows取证/data_file/System.evtx") parser = PyEvtxParser("D:/项目/Windows取证/data_file/System.evtx") for record in parser.records(): if record["event_record_id"] == 6005: pr...
Win10取证基础之剪切板
win10其实自己有一个比较好用的剪切板功能就是win+v,可以查看历史多条记录,但是剪切板里面其实只有一条,并且可以存文本与图片流,如果是文件,就会存文件的路径,因此图片可以存路径或者流。代码如下: 1234567891011121314151617181920import win32clipboardfrom PIL import Image, ImageGrabdef paste_pic(): res = ImageGrab.grabclipboard() if isinstance(res, Image.Image): print("图片") res.save(r'pic.png') elif isinstance(res,list): print("文件",res)try: win32clipboard.OpenClipboard() text = win32clipboard.GetClipboardData(win32clipboard...
Win10取证基础之浏览器记录
在win10当中,浏览器无论安装在那里其历史记录的存放点都是一样的,且内核一样的浏览器其历史记录格式也是一样的。因此可以轻松查询浏览器历史记录。 浏览器正在使用当中的时候不能够进行历史记录获取操作 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061import osimport globimport sqlite3class bro_history: def __init__(self): self.systemroot = os.environ["SYSTEMROOT"] def _firefox_history(self, path): path = os.path.join(self.systemroot, path) for p in glob.glob(path): p_tokens = p.spl...
Win10取证基础之历史打开文档记录编码
最近在win10上做取证相关的东西,记录一下一些有意思的东西,比如想要获取电脑的历史打开文档。这里有两个办法: win+r输入recent查看 注册表编辑器输入路径:计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs 在处理注册表编辑器的时候,发现这个路径下的数据是编码,但是找了很久也没找到怎么去解码,有幸在别人的项目中找到了一段代码: 123456789101112131415161718192021def decode_recent_docs_mru(value): """ Decodes recent docs MRU list Returns an array with 1st element being the filename, the second element being the symbolic link name """ value_decoded =...
信息收集之Whois与ip查询
Whois查询Whois是用来查询域名的IP以及所有者信息的传输协议。简单地说,Whois就是一个数据库,用来查询域名是否已经被注册,以及注册域名的详细信息(如域名所有人、域名注册商等)。 1234from whois import whoisdata = whois('www.baidu.com')print(data) ip查询没啥好说的 1234import socketip = socket.gethostbyname("www.baidu.com")print(ip)
变量/封面.png)













