VB语言逆向

前言

天天打CTF着实给我整无聊了 上课的时候听到我们老师说自己写了一款软件可以监视我们的行为 并且限制娱乐软件的打开 瞬时就感兴趣了 这我能错过?

基本面

通过Linux to go 搞到了软件
在这里插入图片描述
在这里插入图片描述
32位 没有加壳(这边建议老师可以加下壳)
两款软件都是VB语言写的唉 说实话现在大部分都是C写的程序
见到这VB写的确实一股清流了

静态分析

monitor

先来看下monitor
其实VB这种程序 相比C来看的话 要容易分析的多
因为VB特征实在是太明显了 点按触发事件 每个事件基本都能清晰的看到(反编译出来)
随便截几张图看看吧
在这里插入图片描述看下软件的基本信息 哈哈好像除了姓名没啥子重要的信息了
在这里插入图片描述
简洁的主界面不愧是徐工的审美

在这里插入图片描述
在这里插入图片描述
从这里就看到是检测使用窗口检测技术 确切说应该是进程检测 相比C语言中的api还是有点不同的

在这里插入图片描述
这个位置好像还是挺关键的 先mark上

在这里插入图片描述
提到了另一个程序 可以先mark上

在这里插入图片描述
这里基本就实锤了是检测了进程的名称 检测到之后直接强制退出该进程

在这里插入图片描述
估计是与学生在斗智斗勇吧 确实挺不容易的

在这里插入图片描述
key = 666666 这密码也是真的够六的

功能还是挺多直接上思维导图吧
在这里插入图片描述

monitorprt

第二款软件应该是与第一款软件配合使用的
在这里插入图片描述
这个程序就很有意思了 GetWindowHwndByTitleRegExp 明显是来获取窗口名称的api
所以只要带有这些关键字都不用想了
连用户都上了 也是费尽心思了 哈
我说我动调的时候出现windows直接给我干没了

下面的jpg 估计就是开机背景了 自动把壁纸更换了
至于壁纸从哪里来的 刚才看过monitor程序就应该知道
大概率服务器中下载的

这个壁纸不得不说还是挺有想法的
在这里插入图片描述
关闭窗口用到的api 还是挺全的 这要是用C来写的话很难看的这么详细

动态分析

静态分析的话 基本也能看的差不多
不过动调才能看出程序的运行逻辑
在这里插入图片描述
直接上od看下 根据我的经验 运行起来检测到windows字段很快就被杀死
小心调一下试试
在这里插入图片描述
一点都不意外哈 直接壁纸给我换了 并且要求输入姓名学号
运行之后出现错误
其实不难理解 是因为时间的原因
把电脑时间设置一下就可以了(不是晚上就行)

重启重新调一下
在这里插入图片描述
看到学生端字样估计就在这运行的程序
想着在这下个断点来着
下了之后跑起来发现
好像用处不是很大

都说VB程序就像加了变态的壳一样
不体验一下着实不知道有这么恶心

又让他跑了一下堆栈发现了一些学生的名单 估计用来测试的

byte ptr ds:[eax+4C0000]=[004C0000 “2017101635\r\n*遥2017101637\r\n王*川2017101639\r\n刘*2017101641\r\n*安2017101643\r\n王*田2017101645\r\nend”]=32 ‘2’

不过感觉这个程序可能是因为拷过来或者版本有点小问题 好像没有办法直接通过这些姓名学号直接登录

柳暗花明

只能换个思路来看看了

既然它这个程序打开后生成了 upload 和 receive 所以 肯定是与服务器进行了通讯
通过静态分析也可以证实这一点
至于是哪个服务器 我不说你们也知道了

so 正常操作不行 那就直接去后台看看?

流量分析

想到与服务器进行通讯的话 一开始我想用burp抓包来着
但是我们是想搞到ip地址来着 不如直接走波流量分析?
在这里插入图片描述
因为是虚拟机的流量直接VMnet8就行了

开始捕获之后
进入虚拟机打开软件就可以看到软件的流量了
在这里插入图片描述
分析了一波之后发现好像并没有发现后台的服务器ip
当时想着既然换掉了壁纸 但是这个壁纸会不会是从服务器中获取来着
看起来并不是这样 壁纸应该是嵌在了软件里面了
不过这里用到了TLSv1.2协议
所以服务器是肯定存在的

至于为啥我这么肯定有服务器 其实也是老师说了句

服务器上可以一键切换模式

还有另一种方式可以控制被控电脑吗? 如果有的话估计也就是远程下线之类的了

所以肯定是哪里漏掉了重要的信息

GET IP

再次去程序中找一下
在这里插入图片描述
原来在这里 昨晚竟然没有注意到(lll¬ω¬)

有了ip先干点啥呢
在这里插入图片描述
当然是ping一下啦
能通!

这不访问一波试试
在这里插入图片描述
居然能直接访问到
而且没有设置下载权限!

那这多不好意思呀 勉为其难看下这软件后台把

在这里插入图片描述
可以耶 不过这版本应该是挺老的了 能用的几率也不是很大了 就这样吧

End

这软件写起来估计得花不少时间
软件写的确实很有意思
可以说一直在于学生斗智斗勇了
不过像我这么无聊的学生应该不多。。。
多谢徐工的软件
也算是让我这re选手能有了一点体验感

正如徐工(壁纸)所说:

不要仰望别人 自己亦是风景

感谢观看~~~

反编译工具(VB Decompiler Pro):是一款针对使用Visual Basic 5.0/6.0开发的程序的反编译器。反编译工具(VB Decompiler Pro)可以被编译成伪代码p-code或native code模式。由于伪代码是由高级指令组成, 因此是很有可能反编译成源代码的(当然, 变量名,函数名等等是无法反编译的).反编译工具(VB Decompiler Pro)可以恢复众多伪代码指令,但要反编译成源代码还是有很多工作需要完成, 反编译器将帮助您更轻松的分析程序算法以及部分恢复源代码。 如果一个程序被编译成native code, 从机器码恢复源代码是几乎不可能的. 但即便是这种情形下VB Decompiler还是可以帮助你分析程序. VB Decompiler包含了一个强大的支持包含MMX和SSE的Pentium Pro指令集的反编译器. 它还包含一个代码分析器, 用于搜索所有API调用,汇编代码中的字符串引用并将结果修改为相应的注释。 加入一个程序被编译成.net汇编,反编译器将恢复所有的托管代码的数据表和模块,并且使用IL反汇编器反汇编所有的方法,函数以及事件。反编译并不需要.NET Framework并且支持所有的32位Windows操作系统。 VB Decompiler也将反编译文件中的所有的图形界面窗体以及控件。出于技术需要,反编译器可能显示所有控件的编译地址。 对于加壳的VB程序,首先需要脱壳后才能正常反编译。 总而言之, VB Decompiler是一款出色的程序分析工具. 尤其是当您不慎丢失源代码并且需要部分恢复原工程的时候。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值