学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

74

积分

0

好友

3

主题

[原创图文] wasm 文件逆向

发表于 2019-11-7 20:17:44 | 查看: 5105| 回复: 3
参考链接:https://www.52pojie.cn/thread-962068-1-1.html?tdsourcetag=s_pctim_aiomsg

WebAssembly 或者 wasm 是一个可移植、体积小、加载快并且兼容 Web 的全新格式。
我自己认为的wasm 是将c代码进行转换而得出的,它不是作为开发人员进行一行一行进行开发的,更多的是调用,以弥补JS自身存在的不足。当然,wasm本身的不易解读的特性,也对与网站的安全起到的好的促进的作用(个人见解,如有错误,欢迎指导)



现在wasm 越来越流行,以至于在CTF比赛中也出现了类似的题目(虽然我没怎么做过),所以今天我来介绍一下如何优雅的逆向wasm 文件

1、开始前的准备
        *安装CMake:https://cmake.org/
        *安装MinGW:https://osdn.net/projects/mingw/releases/

2、从github 上克隆下来wabt:https://github.com/WebAssembly/wabt
git clone https://github.com/WebAssembly/wabt.git

image.png



[吐槽]:图片贴不上去,只能使用markDown插件


3、使用Cmake编译

image.png



注:如果出现类似报错,使用以下命令,然后重新编译
CMake Error at CMakeLists.txt:446 (message):
  Can't find third_party/gtest.  Run git submodule update --init, or disable
  with CMake -DBUILD_TESTS=OFF.


命令:
git submodule update --init


image.png



相关命令:
> mkdir build
> cd build
> cmake .. -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_INSTALL_PREFIX=..\ -G "Visual Studio 14 2015"
> cmake --build . --config DEBUG --target install


完成以上操作,会发现在路劲下出现了一个bin文件,我们所使用的工具都在里面

image.png



4、使用wasm2c将wasm文件转换成c文件并保存为.c
wasm2c C:\Users\JJR\Desktop\a.wasm -o wasm.c

然后会得到两个文件,分别是wasm.c和wasm.h

我们可以尝试打开文件,发现里面的c语言可读性非常高,但是局限就是如果文件太大,代码量太大,也不利于我们分析,所以有一种优雅的方式就是使用MinGW将c文件编译成.o文件,使用IDA进行逆向,查看伪代码

5、使用MinWG
将wasm-rt.h、wasm-rt-impl.c、wasm-rt-impl.h与我们得到的两个文件放置在同一个文件夹内
gcc -c wasm.c -o wasm.o

使用IDA进行逆向

image.png




以上就是我找到的如何优雅的进行wasm文件的逆向的方式
重新梳理以下思路,就是将wasm变的可读性更高
.wasm文件 ----> .c文件 ----> .o文件 ----> 使用IDA进行静态分析
温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
发表于 2019-11-8 14:43:53
这个可以动态调试吗?需要用什么工具?
秃子 发表于 2019-11-8 23:57 详情  回复
这个是使用的IDA pro 反汇编的gcc 编译的.o文件,动态调试的化没尝试过,大佬可以try try
发表于 2019-11-8 23:57:03
xuenixiang 发表于 2019-11-8 14:43
这个可以动态调试吗?需要用什么工具?

这个是使用的IDA pro 反汇编的gcc 编译的.o文件,动态调试的化没尝试过,大佬可以try try

    发表于 2021-9-15 11:39:49
    非常不错啊,感谢楼主无私的共享精神!

    小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

    GMT+8, 2024-4-26 01:53 , Processed in 0.099738 second(s), 50 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表