die查一下发现是upx壳 直接脱掉

ELF文件 跑一下:

没看懂是什么意思 随便输一个数就结束了

ida打开 看一下:

pipe是完成两个进程之间通信的函数 1是写,0是读

fork是通过系统调用创建一个“子进程”的函数

fork的返回值,在子进程里面是0,在父进程里是子进程的进程id

所以我们可以很容易看出来 在子进程里面,由于v5==0,所以会输出刚刚我们看到的 OMG!!!! I forgot kid's id 然后将69800876143568214356928753通过pipe传给父进程

完成这个任务后,子进程就会exit(0)

至于父进程,由于v5!=0,会跳过子进程刚刚执行的部分,直接读取子进程传给他的那一串数字 并且读取用户输入的v6

如果v6==v5 那么就会继续进行下面的操作

所以在新的终端里面用 ps -A 命令找到进程id:

可以看到子进程9403已经被杀死了,在原来的终端里输入9403:

但是提醒的是 flag is not here ......

那么打开lol函数:

应该是很简单的操作 于是:

a1=''
s=''
s+=chr( 2 * ord(a1[1]))
s+= chr(ord(a1[4]) + ord(a1[5]))
s+= chr(ord(a1[8]) + ord(a1[9]))
s+= chr(2 * ord(a1[12]))
s+= chr(ord(a1[18]) + ord(a1[17]))
s+= chr(ord(a1[10] )+ ord(a1[21]))
s+= chr(ord(a1[9] )+ ord(a1[25]))
print(s)

输出flag:

rhelheg

最后提交必须是RCTF{rhelheg}......有点坑

最新文章

  1. Linux 平台静默安装 Oracle客户端
  2. 外边距塌陷之clearance
  3. 设计模式之美:Role Object(角色对象)
  4. 安装和使用cocoapods
  5. LeetCode Verify Preorder Serialization of a Binary Tree
  6. MySQL预处理语句
  7. HYSBZ 2145 悄悄话
  8. BZOJ 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
  9. Android ANR、Force Closed(转)
  10. on使用详解
  11. 配置uwsgi
  12. 详谈kafka的深入浅出
  13. STM32L476应用开发之五:数据保存与SD卡操作
  14. 《你不知道的javascript》读书笔记2
  15. 17-(基础入门篇)GPRS(Air202)串口
  16. DapperExtensions and Dapper.Contrib在表构架不是默认dbo时的处理 DapperExtensions and Dapper.Contrib with non-dbo Schema
  17. 18-10-18 Python 思维导图 很棒的
  18. python中,获取字符串的长度
  19. JDBC中处理事务,小Demo
  20. 操作XmlDocument时,出现"System.OutOfMemoryException"异常,如何解决加载大数据的情况?

热门文章

  1. 20190328-CSS样式一:字体样式font-、文本样式text-、背景图样式background-
  2. REST风格下如何放行静态资源
  3. Dynamics CRM项目实例之六:积分管理,汇总字段,计算字段,快速查看视图
  4. Android 解析标准的点击第三方文件管理器中的视频的intent
  5. ionic3 Toast组件
  6. git rebase 使用详解
  7. SQL 创建分区表
  8. Python爬虫之正则表达式(1)
  9. 对于windows操作系统磁盘访问权限修改的手残教训
  10. sqlserver中批量导出所有作业或链接脚本