bugku逆向笔记

逆向刷题

1.入门逆向
解压后用ida反编译在这里插入图片描述直接就可以看到flag的ASCII码,用c语言把他们输出,轻松拿到flag
在这里插入图片描述
2.easy-vb
用od打开,使用智能搜索,flag get

在这里插入图片描述
3easy_re
和上题基本一样,用od打开,搜索ASCII码,轻松找到flag
在这里插入图片描述
4.游戏过关
一个奇怪的小游戏,1-8每个数字输一次就可以过关
6,逆向入门
进去直接得到一个base64码,在线转成二维码扫码就行了
7,love
用ida将主函数反编译
在这里插入图片描述
从第三十行代码直接可以看到说s2和dest比较,来决定程序的输出,而s2可以直接得到
在这里插入图片描述只看s2还得不出什么,再通过代码可以知道dest与sub-4110b函数有很大的关系,打开这个函数
在这里插入图片描述
在这里插入图片描述
可以推测s2由flagbase64加密得到,将其解密,因为不会python,所以从网上找了个解密脚本,解密后得到flag
在这里插入图片描述

换一道自闭题

climb mountain

这道自闭题让我去学了od动态分析,esp手动脱壳,差点自闭
先下载,查壳

在这里插入图片描述

脱壳后用ida打开
在这里插入图片描述在这里插入图片描述随机数种子一定,可以找到rand(出来的数应该也是一样的
在这里插入图片描述将代码输出可以得到这张表,再通过if(sub-4110cd(v7)==19)可知,字符串长度为19,再通过下面的if语句可以知道字符串值只有76或82(l和r)题目要求最大步数,通过算法解得
不会写算法,网上参考的算法,以后再去学习,在这里插入图片描述输入后还是错的,观察后应该是sub41114f改变了值,用od载入,找到这个算法在这里插入图片描述分析汇编可得它将偶数位的数值异或4,解密得到RVRVRHLVRVLVLVRVLVL(flag)

file

elf文件,拖入ida反编译,要求找出丢失的文件,反编译查看主函数

在这里插入图片描述
flllag,k都是固定的值,v16通过文件输入得到,v15通过sub_400eb9得到,再通过*fllag!=(K^v16[k] ^v15[k])
可以知道v[16]即时从文件中读取的数值,再通过提示可以知道这个题目的flag就是文件的md5

在这里插入图片描述

在这里插入图片描述分析得出v15为str人-home的十六进制转换为十进制,strr-home也为固定值,可以在ida找到
在这里插入图片描述
在这里插入图片描述
所以可以通过逆运算即可得到v16,再写入文件计算md5即可得到flag,因为有不可见字符,所以用16进制写入文件,计算md5得到flag:flag{914a7b9df69eab5b74b9edb7070e53e8}
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript逆向工程涉及到逆向分析、代码还原、代码修改等多个方面,其中Webpack作为一个重要的静态模块打包器,也是逆向工程中需要重点关注的一部分。以下是一些关于Webpack逆向笔记: 1. Webpack的打包过程是从入口文件开始的,Webpack会递归地遍历所有依赖模块,并将它们打包成一个或多个Bundle文件。因此,逆向工程的第一步就是找到Webpack打包的入口文件。 2. 在入口文件中,Webpack会通过require或import语句加载其他模块,并递归地遍历所有依赖模块。因此,我们可以通过分析入口文件来了解应用的整体结构和模块依赖关系。 3. 在Webpack的打包过程中,每个模块都会被赋予一个唯一的标识符,这个标识符可以通过module.id来获取。因此,我们可以通过分析打包后的代码,来了解每个模块的标识符和依赖关系。 4. 在Webpack的打包过程中,Loader和Plugin是非常重要的扩展机制,它们可以对模块进行转换和优化。因此,我们可以通过分析Loader和Plugin的源代码,来了解它们的作用和实现原理。 5. 在逆向工程中,我们可以使用Webpack的source-map选项来生成源映射文件,从而方便我们进行代码还原和调试。同时,我们也可以使用Webpack的devtool选项来设置不同的调试工具,以便更好地进行逆向分析和调试。 总的来说,Webpack作为静态模块打包器,在JavaScript逆向工程中扮演着重要的角色。通过对Webpack的逆向分析,我们可以更加深入地了解应用的整体结构和模块依赖关系,从而更好地进行代码还原和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值