0x01
libdroid 攻防世界

工具

dex2jar+jd-gui

思路展开

下载下来附件,改为.zip后缀,解压出来得apk文件,apk文件再改.zip后缀,再解压,得到dex文件,dex2jar反编译,jd-gui打开。
接下来的操作对安卓开发的细节要充分了解,先搁在这,日后跟进。
32C3_this_is_build_for_flag_ship_phones

0x02
MyDriver2-397(windows驱动)

工具

IDA

思路展开

sys后缀,驱动,好吧,我是一脸懵逼。驱动已经提上日程了,还有上面的java的安卓开发(太菜了)。
先去看卸载函数

开关内存保护,然后把正确的地址写回去,从这出发,顺着线往上找,发现程序是用inline hook(如何看出inline hook)下图ff25,jmp e9/ff25

跳转的硬编码

进入sub_114D0

统计文件中字符次数,若大于8次,先执行sub_115dc,再执行sub_112b4写入byte_16390。进入sub_112B4

看byte_16390怎么来的,找到解密函数:

逆向算法解密,v1、v2通过sub_11DF0函数算出,两个参数1546720197和42。
the flag is A_simple_Inline_hook_Drv
逻辑:inline hook ntcreatefile 然后 统计 P_giveMe_flag_233.txt 打开的次数,如果是第九次 那么 就会把flag 写入到txt 里面,由于inlinehook所以不会往里写flag。
另一个思路:
此题从正向出发,先找DriverEntry,看逻辑,也可找到sub_113C8(),分析算法可得(有好几个函数,sub_113C8函数最像计算flag的函数,自己太菜,现在靠猜了,唉)

0x03
easy_go

工具

ida逆向去符号表脚本+gdb

思路展开

ida没符号表(符号表:平常打开ida都有函数名称指示,那个是main函数,那个是打印函数,本题打开发现没有这些指示,所有函数都是sub开头的通用表示,所以用脚本还原这些函数名)
IDA 7.0 如何使用 IDAGolangHelper插件
配置好后,执行脚本还原函数名称,找到main函数。

有个红色区域,猜测软件保护技术,所以采用动调,ida动调失败(有ida反调试,但ida改不了跳转,无奈放弃),所以采用gdb调试,在0x495318下断点调试,提示输入时,随便输入,flag就出来了。
flag{92094daf-33c9-431e-a85a-8bfbd5df98ad}

0517 libdroid MyDriver2-397 easy_go攻防世界相关推荐

  1. 攻防世界 Pwn 进阶 第二页

    00 这文章更重要的是对这些题进行一个总结,说一些值得注意的地方,写一些自己的理解. 为了形成一个体系,想将前面学过的一些东西都拉来放在一起总结总结,方便学习,方便记忆. 攻防世界 Pwn 新手 攻防 ...

  2. 【攻防世界001】Guess-the-Number

    攻防世界之前刷了几十题了,没写wp,感觉很简单没啥意思.后来参加了几次比赛,发现有点干不动,决定还是老老实实刷题好了.这是第一篇wp,这题很简单,是个jar,用jd-gui可以得到java源码. 原来 ...

  3. 攻防世界(pwn)--Mary_Morton 利用格式化字符串+栈溢出破解Canary的保护机制

    ctf(pwn) canary保护机制讲解 与 破解方法介绍 程序执行流程 有三个选项,1是利用栈溢出,2是利用格式化字符串,3是退出;可连续输入多次; IDA分析 解题思路 程序存在canary保护 ...

  4. 攻防世界(Pwn) forgot---栈溢出;(方法二)

    攻防世界(Pwn) forgot-栈溢出:(方法一) 里面对问题描述的更详细一点 返回目标函数 0x80486CC 方法二(爆破流) 因为最终返回的是 v3[0]-v3[9] 之中的一个函数, v3[ ...

  5. 攻防世界(Pwn) forgot---栈溢出;(方法一)

    攻防世界(Pwn) forgot-栈溢出:(方法二) 介绍 这道题表面看起来有点复杂,其实很简单,有两种方法可以来做这一道题; 方法一(精确打击) 文件运行流程是: 1.先输入名字 2. 输入一串字符 ...

  6. 攻防世界misc新手_[攻防世界]mobile新手练习区easy-apk

    [攻防世界]mobile新手练习区easy-apk easy-apk最佳Writeup由129师386旅独立团 • devi1提供 难度系数: 7.0 题目来源: 暂无 题目描述:无 题目场景: 暂无 ...

  7. 攻防世界 ——crypto

    目录 新手区部分题解: 1,easy_RSA 2,Normal_RSA 3, 幂数加密 4,easy_ECC 高手进阶区部分题题解 5, ENC 6,告诉你个秘密 7,Easy-one 8,说我作弊需 ...

  8. 攻防世界———MISC 高手区题解

    目录 1,base64stego 2,easycap 3,Avatar 4,What-is-this 5,签到题 6,Training-Stegano-1 7,Excaliflag 8,Get-the ...

  9. 攻防世界 web(二)

    这周接着刷攻防世界的web题( ̄︶ ̄)↗ 1.command_execution 看提示这题为命令执行漏洞(command_execution),关于命令执行漏洞,我前面有篇博客详细介绍了,大家不了解 ...

  10. misc高阶 攻防世界_攻防世界 Misc 进阶题(一)

    攻防世界 Misc 进阶题(一) 关于隐写术的思路或方法 转载: https://blog.csdn.net/a_small_rabbit/article/details/79644078     隐 ...

最新文章

  1. 判断出栈顺序是否正确(栈的压入、弹出序列)
  2. rails 数据库相关操作命令
  3. ext3分区修复linux,linux – 如何从损坏的ext3分区恢复数据?
  4. 3-6:常见任务和主要工具之正则表达式
  5. java中面向对象租车问题_答答租车系统-Java面向对象的学习
  6. Python IDLE换行写,一行写不下,如何换行继续写
  7. 智慧城市近两年来受到国家高度重视
  8. ibatis的缓存机制
  9. ROS系列:八、图像消息和OpenCV图像之间进行转换-cv_bridge
  10. 用userAgent判断手机类型
  11. web第六课:div标签和span标签
  12. MATLAB(3)MATLA 求极限 求积分 求微分 求级数的和
  13. java编译程序包不存在_在cmd下编译Java源文件文件出现程序包xxxx不存在
  14. android安全风险分析,Android安全检测报告,等保测评过不了,提示风险
  15. 证件照的尺寸规格和像素要求
  16. java aspx 验证码,asp 动态生成验证码
  17. js关闭当前页面 并 刷新主页面
  18. 什么是工作流开源框架?可提高办公效率吗?
  19. 数据库连接失败: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
  20. ICO和IPO的区别

热门文章

  1. 屏幕录制生成gif文件神器和相关操作 GifCam
  2. iweboffice之word——自定义菜单的使用
  3. 微信小程序之扫一扫功能
  4. 【数据异常校验】格拉布斯准则(Grubbs Criterion)处理数据异常
  5. 线性调频信号(LFM)时域与频域分析
  6. 新能源行业SCM供应链管理平台构建一站式新能源供应链交易闭环
  7. 3dmax如何使阴天灯光设置更加自然
  8. Java完全自学手册pdf,flutter中文网
  9. 冰点文库下载安装及使用教程
  10. 4米乘以12米CAD图_CAD套图技巧大揭秘及坐标问题小结