JARVISOJ RE

JARVISOJ RE

今天来吧三道恶心的re写一下。。。
难度从自我感觉的简单到坑排序

爬楼梯

这题其实最“简单”hiahiahia
在这里插入图片描述
经过多次实验,其实只要手速过快,轻轻松松啊。
//电脑xps15触屏,更加轻松了23333
在这里插入图片描述
=.=

evil exe

文件加壳了,直接脱壳,完事后拖入ida
在这里插入图片描述
从里面的许多256可以联想到rc4,具体加密过程也不复杂。
这边直接给代码了。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <string.h>

int main()
{
    unsigned int key[8]={0x74,0x51,0x74, 0xF5,0x54,0x87,0x4a,0};
    int i,temp1=256,temp2=0,v4,v5;
    FILE *jpg,*pisanbao;
    jpg=fopen("x.jpg","rb");
    fseek(jpg,0,SEEK_END);
    int len=ftell(jpg);
    unsigned char a[256]={0},file[len],flag[len];
    fseek(jpg,0,SEEK_SET);
    fread(file,len,1,jpg);
    fclose(jpg);
    pisanbao=fopen("pisanbao.txt","wb");
    for ( i = 0; i < 256; ++i )
  {
    a[i] = i + key[i % 8];
  }
  for ( i = 0; i < len; ++i )
  {
    temp1 = (temp1 + 1) % 256;
    temp2 = (a[temp1] + temp2) % 256;
    v4 = a[temp1];
    v5 = a[temp2];
    a[temp1] = v5;
    a[temp2] = v4;
    flag[i] = a[(v5 + v4) % 256] ^ file[i]^i;
    fputc(flag[i],pisanbao);
  }
  fclose(pisanbao);
    return 0;
}

得到txt文件后打开,其实是shellcode。
我的话是吧文件里的16进制复制下来,重建一个c文件声明一个字符串数组,吧16进制打进去,拖到ida里反编译。
在这里插入图片描述
在这里插入图片描述
拖入ida后对那串16进制按c,即可变成汇编。
在这里插入图片描述
可以看到很多push,注意小端序,其实就是key了

软件密码破解2

听大佬说是双进程反调试来着。。。但感觉更像是smc
在这里插入图片描述
拖入ida后不能反编译并且出现了这个,用od跟过去,看到了修改
在这里插入图片描述
把对应的机器码打到相应地址,保存,再次用ida打开,就能反编译了
在这里插入图片描述

a = 'elcome to CFF test!'
b = [0x25,0x5c,0x5c,0x2b,0x2f,0x5d,0x19,0x36,0x2c,0x64,0x72,0x76,0x80,0x66,0x4e,0x52]
flag = ''
for i in range(len(b)):
    flag += chr(ord(a[i])^(b[i]-1))
print flag

login

这题是真的恶心心鸭
放在win7里可以打开,win10打不开
通向大佬的链接
丢个链接
溜了溜了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值