必威体育Betway必威体育官网
当前位置:首页 > IT技术

西湖论剑逆向

时间:2019-09-27 13:42:08来源:IT技术作者:seo实验室小编阅读:61次「手机版」
 

西湖论剑

其实可以石锤我是标题党了  哈哈哈 

其实这个我也很尴尬 ·~   没有题目 没办法好好的去做一下题  但是听说安恒会有复现   复现的时候能够好好做也是极好的

然后 先说一下这个题  题目 其实是在 https://www.52pojie.cn/thread-924174-1-1.html 这个链接下载的

多谢师傅的分享 

其实 

testre 

这个题 很简单的一个题   就是 怎么说呢      来自于我的一个好习惯吧  我 看题目 总是喜欢 先看 最后面 然后往上推导 然后  某个同学就是比较慢了 很长的时间 估计就是因为这吧 哈哈

函数 没有什么好说的  内容就那么多

然后 去点击  那个验证函数

一开始我感觉也是硬骨头 然后我在分析的时候

感觉像 base64  但是 却不是 base64

看这个算法的时候 我想了好多  (听大佬说 这个是base58  用在线解密可以直接解出来)

emmmm  不对 256 不就是对应asicc 嘛    看了看  index 刚清0  也就是说上面那一堆指令都没有影响我们的 index  数组  

然后 这个大概内容就是 256进制 转化成58进制。。。。。

然后我再编写脚本的时候本来想用 C语言的 但是 。。。。 感觉C语言好麻烦啊   因为Python的 数字是没有长度限制的 

而且 提供了 长整数 转化成char  (虽然这个不是重点  C语言强转也可以)

脚本如下     

#!/usr/bin/env python
# encoding: utf-8
from Crypto.Util.number import long_to_bytes


cmp='D9cS9N9iHjMLTdA8YSMRMp'
map='123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
flag=0
for i in range(len(cmp)):
  flag=flag*58+map.index(cmp[i])
out=long_to_bytes(flag)
print(str(out))

easyCpp

这样的题 不知道为什么 突然 好多 。。。。搞得我头皮发麻  不过 仔细看看还是比较简单的

对于打过acm的我来说 这个一看就知道是斐波那契

注意那几个main 函数

这里是 把我们输入的第一项 和后面的值 相加

前后颠倒 

然后  

逆向的话 就是 

#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<string.h>
#include<iOStream>
using namespace std;
int main()
{
     int l[16];
     l[0]=l[1]=1;
    for(int i=2;i<16;i++)
    {
         l[i]=l[i-1]+l[i-2];
         //printf("%d ",l[i]);
    }
    printf("flag{");
    printf("%d",l[15]);
    for(int i=14;i>0;i--)
    {
        printf("%d",l[i]-l[15]);
    }
    printf("}\n");
    return 0;
}

由于本人 没有参加比赛 也不知道 flag 对不对 如果哪里有错 还希望能够指出 谢谢

Junk_Instruction

这道题 我分析了  一下午  。。。。。。。  分析完 得到flag 看大佬们的博客 去花指令 什么的 厉害的一批。。。。

我怎么这么菜啊

看着图标就知道是mfc 程序   然后 断按钮   一气呵成。。。。

然后就自闭了。。

靠着我 坚韧不拔(傻乎乎)的韧劲(莽劲)   分析出了

是不是看的 头晕眼花  其实我也一样  

但是 但最后面 我发现一个东西 

这里循环异或了  让我感到很惊讶

这又是一处循环比较  就是我们异或的结果 和这里比较的 那么可以写出脚本

注意的细节就是  这里的比较是反着来的 所以我们 for 循环也要反着  

#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<string.h>
#include<iostream>
using namespace std;
int ss[100]={0x5B, 0xD6, 0xD0, 0x26, 0xC8, 0xDD, 0x19,
  0x7E, 0x6E, 0x3E, 0xCB, 0x16, 0x91, 0x7D, 0xFF, 0xAF, 0xDD,
  0x76, 0x64, 0xB0, 0xF7, 0xE5, 0x89, 0x57, 0x82, 0x9F, 0x0C,
  0x00, 0x9E, 0xD0, 0x45, 0xFA};
int s[100]={0x3d,0xe4,0xe5,0x16,0xad,0xee,
0x7d,0x49,0x5b,0x6,0xf9,0x26,0xa9,0x49,0xc8,
0xcb,0xe9,0x44,0x53,0xd6,0xc4,0x84,0xef,0x66,0xb3,
0xfe,0x3b,0x38,0xad,0xe3,0x72,0xc3};
int main()
{
     /*因为比较的时候是 反着比较的 我们异或的时候也反着*/
    for(int i=31;i>=0;i--)
        printf("%c",s[i]^ss[i]);
    return 0;
}

相关阅读

六脉神剑之论剑 第一篇

**之前的账号已经不记得密码了,就好久没有更新了,这是最近刚刚新建的一个账号!** java的设计模式,简单的说下其中常用的几种:

2018淘宝造物节节目清单介绍,“奇市西湖”惊喜日历分享

造物节是阿里打造的一个大型IP,并且是一个空前盛大的线下活动。今年造物节将在杭州西湖展开,一共200家淘宝神店,还有6大集市。大家好

揭秘阿里文化:裸聊、跳西湖的奇葩背后到底想干嘛?

导读:淘宝一开始就是一个BBS,它其实就是要进入到一个社区中,每一个人要去注册一个论坛里的用户ID,这个时候因为原来我们那帮人中,马云

分享到:

猜你喜欢

    Warning: mysql_query(): Unable to save result set in E:wwwwww.seotesttools.comeclassdb_sql.php on line 20 SQL Error: select id,classid,ttid,onclick,plnum,totaldown,newspath,filename,userid,username,firsttitle,isgood,ispic,istop,isqf,ismember,isurl,truetime,lastdotime,havehtml,groupid,userfen,titlefont,titleurl,stb,fstb,restb,keyboard,title,ftitle,newstime,titlepic,smalltext,diggtop from ***_ecms_news order by rand() limit 6

栏目导航

推荐阅读

热门阅读