type
status
date
slug
summary
tags
category
icon
password

WOW

IDA打开,main函数里面有很多引用函数,逐个点开,分析得到
notion image
四个加密函数里的逻辑都不简单,可以dump下来的数据很多很长,且有被隐藏的代码 搜索了一下知道这是Heaven's Gate,是一种在32位WoW进程中执行64位代码,调用64位win32API技术(防止静态分析)
notion image
这里密文cipher和Buf2比较,一样则输出win,多半下面flag的结果与input就关系不大了 那我直接把cipher的数据pasta data给Buf2,再动调步过加密逻辑,Buf2或input地址变化后的位置应该就是flag了
开搞:
notion image
打好断点,方便pasta data和步过逻辑 提取cipher(hex) =29209862FC467956A5904AF6A370D91B34021B5065863335BBA59F96BB2BE32A 构建调试用flag = ‘aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa’
notion image
动调至memset函数时,浏览器自动跳转到B站视频《猫中毒》(测试了一下error情况下自动跳转至B站视频《Never Gonna Give You Up》) 继续步过逻辑,成功得到flag
notion image
 

server

main_main主函数,是go语言
回调函数为main_HttpHandleFunc,调试发现,输入经过main_encrypt处理后,与已知的res比较
notion image
进入main_encrypt函数,伪代码看不出什么
notion image
那就只有看汇编,发现有RSA加密,p,q,e已知
notion image
RSA后传参给RSA_cipher,经过两轮异或后与已知的res比较
notion image
提取res
但是其中有很多0是无用数据,写个脚本去除:
exp:
 

ezvm

switch—case的vm保护,根据
notion image
需要计算一下找到opcode的地址
索引到指定地址,提取opcode
根据case18计算data的地址
同样索引
通过switch-case逻辑以及以上数据,可以构建脚本来复现这个vm隐藏的代码操作: 通过copyIDA中打开的21个case操作,写出:
notion image
试运行,可以看到遍历四个case跳入case16的getchar函数(与IDA动调结果一致),模拟flag:hame{a......a}(个数从20开始调整),目的是找到出现循环的的地方,所对应flag长度即为真正flag长度,一直到32位出现循环
notion image
notion image
通过以上操作,可以发现实际上循环加密只进行了*2和case3的异或操作,知道加密方法,就可以开始提取数据 通过case18,提取出数据(其实是上面data中的部分数据),按32位一组提取出
据此,可以写出脚本:
 

hardasm

main函数打开以后,和题目名字一样,6750行的汇编指令,读不了一点
notion image
只有慢慢尝试理解
notion image
  • 这里很明显能清楚flag长度为32
经过搜索可以知道这是X86-64架构下使用AVX2指令的汇编代码
这里可以看出ymm0-ymm7都被赋予了data,而ymm0被赋予了input 下面主要涉及vpermd,vpxor,vpaddb,vpsubb,vpshufb这5个指令 但是运算过程以及汇编代码量过于庞大,且不会AVX2指令集,果断动调
notion image
在一大串指令过后找到cmp对比,以此为断点,构造hgame{aaaaaaaaaaaaaaaaaaaaaaaaa}
notion image
在这里的ptr可以看到最后比较数据的前6位有了回显,应该是'hgame{'的回显,而其他数据都因为错误而回显0 为了测试,构造hg3m3{aaaaaaaaaaaaaaaaaaaaaaaaa}
notion image
很明显,猜测完全正确 那可以patch程序,将[rsp+70h+var_50]处的内容传递给rcx,以此打印;
 
Hgame2023reverse week4Hgame2024reverse
Loading...
Sh4d0w
Sh4d0w
漫长学习路ing
最新发布
360加固复现学习
2025-6-15
java反射机制
2025-6-14
classLoader机制
2025-6-14
dex文件结构
2025-6-14
APP启动流程
2025-6-14
JNI学习
2025-6-14
公告
Welcome to Sh4dw’s blog!
敬请指导,Q 467194403