XMAN【我真的好菜-同pizza师傅修炼笔记四】hackcon-app.exe
前言
我好菜啊!真的没人看电影么?我请客!?
Again!有小姐姐一起看电影的么?!
hhhh~
分析
首先是个windows
程序,PE32+
尝试运行报缺少dll
,百度一下发现是用minGW
编译的,于是在电脑上装了minGW
但还是运行不了。-。-!!
IDA
查看全局搜索字符串可以看到virtual
字样,而且看这个程序的结构,套了四层while
,肯定是一个vm
的题,同时看到导入函数中有onexit
函数,这是一个linux下的回调函数,会在程序退出时执行注册的函数,不过这里对解题没什么影响。
我们可以很快的定位到main
函数
bytecode
变量名的提示也很明显,向上找到其交叉引用,可以到GLOBAL__sub_I__ZN7Machine8do_stuffEv
这个函数中,然后_refptr__binary_keycheck_start dq offset _binary_keycheck_start
,就可以找到bytecode
,将其提取出来,按照vm
的规则进行整理。如下
bytecode:10 06 41 00 00 00 mov r6 0x4110 07 50 00 00 00 mov r7 0x5010 0A 08 00 00 00 mov ra 0x805 07 0A r7 <<= ra r7 = 0x50 << 0x810 08 56 00 00 00 mov r8 0x5610 0A 10 00 00 00 mov ra 0x1005 08 0A r8 <<= ra r8 = 0x56 << 0x1010 09 45 00 00 00 mov r9 0x4510 0A 18 00 00 00 mov ra 0x1805 09 0A r9 <<= ra r9 = 0x45 << 0x1802 06 07 r6 |= r7 r6 = 0x41 | r7 | r8 | r902 06 08 r6 |= r802 06 09 r6 |= r911 07 03 mov r7 r300 07 06 r7 ^= r6 r7 = r3 ^ r611 06 02 mov r6 r200 06 03 r6 ^= r3 r6 = r2 ^ r310 08 0E 73 02 01 mov r8 0x0102730e 00 06 08 r6 ^= r8 r6 = r6 ^ 0x0102730e10 05 04 AA 10 03 mov r5 0x0310aa0403 05 01 r5 += r1 00 05 02 r5 ^= r2 r5 = (0x0310aa04 + r1)^r211 08 00 mov r8 r0 r8 = r010 09 01 D3 F0 04 mov r9 0x04f0d30104 08 09 r8 -= r9 r8 = (r0 - 0x04f0d301)^r100 08 01 r8 ^= r102 05 06 r5 |= r602 05 07 r5 |= r702 05 08 r5 |= r8 r5 = r5 | r6 | r7 | r811 00 05 mov r0 r5FF is right ? r0 != 0 correct! else false00 00 00 00 00 00 0088 35 40
这个vm
真的不难,就是有的时候脑壳有点疼。
整理一下加密过程如下:
from libnum import n2s,s2n
r3=s2n('XXXX')
r2=s2n('XXXX')
r1=s2n('XXXX')
r0=s2n('XXXX')
r7=0x50<<0x8
r8=0x56<<0x10
r9=0x45<<0x18
r6=0x41|r7|r8|r9
print r6 #1163284545
r7 = r3^r6
r6=r2^r3^0x0102730e
r5 = (0x0310aa04 + r1)^r2
r8 = (r0 - 0x04f0d301)^r1
r5 = (0x0310aa04 + r1)^r2 | r2^r3^0x0102730e | r3^1163284545 | (r0 - 0x04f0d301)^r1
if r5 == 0:print 'corrert'
else:print "error"
print r5
辣么,只需使每个|
都为0
即可。
直接口算的。。。
r3 = 1163284545 #F4LL
r2 = 1146364751 #ACyK
r1 = 1094941003 #DT#O
r0 = 1177832524 #EVPA
print n2s(r0)
print n2s(r1)
print n2s(r2)
print n2s(r3)
总结
我真的好菜!
pizza
师傅称这是水题。反正低头就是了!。
XMAN【我真的好菜-同pizza师傅修炼笔记四】hackcon-app.exe相关推荐
- 鸟哥的linux私房菜-基础学习篇 读书笔记
从事linux工作一年多,算是能够熟练运用linux服务器,但仍觉得自己对Linux的原理,理论缺乏空洞,潜下心来认真阅读尘封的鸟哥经典,知识点很全,收获颇多,实践与知识结合,知行合一,对linux开 ...
- 鸟哥的LINUX私房菜 基础学习篇 读书笔记 -- 第零章 计算机概论 (一)
鸟哥的LINUX私房菜 基础学习篇 读书笔记 -- 第零章 计算机概论 (一) 第零章 计算机概论 0.1 电脑:辅助人脑的好工具 0.1.1 计算机硬件五大组成部分 0.1.2 一切设计的起点: C ...
- WEB前端攻城小师傅修炼之道
原文链接: WEB前端攻城小师傅修炼之道 做前端这一个多年头来,零零碎碎的学了一些个知识概念,但是有时候思索一下啊,觉得这个前端知识链还是不很明确,不知道去学习那些知识应对互联网的发展,怎么循环渐进的 ...
- 学会Python真的有高收入?「python笔记」Python对象
1. Python对象 Python使用对象模型来存储数据.构造任何类型的值都是一个对象. 所有的Python对象都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对 ...
- chmod 777 什么意思:鸟哥的linux私房菜第六章学习笔记
鸟哥的linux私房菜基础学习篇:心血来潮决定看一下这本书,虽然都是讲很基础的东西,但是,绝对不是浪费时间,比如我看完了之后就终于明白了chmod777是什么意思了. 写这个读书笔记也主要是想记录一些 ...
- 护眼台灯真的护眼吗?为家长推荐四款真正护眼的台灯
现在学生的近视率越来越高了,突如其来的疫情造成上学时间增加,户外时间减少,加剧了近视重度化的趋势,教育部颁布了,如何预防近视和保护视力的方法,而有一条就是光线问题,而很多家长都会购买带有"护 ...
- 鸟哥的Linux私房菜-基础学习篇(第四版):鸟哥-电子书
内容简介: 本书是知名度颇高的Linux入门书<鸟哥的Linux私房菜基础学习篇>的新版,全面而详细地介绍了Linux操作系统. 全书分为五部分:第一部分着重说明计算机的基础知识.Linu ...
- 时过2年再读鸟哥私房菜,写一份读书笔记之第一章到第八章
上一份工作结束了,时间也过去了2年半,刚入行我是什么都不懂的一个小白,今天来看我可能还是一个什么都不懂的小白,报着初心者的态度决定再读一遍鸟哥的私房菜,看看是否2年半过去了,自己有什么长进. 第0章计 ...
- 《鸟哥的Linux私房菜-基础篇》学习笔记
主要用来记录学习,如果能帮助到你那最好了. 数据流重导向 概念 cat /etc/crontab /etc/vbirdsay 标准输出:将cat的文件输出到屏幕上 标准错误输出:无法找到文件报错 *系 ...
最新文章
- 【经验】对一个合格C++高级工程师(音视频方向)的要求
- 进阶学习(1) Gradle 项目管理工具的使用
- 网站推广期间出现排名异常网站推广专员应如何应对?
- maven项目中找不到Maven Dependencies解决办法
- VMware vSphere5.0 HA高可用性原理
- JSP标记之指令标记介绍
- 面向对象学习(1):认识软件系统的复杂性
- 当安防撞上AI风潮 会迸出怎样火花?
- 第29课 - 排序课后练习
- 对因果报应和轮回的态度
- cl.g4r.win index.php,win7 wamp环境配置Oracle数据库连接
- 数学建模优化模型简单例题_简单数学建模100例
- 保龄球计分c语言程序,保龄球的积分计分规则
- PS怎样扣图片和压缩图片工具推荐
- 一文入门车载以太网,吐血整理!不看后悔!
- Linux修改用户ID
- pip installl lap安装失败 error: Microsoft Visual C++ 14.0 or greater is required.
- LINUX 字体装在哪个文件夹里
- JS中call用法理解
- 人生低谷一日感悟+收获
热门文章
- 如何解决在打开pip时遇到Fatal error in launcher: Unable to create process using 的问题
- 评弹,有些味道,可惜听不懂!
- git pull origin master与git pull --rebase origin master的区别
- swift 自制framework中加载nib
- 耳机声控,以及耳机拔出或者插入控制播放暂停
- Java开源数据库引擎,数据库计算封闭性的一站式解决方案
- runas 显示740 所需的操作需要提升的解决方法
- 教师资格证查询成绩网站服务器,教师资格证成绩查询入口|面试报名入口
- linux里的葫芦娃----awk ,sed,grep
- css零到一基础教程006:CSS 颜色