<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[StormTechnology的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/StormTechnology</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; StormTechnology]]></copyright><item><title><![CDATA[buuctf-RE-SimpleRev]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111571041</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111571041</guid><author>StormTechnology</author><pubDate>Tue, 22 Dec 2020 21:27:00 +0800</pubDate><description><![CDATA[IDA 打开
将main函数反编译为C代码
1 int __cdecl __noreturn main(int argc, const char **argv, const char **envp)
 2 {
 3   int v3; // eax
 4   char v4; // [rsp+Fh] [rbp-1h]
 5 
 6   while ( 1 )
 7   {
 8     ...]]></description><category></category></item><item><title><![CDATA[ACM-NEFU新生训练2-排序和CMP]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111571040</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111571040</guid><author>StormTechnology</author><pubDate>Tue, 22 Dec 2020 21:26:00 +0800</pubDate><description><![CDATA[A.谁考了第k名-排序
Description
在一次考试中，每个学生的成绩都不相同，现知道了每个学生的学号和成绩，求考第k名学生的学号和成绩。
Input
第一行有两个整数，分别是学生的人数n(1≤n≤100)，和求第k名学生的k(1≤k≤n)。
其后有n行数据，每行包括一个学号(整数)和一个成绩(浮点数)，中间用一个空格分隔。
Output
输出第k名学生的学号和成绩，中间用空格分隔...]]></description><category></category></item><item><title><![CDATA[CTF-NEFU校赛-题解]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111571042</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111571042</guid><author>StormTechnology</author><pubDate>Tue, 22 Dec 2020 21:25:00 +0800</pubDate><description><![CDATA[Write by NEFUNSI：
ghosin
0ERROR

签到

signin
下载 signin.txt 打开得到一串 base64，解码得到 flag{we1come_t0_NEFUCTF!} 。

Re_SignUp
下载 SignUp ，使用 010 Editor 打开发现是 Linux 可执行文件。用 ida64 打开可看到 main 函数处有字符串 xr yeI^r...]]></description><category></category></item><item><title><![CDATA[汇编学习-堆栈平衡]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111571039</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111571039</guid><author>StormTechnology</author><pubDate>Tue, 22 Dec 2020 21:24:00 +0800</pubDate><description><![CDATA[概念

当调用某处的函数时，函数一般会使用堆栈作为存储的对象，这里就涉及到了堆栈使用结束后，如果不将堆栈及时还原而直接RETN，就会造成EIP的值被改变(00000000)，从而导致程序运行错误，因此，每次分体函数执行完毕后，都应该将使用过的堆栈还原到使用之前的内容。
如果通过堆栈传递参数了，那么在函数执行完毕后，要平衡参数导致的堆栈变化。

内平栈
RETN 8相当于RETN之后再让m...]]></description><category></category></item><item><title><![CDATA[ACM-NEFUOJ-P239回文数]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111466455</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111466455</guid><author>StormTechnology</author><pubDate>Sun, 20 Dec 2020 13:00:00 +0800</pubDate><description><![CDATA[#include&lt;bits/stdc++.h&gt;

using namespace std;

int n,p[1000],len,p1[1000];
int f()
{
	int i;
	for(i=0;i&lt;=len;i++)
		if(p[i]!=p[len-i]) return 0;
	return 1;
}
void f1()
{
	int i;
	for(i=0...]]></description><category></category></item><item><title><![CDATA[ACM-NEFUOJ-P210畅通工程并查集]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111413478</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111413478</guid><author>StormTechnology</author><pubDate>Sat, 19 Dec 2020 16:04:00 +0800</pubDate><description><![CDATA[题目：我已经明示到这个程度了你还不用并查集？
#include&lt;bits/stdc++.h&gt;

using namespace std;

const int MAXN=1010;

int F[MAXN];

int GetFather(int x)
{
    return F[x]==x?x:F[x]=GetFather(F[x]);
}

void Union(int...]]></description><category></category></item><item><title><![CDATA[ACM-NEFUOJ-P209湖南修路]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111413477</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111413477</guid><author>StormTechnology</author><pubDate>Sat, 19 Dec 2020 16:03:00 +0800</pubDate><description><![CDATA[思路
prim的最小生成树，套上肝就完事了
代码
#include&lt;iostream&gt;
#include&lt;cstdio&gt;
#include&lt;string.h&gt;

#define MAX 999999;
using namespace std;

int map[105][105],dist[105];
bool vis[105];
int prim(i...]]></description><category></category></item><item><title><![CDATA[ACM-NEFUOJ-汉诺塔问题]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111413476</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111413476</guid><author>StormTechnology</author><pubDate>Sat, 19 Dec 2020 16:02:00 +0800</pubDate><description><![CDATA[P200汉诺塔
#include&lt;bits/stdc++.h&gt;

using namespace std;

int main()
{
    int n,i;
    long long s[40];
    s[1]=2;
    for(i=2;i&lt;=35;i++)
    s[i]=3*s[i-1]+2;
    while(cin&gt;&gt;n)
    ...]]></description><category></category></item><item><title><![CDATA[CTF-RE-学习记录-汇编-2]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111244576</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111244576</guid><author>StormTechnology</author><pubDate>Tue, 15 Dec 2020 17:21:00 +0800</pubDate><description><![CDATA[汇编工具DTDebug
下载后设置好odd与插件路径，同时在属性中设置为管理员身份运行(无Administrator权限进入的时候一直在提示)
寄存器
存储数据：
CPU&gt;内存&gt;硬盘
32位CPU: 8 16 32
64位CPU: 8 16 32 64
EIP:存储CPU下一次执行的指令集，不能作他用
通用寄存器
32位寄存器



32位
16位
8位




WAX
AX...]]></description><category></category></item><item><title><![CDATA[汇编-学习笔记]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111244574</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111244574</guid><author>StormTechnology</author><pubDate>Tue, 15 Dec 2020 17:20:00 +0800</pubDate><description><![CDATA[常用汇编指令
MOV指令



指令格式
指令解释




MOV r/m8,r8
r通用寄存器


MOV r/m16,r16
m代表内存


MOV r/m32,r32
imm代表立即数


MOV r8,r/m8
r8代表8位通用寄存器


MOV r16,r/m16
m8代表8位内存


MOV r32,r/m32
imm8代表8位立即数


MOV r8, imm8



MO...]]></description><category></category></item><item><title><![CDATA[CTF-RE-学习记录-汇编]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111244575</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111244575</guid><author>StormTechnology</author><pubDate>Tue, 15 Dec 2020 17:19:00 +0800</pubDate><description><![CDATA[八进制运算
加法表



1+1=2










1+2=3
2+2=4







1+3=4
2+3=5
3+3=6






1+4=5
2+4=6
3+4=7
4+4=10





1+5=6
2+5=7
3+5=8
4+5=11
5+5=12




1+6=7
2+6=10
3+6=11
4+6=12
5+6=13
6+6=14



1+7=10
2+7=11...]]></description><category></category></item><item><title><![CDATA[ACM-NEFU15届校赛-大二组]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111244572</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111244572</guid><author>StormTechnology</author><pubDate>Tue, 15 Dec 2020 17:17:00 +0800</pubDate><description><![CDATA[A.小林找工作
#include&lt;bits/stdc++.h&gt;

using namespace std;

const int MAXN=1e5+10;
int p[MAXN];

int main()
{
	int n,m;
	cin&gt;&gt;n&gt;&gt;m;
	for(int i=1;i&lt;=n;i++)
	{
		scanf("%d", &amp;p[...]]></description><category></category></item><item><title><![CDATA[ACM-NEFU15届校赛-大一组]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111244571</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111244571</guid><author>StormTechnology</author><pubDate>Tue, 15 Dec 2020 17:16:00 +0800</pubDate><description><![CDATA[A. 三角形面积
#include &lt;bits/stdc++.h&gt;

using namespace std;

int main()
{
    double a,b,c;
    double ans,p,tmp;
    cin&gt;&gt;a&gt;&gt;b&gt;&gt;c;
    p=(a+b+c)*0.5;
    tmp=p*(p-a)*(p-b)*(p...]]></description><category></category></item><item><title><![CDATA[ACM-刷题记录-14届NEFU校赛]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111244570</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111244570</guid><author>StormTechnology</author><pubDate>Tue, 15 Dec 2020 17:14:00 +0800</pubDate><description><![CDATA[P2031凯撒密码
#include&lt;bits/stdc++.h&gt;

using namespace std;

int main(){
	string s;
	int d;
	while(cin&gt;&gt;s)
	{
		cin&gt;&gt;d;
		int len=s.length();
		for(int i=0;i&lt;len;i++)
		{
			s[i]...]]></description><category></category></item><item><title><![CDATA[ACM-学习记录-尺取法]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111244573</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111244573</guid><author>StormTechnology</author><pubDate>Tue, 15 Dec 2020 17:13:00 +0800</pubDate><description><![CDATA[题目
给定一个数组和一个数s，在这个数组中找一个区间，使得这个区间之和等于s。
例如：给定的数组int x[14] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};和一个s = 15。那么，可以找到的区间就应该有0到4， 3到5， 6到7.(注意这里的下标从0开始)

思路
对于这样的题，不用任何技巧就可以跑出结果，例如下面这个方法可能...]]></description><category></category></item><item><title><![CDATA[ACM-位运算符-判断奇偶]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111244569</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111244569</guid><author>StormTechnology</author><pubDate>Tue, 15 Dec 2020 17:11:00 +0800</pubDate><description><![CDATA[同样一个问题，位运算可以提高程序的运行效率。
下面讲一下关于奇偶性的判断。
常规方法
public static boolean isOdd(int i){

​    return i % 2 != 0;

}
位运算方法
public static boolean isOdd(int i){

​    return (i &amp; 1) != 0;

}
说明：
我们知道计算机中...]]></description><category></category></item><item><title><![CDATA[CTF-Web-PHP反序列化]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/111244568</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/111244568</guid><author>StormTechnology</author><pubDate>Tue, 15 Dec 2020 17:08:00 +0800</pubDate><description><![CDATA[概念解释
PHP 反序列化漏洞又叫做 PHP 对象注入漏洞，我觉得这个表达很不直白，也不能说明根本的问题，不如我们叫他 PHP 对象的属性篡改漏洞好了(别说这是我说的~~)
反序列化漏洞的成因在于代码中的 unserialize() 接收的参数可控，从上面的例子看，这个函数的参数是一个序列化的对象，而序列化的对象只含有对象的属性，那我们就要利用对对象属性的篡改实现最终的攻击。

魔法方法...]]></description><category></category></item><item><title><![CDATA[[ACM]Uva572-Oil Deposits-DFS应用]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/109611073</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/109611073</guid><author>StormTechnology</author><pubDate>Tue, 10 Nov 2020 20:02:00 +0800</pubDate><description><![CDATA[#include&lt;iostream&gt;
#include&lt;cstdio&gt;
#include&lt;cstdlib&gt;
#include&lt;cstring&gt;

using namespace std;

const int maxn = 100 + 5;

char piece[maxn][maxn];
int n,m,idx[maxn][maxn];
...]]></description><category></category></item><item><title><![CDATA[[ACM]NOIP2011D1T1复现-铺地毯]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/109611072</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/109611072</guid><author>StormTechnology</author><pubDate>Tue, 10 Nov 2020 19:04:00 +0800</pubDate><description><![CDATA[逆向考虑即可解决
#include&lt;iostream&gt;

using namespace std;

const int maxn= 100000 +5;

int a[maxn][4];//0-x,1-y,2-x-length,3-y-length

int main(){
	int n,flag=0;
	cin&gt;&gt;n;
	for(int i=1;i&lt;=n...]]></description><category></category></item><item><title><![CDATA[[ACM]Uva839-Not So Mobile(树状天平)]]></title><link>https://blog.youkuaiyun.com/StormTechnology/article/details/109611071</link><guid>https://blog.youkuaiyun.com/StormTechnology/article/details/109611071</guid><author>StormTechnology</author><pubDate>Tue, 10 Nov 2020 18:00:00 +0800</pubDate><description><![CDATA[在输入过程中同时进行数据处理，代码简洁，效率较高
#include&lt;iostream&gt;
#include&lt;cstdio&gt;

using namespace std;

bool solve(int&amp; W)
{
	int W1,D1,W2,D2;
	bool b1=true,b2=true;
	cin&gt;&gt;W1&gt;&gt;D1&gt;&gt;W...]]></description><category></category></item></channel></rss>