171013 逆向-Reversing.kr(AutoHotKey2)
1625-5 王子昂 总结《2017年10月13日》 【连续第378天总结】
A. reversing.kr
B.
AutoHotKey2
解压出来又来了ReadMe
不过这次比较简单,翻译一下是要求让程序正确运行即可
查壳发现又有UPX,upx -d脱下后就能进IDA静态分析了
先运行试试,发现报Exe Corrupted,跟AutoHotKey一样嘛,应该还是自校验吧~
那我看看源程序,结果还是报这个错
这样就没法像AutoHotKey一样借源程序便利啦,不过也对,这次要求是正常运行而不是找数据了嘛
那么乖乖分析自校验的位置吧~
IDA查找字符串,发现有两处引用
那么在OD中弹窗出现时按F12暂停,然后ALT+K查看调用堆栈就能找到具体的call了
锁定sub_4481e0中的call sub_4508c7
返回值1时将错误提示字符串提供给了sub_43C205,大概率就是弹窗调用了
直接爆破仍然会报错,再爆破报错的地方就直接结束了╮(╯_╰)╭
所以只好按部就班过自校验啦
虽然不明白这几个参数是哪来的,不过我们可以先分析一波~
要求Return 0,因此不能落入Label_18和Label_19中关闭文件句柄并return v13
只有函数的最后一行才有return 0~
基本过程跟AutoHotKey一样
通过文件指针读取本文件的二进制数据流
第一步是以整个文件的除了最后4字节的数据按4字节运算,最后结果异或0xAAAA后与最后4字节比较
运算过程在sub_450F95中,比较复杂,反正动态调试可以直接看到,就不费心去折腾了~
将得到的数据用十六进制编辑器(Winhex/UltraEdit等)写入文件最后4字节就行啦
(注意小端序哦,寄存器中的值和二进制数据顺序不同~)
接着以倒数第5-8字节作为偏移,要求16个字节与硬编码相同,再下一个字节为03
将硬编码dump出来再通过查找功能即可
找到索引是0x00032800,写入倒数第二个4字节即可(同样也要注意小端序哦)
再往后是对之后的字节进行读取啥的,就没有我们可以干涉的部分了
这里注意一下,因为我们修改了倒数第5-8字节,因此最后4字节的运算结果改变了,需要重新观察一下并写入(刚开始没反应过来,重新跟着走了一遍才发现╮(╯_╰)╭)
最后写入的8个字节是00 28 03 00 33 C6 2B 36
完成以后运行就显示了不同的东西:
嗯……英文苦手(:з」∠)
手打下来第一句话拖到翻译里,知道要找的这个人是Eddard Stark的私生子,故事来源于冰与火之歌
在Eddard的维基百科中搜索【私生子】得到结果:
于是就知道了这货是Jon Snow啦(连姓都不一样了,不愧是私生子
C. 明日计划
DLL注入知识
171013 逆向-Reversing.kr(AutoHotKey2)相关推荐
- 171019 逆向-Reversing.kr(MetroApp)
1625-5 王子昂 总结<2017年10月19日> [连续第384天总结] A. reversing.kr B. MetroApp 这次的逆向处理了很多麻烦,学到了不少关于MetroAp ...
- 170929 逆向-Reversing.kr(Ransomware)
1625-5 王子昂 总结<2017年9月29日> [连续第362天总结] A. Reversing.kr-Ransomware B. Ransomware readme提示解密文件,运行 ...
- 171003 逆向-Reversing.kr(CSHOP)
1625-5 王子昂 总结<2017年10月3日> [连续第368天总结] A. Reversing.kr-CSHOP B. CSHOP 这次只有一个文件,没有可怕的ReadMe了 打开是 ...
- 171002 逆向-Reversing.kr(AutoHotKey)
1625-5 王子昂 总结<2017年10月2日> [连续第367天总结] A. Reversing.kr-AutoHotKey B. AutoHotKey 解压出来一个ReadMe一个e ...
- 170926 逆向-Reversing.kr(ImagePrc)
1625-5 王子昂 总结<2017年9月26日> [连续第359天总结] A. Reversing.kr-ImagePrc B. ImagePrc 首先查壳,运行发现是一个光秃秃的窗口, ...
- 170925 逆向-Reversing.kr(Replace)
1625-5 王子昂 总结<2017年9月25日> [连续第358天总结] A. Reversing.kr-Replace B. Replace 先查一波壳,还好没有 运行,是一个GUI程 ...
- 【reversing.kr逆向之旅】Position的writeup
有提示是说flag就是当Serial为76876-77776时的Name 有多解 提示有四位 且最后一位是p ReversingKr KeygenMe Find the Name when ...
- reversing.kr学习之路-ransomeware
ransomeware - writeup 题目来源 http://reversing.kr 题目知识点:upx + 花指令 + 堆栈不平衡 + exe特征码提取key 前言 文章只是记录一下自己在r ...
- 逆向工程实验——pre3(reversing.kr写题)
reversing.kr写题 登陆网站http://reversing.kr 点击challenge选项 选一个题目完成. PEPassword 首先拿到这道题的时候我们发现有两个exe文件,开始不太 ...
最新文章
- pyhanlp 提取关键词、自动摘要
- Android第二十八天
- GraphPad Prism 9.3 更新内容,支持Monterey和Win11
- 维度爆炸?Python实现数据压缩竟如此简单!
- 启动数据库报错(1)ORA-01157,ORA-01110
- 常见的算法面试问题以及代码实现
- SpringBoot 整合 Redis 哨兵机制_02
- PowerDesigner(七)-数据库的生成和修改
- 在sql中使用函数,遇到net.sf.jsqlparser.parser.ParseException异常
- 计算机职业规划作文1000字左右,职业生涯规划_1000字
- 【大数据】即席查询引擎Presto简单介绍
- 无限循环小数四则运算_无限循环小数的加减乘除及无限循环小数转换为分数形式-何长峻...
- 罗格斯大学电子与计算机工程,罗格斯大学电子和计算机工程理学硕士研究生申请要求及申请材料要求清单...
- double型10进制转二进制
- 散列表,(拉链法,平方探测法,线性探测法)
- Mysql----关联查询
- You are 87% Sagittarius
- MODIS数据产品介绍
- 抖音小店无货源的回款周期是多久?怎么加快小店的回款周期?
- linux下yolact算法的实现,测试自己的数据集
热门文章
- 车牌输入法 车牌号快捷输入法 支持普通车牌新能源车牌
- Pg报错: HikariPool-1 - Connection is not available, request timed out after 30040ms.问题处理
- Greedy Gift Takers
- 5331. 【NOIP2017提高A组模拟8.23】壕游戏 费用流 动态连边
- 利用matlab实现硬币分类,一种硬币计数分类整理机的制作方法
- 2021UpdateC#.NET笔试题高级进阶篇
- 怎么快速学好大数据开发?
- ssm基于BS架构的校园爱心捐赠与物品交换平台的设计与实现毕业设计源码301133
- 我们该怎么样看待人工智能?
- 不加班,最高20天全薪年假在微软做程序员究竟有多爽?