作为一个bin小子,这次一个bin都没做出来,我很羞愧。

0x00 拯救鲁班七号

具体操作不多说,直接进入反编译源码阶段

可以看到,只要2处的str等于a就可以了,而str是由1处的checkPass返回,于是进入checkPass函数。

从代码看,这是调用了so库里的函数,并且我们知道so库的名字叫humen

于是找到so库,拖进ida静态分析

找到checkPass函数,直接F5,通过分析,2中的代码最为关键

这段代码把我们输入的密码做了非常复杂的变换,变换后得到的字符串为S!@#@1FD23154A34

于是我找了16张纸,将flag变换出来了。。。。。

0x01 取证密码

反编译

进入encrypt函数

找到XTU.so拖进ida静态分析。

这段代码很简单,脚本如下

 dest = [0x39,0x20,7,0xA,0x20,0x29,0x13,2,0x3A,0xC,0x11,0x31,0x3B,0xB,7]
str = 'Welc0meT0XTUCTF'
str1 = 'yInS567!bcNOUV8vwCDefXYZadoPQRGx13ghTpqrsHklm2EFtuJKLzMijAB094W'
a = len(str)
b = ''
for i in range(a):
b += str1[dest[i]]
print b

运行,得到flag.

0x02 人民的名义-抓捕赵德汉1

是个jar文件,直接反编译。

分析逻辑,直接进入checkPassword分析

很明显只要MD5解密就行

0x03人民的名义-抓捕赵德汉2

是个jar文件,直接反编译

好多乱码,很方,但还是继续分析,进入这个不知名的函数

看到两个关键函数,先进入第一个函数分析,一路追踪

复现这段代码

得到字符串JsnatterrtJuaththovacke

然后进入开始的第二个函数

代码逻辑很简单,下面是脚本

 # -*- coding: utf-8 -*-
def f1(a,b):
return f2(a) % len(b)
def f2(b):
if b > 2:
return f2(b - 1) + f2(b - 2)
else:
return 1
x = 'JsnatterrtJuaththovacke'
b = ''
z = 0
for i in range(0,4):
for j in range(0,4):
b += x[f1(z + j,x)]
z += 5
print b

运行得到flag.注意格式flag{xxxx-xxxx-xxxx-xxxx}                                                                                                                        .

最新文章

  1. perl 如何匹配ASCII码以及ASCII码转换
  2. java加法流程图
  3. 炫酷的Linux终端命令大全-1
  4. (转载)python2+selenium自动化测试系列(一)
  5. CSS三列布局
  6. BZOJ 3665: maths
  7. 0421 实验二Step2-FCFS调度
  8. JDBC操作Oracle数据库
  9. http://www.myexception.cn/program/767123.html
  10. 多边形节点编码python脚本
  11. CSS- 兼容样式记录
  12. Java学习笔记--StringTokenizer的使用
  13. LAMP架构搭建+Discuz论坛搭建【weber出品必属精品】
  14. WCF消息之XmlDictionaryWriter
  15. Java面试准备之探究集合
  16. centos6-7克隆主机网卡无法启动问题
  17. [转]CentOS7利用systemctl添加自定义系统服务
  18. 限制标题字符串的长度,超过长度的截取并加上"..."
  19. Sql 标识列 增长1000
  20. MySQL--Semi-join(半连接)优化策略

热门文章

  1. SourceTree配置BeyondCompare代码冲突解决工具
  2. 兼容主流浏览器的渐变颜色背景gradient的写法
  3. CF724G Xor-matic Number of the Graph(线性基+组合数)
  4. MyBatis嵌套Collection
  5. JSP技术概念
  6. Unix高级环境编程之fcntl函数
  7. vi/vim 中批量在行插入或删除指定字符
  8. mybatis(错误) 项目启动时报“Result Maps collection already contains value forxxx”的解决方案
  9. IDEA自定义设置快捷键输出你想要的语句!
  10. 在Asp.net MVC4 中使用SimpleMembershipProvider