CRYPTO March 26, 2020

base64加密解密

Words count 4.1k Reading time 4 mins. Read count 1000000

base64原理:

下面是对照表:

原理如下:

上表中总共有64个字符,2^6=64所以只需要6个bit位就足够描述所有的表中字符了。计算机中1个字节8个bit,一个ASCII码占1个字节。因此多出来...

Read article

代码 February 22, 2020

算法简介

Words count 8.3k Reading time 8 mins. Read count 1000000

时间复杂度

1.渐近紧确界记号:
$$
Θ(big-theta)
$$
2.渐近上界记号 :
$$
O(big-oh)
$$
3.渐近下界记号 :
$$
Ω(big-omege)
$$
4.非渐近紧确上界:
$$
o(小-oh)
$$
5.非渐近紧确下界:
$$
ω(小-omege)
$$

排序算法

插入排序

伪代码

C语言

#include<stdio.h>
int main() {
    //int a[] = { 8,2,4,9,3,6 };

    int n;//输入的数字个数
    printf("请输入需要输入的数字的个数\...
Read article

RE WP February 14, 2020

攻防世界

Words count 26k Reading time 23 mins. Read count 1000000

666

放入detectit查看发现是64位elf文件,peid什么都没发现。

看看ida中的伪代码:

int __cdecl main(int argc, const char **argv, const char **envp)
{
  char s; // [rsp+0h] [rbp-1E0h]
  char v5; // [rsp+F0h] [rbp-F0h]

  memset(&s, 0, 0x1EuLL);
  printf("Please Input Key: ", 0LL...
Read article

逆向工程 February 13, 2020

re入门简介

Words count 3.9k Reading time 4 mins. Read count 1000000

一,语言基础

汇编语言:

既然是逆向那么汇编语言必不可少,要知道汇编才能知道代码是如何出来的,汇编语言因为可移植性很差,所以有很多种汇编,但是必须要会的是x86和x86-64的汇编。

汇编学习书籍:(20~30天)

《汇编语言》(王爽) 有这么一本就够了,如果学习或做题的时候遇到问题,可以选择用百度谷歌学习。

汇编学习网站:(5天)

汇编学习网站

这个是必备的,在看完上本书后,这个是作为加强理解汇编的很好手段

C语言:(所有的基础)

c语言这里不过多赘述,ida的伪代码就是类c代码,所以c的要求必须是会写...

Read article

RE WP February 07, 2020

2020hgame-re-wp

Words count 5.7k Reading time 5 mins. Read count 1000000

本来出于个人原因是不想做hgame的,但是做了发现出题很有水品,害,真香。

WEEK2:

unpack:

这道题有两种思路都要学会,官方给的那种方法(第一种方法)更好一些,直接给这两个链接。

第一种方法:

https://www.52pojie.cn/thread-1048649-1-1.html

第二种方法:

https://blog.csdn.net/Palmer9/article/details/104119621

flag脚本在第二种方法里有给

Classic_CrackMe:

放入detectit...

Read article

RE WP February 05, 2020

jarvisoj-re-wp

Words count 4.1k Reading time 4 mins. Read count 1000000

软件密码破解-1

放到detectit中查看文件的类型,发现是MFC微软的win32编程,建议od动态调试,放到peid中查询,没有加密函数。

放到ida中只能看到有一堆的函数,winmain也没有足够的信息。字符串中也没有找到有关flag的字符。只能转战od动态调试。

在od中右键中文搜索引擎中的智能搜索有意外的发现。

发现了可能有关flag的地方,在这里下一个断点,然后向上寻找线索。

这时候需要运行然后顺着断点的地方向上找到输入的地方,在这里

解读下上面的汇编,输入的地址放入了ebx中,...

Read article

CRYPTO February 01, 2020

AES加密学习

Words count 880 Reading time 1 mins. Read count 1000000

AES原理:

https://blog.csdn.net/gulang03/article/details/81175854

AES的四种模式:

https://www.cnblogs.com/liangxuehui/p/4651351.html

AES的算法代码:

https://blog.csdn.net/shaosunrise/article/details/80219950

感觉这几篇说的都很详细,网上的关于AES的介绍都挺清晰,都可以用来学习。

Read article

CRYPTO January 29, 2020

xxtea学习

Words count 1.7k Reading time 2 mins. Read count 1000000

大概介绍一下xxtea的原理,发现最近re的题目很喜欢出

原理图如下:

加密解密代码如下:

#include <stdio.h>
#include <stdint.h>
#define DELTA 0x9e3779b9
#define MX (((z>>5^y<<2) + (y>>3^z<<4)) ^ ((sum^y) + (key[(p&3)^e] ^ z)))

void btea(uint32_t *v, int...
Read article

CRYPTO January 16, 2020

RSA密码学习

Words count 2.4k Reading time 2 mins. Read count 1000000

步骤 描述 注释
找出两个质数 P,Q
计算公共模数 N=P*Q
欧拉函数 φ(N)=(P-1)(Q-1)
计算公钥E 1<E<φ(N) E的取值必须是整数 E和φ(N)必须是互质数
计算私钥D E*D%φ(N)=1
加密 C=M的E次方 mod N C:密文 M:明文
解密 M=C的D次方 mod N C:密文 M:明文

公钥=(E,N)

私钥=(D,N)

解密

示例

1,找出质数P,Q

$$
P=3
$$

$$
Q=11
$$

2,计算公共模数...

Read article

逆向工程 January 14, 2020

花指令学习

Words count 7.5k Reading time 7 mins. Read count 1000000

定义

在原来的汇编程序中加入一些干扰阅读的代码,这些代码可以看做是花指令。

这类题在ctf中很常见,但是要多加练习。

分类

总体上花指令分为两类,一类是可履行式花指令,另一类为不可履行式花指令(废物指令)。

对于可履行式花指令,望文生义就是能够正常运转的但又不改动原始程序逻辑性的一组无用指令。这类花指令有如下特色:

①能够正常运转;

②不改动任何寄存器的值;

③反汇编器能够正确反汇编该指令。

对于不可履行式花指令,是指被刺进到原始代码中但又不改动原始程序逻辑性的一组无用字节。这类花指令有如下特色:

... Read article
Load more
0%