常用算法
ctf常见编码与加密:https://blog.csdn.net/ruoli_s/article/details/109767829
在线解密网站:
xssee:http://web2hack.org/xssee
xssee:http://evilcos.me/lab/xssee
程默的博客(DES,3DES,AES,RC,Blowfish,Twofish,Serpent,Gost,Rijndael,Cast,Xtea,RSA):http://tool.chacuo.net/cryptdes
在线编码解码(多种并排):http://bianma.911cha.com
在线加密解密(多种):http://encode.chahuo.com
Unicode转中文:http://www.bejson.com/convert/unicode_chinese
栅栏密码 && 凯撒密码 && 摩斯电码:http://heartsnote.com/tools/cipher.htm
Caesar cipher(凯撒密码):http://planetcalc ...
鹏程实验室邀请赛wp
鹏程实验室邀请赛简介:部分题的wp,总结一些没见过的一些知识点吧。
1.base64+32文件是个html文件,打开
LJWXQ2C2PFKTGULKLEZE6RCKNBNEIRTMJRKFC6SZGJGXITSEIEZFUQZRNBNGUQLZJRKFE2SOPJNGYWTKLEYFUV2JGJHFGVJTKJAT2PI=
先进行base32解码,在进行base64解码,得到
flag%7B6682ad1e-43cc-406d-af02-4c76ef64eb65%7D
看起有点像,开始不知道URL编码,交flag一直不对,试了几次,终于对了。
flag{6682ad1e-43cc-406d-af02-4c76ef64eb65}
URL编码表https://blog.csdn.net/sinat_34439107/article/details/78242584
2.cppIDA打开,找到关键代码
int __cdecl main(int argc, const char **argv, const char **envp)
{
__int64 v3; ...
逆向之"花"
花指令一、花指令概述1.概念:花指令是,由设计者特别构思,希望使静态反汇编的时候出错,让破解者无法清楚正确地反汇编程序的内容,迷失方向。
2.分类:分为可执行式与不可执行式
可执行式:就是能够执行这些花指令,但执行这些代码没有任何意义,执行前后不改变任何寄存器的值(当然eip这种除外),同时这部分代码也会被反汇编器正常识别。
这种花指令的目的就是:
(1)增大逆向者的工作量,可能一串代码看了很久,到最后分析出来没有任何用处。
(2)然后,这种花指令可以破坏反编译的分析,使得栈指针在反编译引擎中出现异常例如
sub_411880 endp ; sp-analysis failed
不可执行类:是这部分花指令代码在程序的正常执行过程中不会被执行
目的:
就是会导致在IDA里面查看是看到一些不正确的汇编指令
3.实现原理:或者说是为什么加了某些花指令,就会反编译不了,主要还是因为,一些反编译工具,如IDA采用的是线性反编译。文件都是二进制构成的,一部分二进制转换为十六进制,就是所谓的机器码,而机器码就可以转换为对应的汇编指令,如
55就相当于push ebp
8B EC就相当于mo ...
栈溢出
栈溢出小例子样例1其c代码如下,在vc6++中编译
#include<stdio.h>
void Fun()
{
int i;
int arr[5] = {0,1,2,3,4};//数组的长度为5
for( i=0 ; i<=5 ;i++)//循环次数为6,按道理应该只会输出6个Hello Word
{
arr[i]=0;
printf("Hello Word\n");
}
}
int main()
{
Fun();
return 0;
}
运行结果会是一直输出Hello Word,实际上就是发生了栈溢出。
通过调试来分析怎么回事先找到主函数,如下。
进入fun函数注意这两句,ecx中的值实际上也是i,只是ebp-4的位置的值给了ecx寄存器。实际上就是,通过ecx的改变来将这个0给a[i]。
mov ecx,dword ptr ss:[ebp-4]
mov dwor ...
buuCTF的wp
buuCTF的wp前言,主要是re方向的题,应该会持续更新,更新时间不定
re方向1.easyre签到题,直接用ida打开,shift+12查看字符串,如下
得到flag:flag{this_Is_a_EaSyRe}
2.reverse1f5看关键代码如下
sub_1400111D1("input the flag:");
sub_14001128F("%20s", &Str1);
v3 = j_strlen(Str2);
if ( !strncmp(&Str1, Str2, v3) )//意思是输入的flag是str1,当str1和str2相等是就是正确的
sub_1400111D1("this is the right flag!\n");
else
sub_1400111D1("wrong flag\n");
sub_14001113B(&v5, &unk_140019D00);
return 0i64;
str2点开是{h ...
学习汇编的一些记录
学习汇编的一些记录一、一些常用汇编指令汇编指令(书上比较重要的)jmp word ptr 内存单元地址(段内转移)
功能:从内存单元地址处开始存放一个字,是转会目的地的偏移地址。(实际上要去IP)
jmp dword ptr
功能:内存单元地址处开始存放着两个字,高地址处的字是转移地址的目的段地址,低地址处是转移的目的偏移地址
ret
pop IP
retf
pop IP
pop CS
call
push IP//将call指令下一句的IP入栈,在call内部会有个ret将IP又出栈,从而返回到call指令下一句。
jmp near ptr 标号
更多细节,和例子还是在书上看。
汇编指令(书上没有的)var_4 = dword ptr -4
var_4 = dword ptr -4; 这是解释代码,可解释成var_4 是 esp - 4处的空间;
var_0 = dword ptr 8; var_0 是 esp +8处的空间;
在IDA中VAR 是代表的函数中的局部变量.
你要知道在汇编中访问局部变量,是通过ebp-x的来定位栈中位置.
var a = dwod -10 ...
极客wp总结
极客wp总结队伍名:int 晓 队员:一打七QAQ Akuma 分数:4200本wp全由一打七QAQ写完,一个开校真小白,真菜鸡,如果有什么问题和错误,请谅解。
官方wp:https://mp.weixin.qq.com/s/8R4lGzToBxjK1lC9B_SFBg
web题1.朋友的学妹打开网址,右键鼠标,打开源文件,发现
<!--flag=U1lDe0YxQF80c19oNExwZnVsbGxsbGx9-->
用网站base64解码得到flagSYC{F1@_4s_h4Lpfullllll}
2.EZwww打开网址,说这个网站已经备份了,直接在网址后面加上/www.zip,发现开始下载一个压缩包,解压,有两个文件,一个是假的flag,一个是index.php,把index.php的后缀改为txt。打开发现
<html>
<head>
<title>Lola's website1.0</title>
</head>
<body>
<?php echo '<h ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment