首页 > 其他分享 >BUU Re childRe 和 [SWPU2019]ReverseMe

BUU Re childRe 和 [SWPU2019]ReverseMe

时间:2023-07-15 23:55:15浏览次数:37  
标签:0x6E flag ReverseMe Re 异或 key input 0x62 SWPU2019

childRe

    符号生成规则: C++函数符号生成规则: private: char * __thiscall R0Pxx::My_Aut0_PWN(unsigned char *) 得到?My_Aut0_PWN@ROPxx@@AAEPADPAE@Z   二叉树: 下面给出实操(如何利用这个对应关系):   以及列表下标的应用: 主要是index
a=list("1234567890-=!@#$%^&*()_+qwertyuiop[]QWERTYUIOP{}asdfghjkl;'ASDFG")
b=list("(_@4620!08!6_0*0442!@186%%0@3=66!!974*3234=&0^3&1@=&0908!6_0*&")
c=list("55565653255552225565565555243466334653663544426565555525555222")
flag=''
for i in range(62):
    flag+=chr(a.index(b[i])+a.index(c[i])*23)
print(flag)

 

 

[SWPU2019]ReverseMe

  如果静态很难的话可以考虑用动调直接逆 主要还是这题的静态分析很难,有很多莫名其妙的函数进行了很多莫名其妙的操作,动态调试一下 汇编分析

 

ecx=[0x62, 0x66, 0x61, 0x64, 0x6E, 0x03, 0x01, 0x00, 0x08, 0x6E,
   0x72, 0x65, 0x77, 0x62, 0x66, 0x61, 0x64, 0x6E, 0x03, 0x01,
   0x00, 0x08, 0x6E, 0x72, 0x65, 0x77, 0x62, 0x66, 0x61, 0x64,
   0x6E, 0x03, 0x00]#转移的input与key异或的结果
edx=[0xE4, 0x6A, 0x5F, 0xAE, 0xF6, 0xD4, 0xAF, 0x19, 0xEA, 0x19, 
  0x19, 0xC3, 0x1D, 0xC3, 0x11, 0xD1, 0x0D, 0xFF, 0x34, 0x04, 
  0x7A, 0xF1, 0x15, 0x42, 0x26, 0x2D, 0x29, 0x76, 0xE7, 0x19, 
  0xBA, 0x2B,0x00]#某某又与(转移的input与key异或的结果)异或的结果
eax=[ 0xB3, 0x37, 0x0F, 0xF8, 0xBC, 0xBC, 0xAE, 0x5D, 0xBA, 0x5A, 
  0x4D, 0x86, 0x44, 0x97, 0x62, 0xD3, 0x4F, 0xBA, 0x24, 0x16, 
  0x0B, 0x9F, 0x72, 0x1A, 0x65, 0x68, 0x6D, 0x26, 0xBA, 0x6B, 
  0xC8, 0x67,]#大数字码表
key="SWPU_2019_CTF"
flag=''
#大数字码表==某某又与(转移的input与key异或的结果)异或的结果
#则win
 
'''
先要求出某某
某某=edx^ecx
eax^某某=input与key异或的结果
结果^key=input(flag)
'''
for i in range(len(eax)):
    flag+=chr((edx[i]^ecx[i])^eax[i]^ord(key[i%len(key)]))
print(flag)

 

这题中我用到的分析的新的方法主要有: 汇编设标记行,打好注释备注 跳转IP与寄存器的值 来回切换 在关键数据,例如读入或者是某个运算后的存储结果的地方打硬件断点或者内存断点,看看下一刻是什么时候用到它

标签:0x6E,flag,ReverseMe,Re,异或,key,input,0x62,SWPU2019
From: https://www.cnblogs.com/zydt10/p/17557265.html

相关文章

  • *** These critical programs are missing or too old: compiler
     001、问题 ***Thesecriticalprogramsaremissingortooold:compiler 002、查看c编译器版本[root@PC1build]#gcc--versiongcc(GCC)4.8.520150623(RedHat4.8.5-44)Copyright(C)2015FreeSoftwareFoundation,Inc.Thisisfreesoftware;seethe......
  • Mozilla 检测到 Firefox 出现大量崩溃事件
    导读近日,Mozilla检测到Firefox出现了大量崩溃事件,这个问题主要发生在使用 Linux 系统的用户身上,尤其是使用基于旧版本Debian的Linux系统上。经过调查,Mozilla最后发现这个问题并非由Firefox本身引起,而是涉及到Linux内核和Google的JavaScript代码。这些......
  • *** These critical programs are missing or too old: make compiler
     001、问题***Thesecriticalprogramsaremissingortooold:makecompiler 002、查看当前的make版本[root@PC1build]#make--version 003、make官网:http://ftp.gnu.org/pub/gnu/make/下载最新的make。 004、wgethttp://ftp.gnu.org/pub/gnu/make/ma......
  • git_ls-remote
    1.查看commit和对应的引用类型refs/reviewable:引用一般包含待审查的变更集或者补丁的提交记录refs/pull/xxx/head:引用指向拉取请求的源分支的最新提交refs/pull/xxx/merge:引用指向合并后代码状态gitls-remoteorigincb825687a592709f902f3d320d93987a0546fd28......
  • freee Programming Contest 2023(AtCoder Beginner Contest 310)题解
    点我看题A-OrderSomethingElse直接比较\(P\)和\(Q+min(D_i)\),输出较小值即可。点击查看代码#include<bits/stdc++.h>#definerep(i,n)for(inti=0;i<n;++i)#definerepn(i,n)for(inti=1;i<=n;++i)#defineLLlonglong#definefifirst#definesesecond#defi......
  • VMvare去虚拟化--cpu id
    安装好虚拟机之后,有机打开虚拟机目录找到(.vmx)文件,右键记事本打开,粘贴如下代码cpuid.1.edx=00010111100010111111101111111111cpuid.80000000.0.ebx="0111:0101:0110:1110:0110:0101:0100:0111"cpuid.80000000.0.ecx="0110:1100:0110:0101:0111:0100:0110:1110"cpuid.80000......
  • flex and bison usage in PostgreSQL
    flex/bisonusageinpgsqlInregularbisonusage,wecallyyparse()togetanAST.So,IsearchedforyyparseinPostgreSQLsourcecode,whicheventuallyledmetothebase_yyparse()function.Whatisthat?Ingram.y:%name-prefix="base_yy"%par......
  • lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/liuj
     glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于glibc囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万象。而......
  • 1-19 编写函数 reverse(s),将字符串 s 中的字符顺序颠倒过来。使用该函数 编写一个程
    ArchlinuxGCC13.1.1 202304292023-07-1521:41:44星期六 点击查看代码#include<stdio.h>#include<string.h>voidreverse(char*s);voidreverse_in();intmain(){reverse_in();return0;}voidreverse(char*s){inti,j;......
  • React/Redux/React-Native 代码片段
    ES7+React/Redux/React-Native代码片段ES7+React/Redux/React-Nativesnippets一个使用react开发的代码片段插件。Snippetsinfo前置知识:代码片段中每个花括号{}和圆括号()内部的空格意味着将其推到下一行......