Pintools/angr 在 Linux/Windows 下的安装与使用
Pintools/angr 在 Linux/Windows 下的安装与使用由于跑Re有时候遇见一些特别恶心的题,自己逆太麻烦,就可以跑pintools,但是Windows下的命令行真的好多坑,而且尝试在windows上面安装的时候发现Windows由于库太繁琐,花费的时间更久,于是放弃windows上跑pintools的计划,在linux下面跑,一番折磨终于安装上了Pintools,傻xCSDN一堆没用的教程,把坑和过程记录于下
Linux下载源码并解压直接下载pintools的源码,地址
linux下面使用wget 即可,然后tar -zxvf pin-xxxxxx.tar.gz
编译instruction数量的插件可能需要搞个make,大多数的系统都带有make,如果没有的话就sudo apt-get install make
目前用的比较多的就是inscount0/1/2 插件,就是我们传说中的看某个输入对应要消耗多少指令
12cd source/tools/ManualExamplesmake obj-intel64/inscount0.so TARGET=intel64
要 ...
python 下各种字节的转化
python 下各种字节的转化由于在写CTF或者是写网络编程的时候,经常遇见二进制转化的问题,记录一下
[0xab, 0xbc, 0xcd, 0xde] -> ‘\xab\xbc\xcd\xde’12s = [0xab, 0xbc, 0xcd, 0xef]print(bytes(s))
‘\xde\xad\xbe\xef’ -> [222, 173, 190, 239]123s = '\xde\xad\xbe\xef'res = list(s)# res [222, 173, 190, 239]
‘\xab\xbc\xcd\xde’ -> ‘abbccdde’123s = '\xab\xbc\xcd\xde'res = binascii.hexlify(s)# res = abbccdde
‘aabbccdd’ -> ‘\xaa\xbb\xcc\xdd’123s = 'aabbccdd'res = binasicc.unhexlify(s)# res = \xaa\xbb\xcc\xdd
‘\x ...
字节跳动一面挂面经
字节跳动一面挂面经一来先是寒暄了一下,然后就直接切入正题,首先是计网,基本上是你聊到哪儿他问到哪儿
TCP/UDP 的区别和使用场景
DNS协议的类型
HTTP/HTTPS的区别
HTTP的过程
POST/GET的区别
然后就是聊一下自己做过的项目,问下项目有啥技术栈,我就说了一下json的读取到返回中间经过的东西
后面是问数据库怎么分表,一个表如果太大了性能会下降,问怎么分
如果一个表属性很多该怎么分
如果一个表实例很多该怎么分
最后就是手撕算法题,Leetcode.31原题,我解了好久,面试官给了好多提示一步一步优化,半个小时后才写出来,代码也很难看,最后面试官叫我多刷一下leetcode,看我不太熟练,算法基本不会什么,直接凉凉
最后给了个台阶下,问了一下快排了解吗,我说没学过,但是看见过,又问了一下快排的时间复杂度,那个log是怎么来的,就结束了。
最后面试官就叫我多刷一点leetcode,发现我对边界条件的处理不是特别好,多做点项目什么的
呜呜呜还是太菜了
BUUCTF Reverse WriteUp 4
BUUCTF RE WriteUp 4[GXYCTF] simple CPP这个和之前的重复了啊,主函数逻辑很简单
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831 ...
BUUCTF Reverse WriteUp 3
BUUCTF Reverse WriteUp 3ACTF rome是个X86平台的exe文件,看了一下main函数的逻辑还算简单
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980int func(){ int result; // eax int inner[4]; // [esp+14h] [ebp-44h] unsigned __int8 v2; // [esp+24h] [ebp-34h] unsigned __int8 v3; // [esp+25h] [ebp-33h] unsigned __int8 v4; // [esp+26h] [ebp-32h] unsigned __int8 v5; // [esp+27h] [ebp-31h] unsigned __int8 v6; // [esp+28h] ...