avatar
Articles
65
Tags
0
Categories
16

Home
Archives
Categories
About
月明星稀
Search
Home
Archives
Categories
About

月明星稀

gdb调试基础
Created2022-02-14|Note-re
gdb调试基础 调试: s默认在源代码下进行调试,在已经输入s的情况下,直接回车执行上一条语句; si为在汇编下进行调试; 下断点: 1. `b func_name` 2. `b /src/codefile.cc:81` gdb将在运行到源码文件/src/codefile.cc的第81行中断 3. `b *0x5859c0` "*"号是必须加在地址前的,0x5859c0为函数指针的地址 段列表: vmap可以显示程序的段列表
Linux基础
Created2022-01-29|linux
Linux基础一、Linux文件系统根目录下的目录及他们的作用一切皆文件 根目录下存多个文件夹(名称系统定义,不能修改): /bin[常用] (/usr/bin 、/user/local/bin) 为Binary缩写,存放着最常使用的命令 /sbin (/usr/sbin、/user/local/sbin) s即SuperUser,存放管理员的系统管理程序 /home[常用] 用于存放不同用户创建的文件,结构为/home/用户名/…… /root[常用] 系统管理员,超级权限者的主目录 /lib 系统开机需要最基本的动态链接库,同时存放程序需要的动态链接库 /lost+found (隐藏目录) 存放非法关机后生成的文件 /etc [常用] 系统管理需要的配置文件和子目录,例如mysql的my.conf /usr [常用] 非常重要,放置用户的很多应用程序和文件,类似programfiles /boot [常用] 系统启动的核心文件,一些连接文件和镜像文件 /proc [不能动] 是一个虚拟的目录,是系统内存的映射,访问这个目录获得系统信息 /srv [ ...
vi和vim的基础使用
Created2022-01-29|linux
vi的基础使用vim即vi的增强版,带有代码补全高亮等功能。 一、vi和vim的三种模式 正常模式:移动光标,删除字符或者整行,复制粘贴 插入模式(一般输入i进入):编辑模式 命令行模式:(输入esc,然后:)提供相关指令,存档、离开等等 三种模式的相互转化: 命令行中输入:vim xxx进入 一般模式; 在 一般模式中,输入i或者a进入 编辑模式;输入:或者/进入 命令模式 在 命令模式或者 一般模式中,输入esc进入 一般模式 命令行模式的退出方式: :wq-保存并退出 :q-退出,不保存 :q!-强制退出,不保存 二、vi快捷键总结1.一般模式下的处理拷贝:拷贝当前行为yy;拷贝从当前行开始,直到向下的n行nyy(如5yy) 粘贴:输入p 删除:删除当前行为dd;删除从当前行开始,直到向下的n行ndd(如5dd) 撤销:输入u撤销 定位到首、末行:输入G(即shift+g)移动到最末行,输入gg移动到首行 定位到某一行:输入要定位的行号(如 20),然后输入G(即shift+g) 2.命令行模式的处理查找:输/进入命令行模式,输入要查找的字符串,回车即可,下一个为n 设置行号: ...
正则表达式简单笔记
Created2022-01-23|other
正则表达式python中可以通过import re引入re模块,用正则表达式处理字符串 一、正则表达式在线正则表达式测试工具:https://regex101.com/ 1、限定符匹配单字符? 限定符:通过used?可匹配use或used,等含有use字样,d可有可无; *限定符:通过ab*c可以匹配 ac abc abbbbc等含有n个b,ac必须按照顺序有的字符串; +限定符:即*限定符除去没有b的情况,ab不会被匹配; {n}限定符:ab{6}c可匹配b出现次数为6的情况,或者,{2,6}为2-6次,{2,}为两次以上 匹配多字符使用 **()**框选所要匹配的字符,然后正常使用限定符。 2、“或”运算符正则表达式要匹配 acat或者 adog时,可以使用或运算符,表达式如下: a(cat|dog) 3、字符类[] 匹配符: 如果想匹配ab三个字母组成的内容,可以使用 [abc]+; 其中[]用于限制匹配的字符; 在方括号中,我们可以指定范围,语法如 [a-zA-Z]即大小写所有英文字符; ^匹配: 和方括号联用,[^0-9]+代表非数字 4、元字符元字符是正 ...
攻防世界Reverse进阶区-BABYHOOK-writeup
Created2022-01-22|reverse
攻防世界Reverse进阶区-流浪者-writeup本题为较为基础的Hook题,通过本writeup来整理一下思路。 main函数 进入程序,首先确定flag字符串长度为19; 然后发现程序会将输入内容写入文件名为文件Your_input的文件; 最后通过核验NumberOfBytesWritten变量是否为1来控制输出; 此时,若进入sub_401240函数就会中计,需手动进行测试。 手动测试后发现输出文件中的内容和输入完全不同,推测可能在sub_401220函数中对输入进行了加密。 sub_401220函数:进入sub_401220函数:(为hook关键函数) 其主要内容如下(1~14行): 获取当前进程号,打开进程到hprocess,libfilename为一常量kernel32.dll,procname为一常量writefile,故dword_409c4(*WriteFile_0位置)、lpaddress所存为writefile的地址,然后程序复制了lpaddress的地址到unk_40c9b4。 然后开始hook操作(15、16行): 可以看到第15行有一常量被存入地 ...
汇编跳转指令及其十六进制码
Created2022-01-22|Note-re
汇编跳转指令及其十六进制码几种跳转指令和对应的机器码:0xE8 CALL后面的四个字节是地址0xE9 JMP后面的四个字节是偏移0xEB JMP后面的二个字节是偏移0xFF15 CALL后面的四个字节是存放地址的地址0xFF25 JMP后面的四个字节是存放地址的地址0x68 PUSH后面的四个字节入栈0x6AP USH后面的一个字节入栈 ————————————————版权声明:本文为CSDN博主「hincon」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/ccworm/article/details/112787439
攻防世界Reverse进阶区-BABYRE-writeup
Created2022-01-18|reverse
攻防世界Reverse进阶区-BABYRE-writeup以此篇WP记录第一次使用ida解决smc(自解密) 观察反汇编代码: 第12行调用的函数在第8行被加密了 因此,需要手动解密观察,双击judge进入: 然后使用idapython脚本解决,右上角file、script command 如图编写代码: 点击run,可以看到内容被改变: 选中judge函数一行,c(code),将其变成代码,这时的judge被分为三个函数,我们将其合三为1,框选地址B00~BB5(所有红色区域),p(重新生成function) 此时可以在左侧找到相应函数内容,F5即可 然后针对反汇编后的加密算法写一个脚本: 12345678v2=['f','m','c','d',127,'k','7','d',';','V','`',';','n','p' ...
攻防世界Reverse进阶区-流浪者-writeup
Created2022-01-17|reverse
攻防世界Reverse进阶区-流浪者-writeup 关键函数1:sub_401890 调用了另一个函数 关键函数2:sub_4017F0 先传入关键函数1进行加密,加密后进入函数2进行进一步加密,最后与kanXue...字符串对比查验 逆向脚本书写逻辑即可 最终运行结果:
python数据类型以及常用函数(基础)
Created2022-01-16|python
python笔记Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 的六个标准数据类型中: 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组); 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。 Python数据类型转换有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可,在下一章节 Python3 数据类型转换 会具体介绍。 以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。 函数 描述 [int(x ,base]) 将x转换为一个整数 float(x) 将x转换到一个浮点数 [complex(real ,imag]) 创建一个复数 str(x) 将对象 x 转换为字符串 repr(x) 将对象 x 转换为表达式字符串 eval(str) 用来计算在字符串中的有效P ...
关于编码方式的总结
Created2022-01-14|other
各类编码总结一、ascii、UTF-8、gbk1、ascii码ASCII 码一共规定了128个字符的编码: 2、UTF-8、UTF-16、UTF-32utf(Unicode Transformation Format) UTF-8:​ utf-8是unicode的实现方法。其编码规则如下: 1)对于单字节的符号:字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的; 2)对于n字节的符号(n > 1):第一个字节的前n位都设为1,第n + 1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码。 举例说明: 选择汉字“鲁”,在unicode官网查询其编码为U+9C81 转换为二级制数字即为:1001 1100 1000 0001,大小两字节。 ​ 根据上表,“鲁”字在第三个范围内,其表示即为1110xxxx 10xxxxxx 10xxxxxx,故将前文中的二进制数字填入,即为:11101001 10110010 10000001,再转换为十六 ...
1…567
avatar
lhl_2507
Articles
65
Tags
0
Categories
16
Recent Post
adb使用学习2023-12-10
LAnoBERT System Log Anomaly Detection based on BERT Masked Language Model (Reading note)2023-09-20
环境变量理解2023-06-25
No title2023-05-22
Wireshark分析TLS协议2023-04-22
Categories
  • Note-re8
  • ai2
  • android2
  • cve6
  • environment3
  • kali2
  • linux5
  • network1
Archives
  • December 20231
  • September 20231
  • June 20231
  • May 20231
  • April 20232
  • March 20233
  • January 20232
  • September 20221
Info
Article :
65
UV :
PV :
Last Push :
©2020 - 2023 By lhl_2507
Framework Hexo|Theme Butterfly
Local search
Loading the Database