首页 > 其他分享 >reverse_2

reverse_2

时间:2023-05-01 09:44:37浏览次数:44  
标签:__ reverse int pid rbp flag rsp

查壳(查位数)

64位,拖进IDA

方法依旧,F5看伪代码

int __cdecl main(int argc, const char **argv, const char **envp)
{
  int result; // eax
  int stat_loc; // [rsp+4h] [rbp-3Ch] BYREF
  int i; // [rsp+8h] [rbp-38h]
  __pid_t pid; // [rsp+Ch] [rbp-34h]
  char s2[24]; // [rsp+10h] [rbp-30h] BYREF
  unsigned __int64 v8; // [rsp+28h] [rbp-18h]

  v8 = __readfsqword(0x28u);
  pid = fork();
  if ( pid )
  {
    waitpid(pid, &stat_loc, 0);
  }
  else
  {
    for ( i = 0; i <= strlen(&flag); ++i )
    {
      if ( *(&flag + i) == 105 || *(&flag + i) == 114 )
        *(&flag + i) = 49;
    }
  }
  printf("input the flag:");
  __isoc99_scanf("%20s", s2);
  if ( !strcmp(&flag, s2) )
    result = puts("this is the right flag!");
  else
    result = puts("wrong flag!");
  return result;
}

先看看flag是啥,双击flag

发现少了一个 { ,是不是还有什么隐藏的flag没写入,其实不然7Bh就是 { 转化一下就能看到了

所以flag

在比较字符串前我们还能看到flag有转化

先看在干嘛

将所有'i','r'全部转化为 1

所以flag{hack1ng_fo1_fun}收工

标签:__,reverse,int,pid,rbp,flag,rsp
From: https://www.cnblogs.com/TFOREVERY/p/17366183.html

相关文章

  • reverse_1
    依旧先查壳(看几位)没壳64位考虑IDA或者OD都行(看个人习惯,OD需要很大的功底)建议先从IDA开始拖入IDA看看发现没有想要的东西-->shift+F12-->(可以ctrl+F)-->也可一个个找关键字flag发现rightflag-->点进去在数据段上(不能操作)没有任何作用-->ctrl+x(查看是谁调用了......
  • XI Samara Regional Intercollegiate Programming Contest Problem E. Substring Re
    Twostringssandtofthesamelengtharegiven.Determinewhetheritispossibletomaketfromsusingexactlyonereverseofsomeitssubstring.InputThefirstlinecontainsthestrings,andthesecond—thestringt.Bothstringshavethesamel......
  • Comparator.reverseOrder() 和 reversed()的区别
    摘要:Comparator.reverseOrder()和reversed()的区别是前者以某字段进行倒序排列,而reversed是针对已排序数据进行处理,常常用于比较器的末尾。  在使用Streamsorted进行排序的时候,常常需要按照摸个属性进行降序排列,有时候reverseOrder()和reversed()都可以实现目标,那他们的区......
  • Minimum Reverse Operations
    MinimumReverseOperationsYouaregivenaninteger n andaninteger p intherange [0,n-1].Representinga0-indexed array arr oflength n whereallpositionsaresetto$0$'s,exceptposition p whichissetto 1 .Youarealsogivenaninte......
  • sort,sorted,reverse,reversed的区别
    python中sort,sorted,reverse,reversed的区别简单的说以上四个内置函数都是排序。对于sort和reverse都是list列表的内置函数,一般不传参数,没有返回值,会改变原列表的值。而sorted和reversed是python内置函数,需要传参数,参数可以是字符串,列表,字典,元组,不管传的参数是什么sorted返回的......
  • How to Configure Nginx reverse proxy the domain
    未测试过,自己记录待用http{resolver8.8.8.8;upstreamexample{serverhttp://example.comresolve[use_last]...;keepalive1024;}第二种负载均衡upstreammytarget{serveraaa.tar.com:443max_fails=3fail_timeout=60s;serverbbb.tar.com:443backup;}server......
  • reverse/base64变体类型
    例:【BUU】特殊的BASE64进入main函数后发现rightflag明显是base64加密的结果(补=)随后发现右base64encode函数进入后发现是传统的base64加密方式,猜测是密码表的变体利用shitf+f12查看字符串发现有类似密码表的字符串利用脚本进行解密importbase64outab="ABCDEFGHIJKLMNOP......
  • string_reverse
      defstring_reverse():s="abcdrfg"foriinrange(len(s)-1,-1,-1):print(s[i],end="")gfrdcba  defstring_reverse():......
  • algrothm_reverse(algrothm+round)【反转链表】
    ......
  • reverse单题
    题意:初始化数组a为[1,2...,n],对该区间进行反转操作后,对子区间[l,mid],[mid+1,r]中的元素个数大于2的区间进行同样的操作,直到最后所有子区间元素个数都为1,给出一个查找区间[......