合天实验室,挑战练习。 reverse水题

关于reverse的水题。基础的。

题目链接:http://erange.heetian.com/CTFrace.html


【1,dex2jar好用】

说是dex2jar好用,就猜到是apk了。改zip,解压出classes.de之后,用dex2jar,再用jd打开。


发现这么一段奇怪的字符数字,直接改成char表示,得到flag。

f l a g { w 4 n n 4 _ j 4 r _ m y _ d 3 x }

去掉空格输入进去。ok。


【2. int 3 断点稍微有点绕:pw1_pw2】

直接断下scanf函数,看到堆栈里面的字符串密码。得到第一重密码。


r0b0RUlez!

发现在关键的地方下了int 3 断点。程序自动跳转到中断函数中。中断函数表在IDT中可以查看到。
本来是用windbg可以看的,但是我的版本缺少  [!idt] 不懂为什么。

总之,函数最终还是会调用scanf的,于是在跳转到库函数的地方下断点。
最终锁定的关键函数。





存储的:
u1nnf2lg

逆向算法得到的,就是一个简单的+2操作。

w3lld0ne


上面两道,也花了我一个小时。就是这样。

第三题,elf格式文件,没花心思在linux下面。

关于如何查看IDT表,有下面的参考:


[如何查看int3 的函数表,即IDT表???]
[http://www.cnblogs.com/russinovich/archive/2011/05/09/2041628.html]
[http://www.cnblogs.com/russinovich/archive/2011/05/08/2040586.html]



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值