吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 4198|回复: 24

[原创逆向图文] 飘零3.0另类逆向法以及不用字符串如何找到线程函数

[复制链接]
Harlan 发表于 2017-4-1 21:28 | 显示全部楼层 |阅读模式

本帖最后由 Harlan 于 2017-4-1 21:39 编辑

本人第一次发帖,难免有点小紧张,不过没关系 咱们交流技术 有什么不对的还望指出     进入正题。我们都有这个程序的源码,我的逆向分析思路是以源码为基础进行的逆向。前面的步骤我就不讲了 大家应该都会,我们直接进入单击按钮事件之后开始说。上图
002adh9Wzy79XUyMgN806&690.jpg
首先源码上按钮点击之后会启动线程,也就是说他是一个多线程的程序,学过编程的朋友都知道多线程会启动一个回调函数,所有的代码会在回调函数里执行,那么知道这个 我们就有思路了。
我中间可能忽略了很多细节,因为在恒大的教程里已经说的很清楚了,我就直接说我要说的重点。
002adh9Wzy79XUz0BPe6c&690.jpg
看下面这个图,上面以及标注了,有一个线程地址,就是源码源码中的登录线程,我们直接Ctrl+G 输入40FF4F
002adh9Wzy79XUXmUweee&690.jpg

然后我们进入下面的CALL  进去后看看 是不是很熟悉啊 ,就是一开始恒大的教程里用字符串搜索到的那段代码,然后我们向下走来到这里,然后把那个CALL NOP掉 看下张图
002adh9Wzy79XVnZIoH53&690.jpg
002adh9Wzy79XVCkFgG8e&690.jpg

这里的add 主要目的是为了堆栈平衡,但是我记得我改过一次 好像易语言的程序堆栈不平衡一样不会崩溃。来说说这个函数我为什么标记他是防破初始化是怎么看出来的,我相信肯定是很多朋友都想知道了 高手略过。 咱们对着源码看 首先源码上是传递3个参数,那么汇编上就是需要3个push 咱们可以看到这个函数的上面正好是3个push 因为易语言是C++编写的所有肯定是遵守c语言的调用约定,就是参数从右向左压栈,然后我们从汇编上看到的正好是离上面那个call最近的就是飘零取文件特征字,然后以此是密码 账号 正好和这个函数完全匹配,然后我们不用考虑直接NOP 我们不用进这个CALL跟他玩了 那么他的所有安装也就都失效了。
002adh9Wzy79XVUhk9Wd0&690.jpg

然后继续向下 来到重要的地方就是到源码所在的收费模式段,那个判断直接NOP  然后进收费模式call
002adh9Wzy79XWi34aya6&690.jpg
最重要的地方来了 ,我们对照的源码讲解
002adh9Wzy79XWr1qIJe5&690.jpg
这一段只要的目的是与服务器交互,那么我们既然爆破他,他与服务器交互或者不交互对于我们来说根本所谓,因为他没有检测必须要与服务器交互或者服务器返回什么重要的东西,而且我们可以看到这个源码中最重要的部分就是那个判断为真的时里面那个全局变量的赋值,只要判断成立那么登录标志就赋值为1,我说到这里 我相信有很多小伙伴应该会明白我下一步要做啥了。
还记得我们在前面的图中的标记吗,大家应该也知道关键CALL的原理,那么我们最简单的方法就是仿照关键call的写法,进入call 直接对变量赋值返回.上图
002adh9Wzy79XX5VDJO1c&690.jpg
就是这样 其实就是和关键call 中mov eax,1 意思一样。
这里赋值为1后 后面的代码就不用问了 他会直接启动起来那个窗口,因为后面的函数代码的条件我们满足了。
因为这个是个线程,所以我们直接回到一开始的那个主线程里,可以看到 他会判断这个全局变量是否是1,如果不是1直接结束,如果是1他会赋值为0
然后可以继续跟下去,至于那个函数驱动线程具体做了啥没有具体跟,只知道他的判断是真,然后执行了那个全局变量赋值为0。
这个全局变量赋值为0后 下一个函数就满足要求了 ,那么窗口就启动了。
我们只NOP了两处,一个retn 就实现了逆向,这里只是讲了一个思路 可能这个版本很落后了,但是这个方法肯定不会落后的。

这里为什么要retn 肯定很多人会说 下面写的retn 4  是不错 下面是写的retn 4 但是我没有翻因为很长。但是怎么确定是retn 4呢。我来普及一下知识。
c语言的调用约定最常见的是两个 __cdecl  __stdcall 这两个一个是外平栈一个是内平栈,这里的平栈就是与push相对的。
比如我们进函数之前push 一次 那么就是retn 4 因为push的值是一个DWORD  易语言中应该叫整数型,就是四字节,所以是内平栈就是retn 4 如果是外平栈就是add esp,4
那么同理如果是push 两次 就是retn8  三次就是retn 0xC  


但是这个可能是易语言的内核的问题  我上次改错了 我直接改retn  居然没有崩溃  我就很尴尬了。。。。   具体了解 大家可以百度,先说到这里  !!
至于这个飘零3.0的源码以及软件是恒大课程第二期第六课的课件里哦!!!我就不上传了,免得浪费论坛空间!

因为小弟是第一次来咱们论坛,感觉不留个工具好像有点过意不去。  大家在开虚拟机的时候肯定都知道 虚拟机需要启动5个服务,但是虚拟机关里 服务缺不会自己关,而且主要还影响电脑速度以及网速,反正我是有这感觉,我每次不关服务 我都感觉速度好慢,特此我写了一款软件 用c控制台写的,送给大家。 这工具会自动开启相关服务运行虚拟机主程序, 然后在不用虚拟机的时候可以关闭虚拟机全部服务以及托盘里的那个图标。。。。。。。。一定要把这个工具放到虚拟机同目录下运行哦!!如果这个工具有BUG私信我!

如果需要源码的可以给我留言。但是事先声明哦,是C语言代码哦 不是易语言的。。。。。


ServerControl.7z

50.42 KB, 下载次数: 3, 下载积分: HB -3

绿色无毒

评分

参与人数 12威望 +1 HB +29 THX +6 收起 理由
禽大师 + 1
sjtkxy + 1 + 1
attackmyth + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
一路走来不容易 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
消逝的过去 + 1
冷亦飞 + 1
lies + 1
叶落花开 + 2
hnymsh + 1
开始学习ing + 1 [快捷评语] - 分享精神,是最值得尊敬的!
Shark恒 + 1 + 20 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2017-4-1 21:54 | 显示全部楼层

加油加油,掌握原理,举一反三只非常重要的,支持Harlan。

如果不认真看教程,没学懂教程中讲到的原理,只是背一个操作过程的话,永远也不会举一反三。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| Harlan 发表于 2017-4-2 08:45 | 显示全部楼层

多谢恒大支持!  
虽然我是新人 但是我以后肯定会跟大家多多交流的。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
SihayTse 发表于 2017-4-4 01:57 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
超级白 发表于 2017-4-4 06:32 | 显示全部楼层

完全看不懂了呢
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| Harlan 发表于 2017-4-4 09:00 | 显示全部楼层

其实恒大的教程里也说了,大家多学学编程, 逆向工程其实就是把编程的东西反过来找,原理的东西还是需要有一定的编程知识才能了解的
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
a6725666 发表于 2017-4-4 16:15 | 显示全部楼层

感谢楼主这么细心的教程,给人一种不一样的思路
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Doctor 发表于 2017-4-4 18:56 | 显示全部楼层

一点一点的分析要好久啊
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| Harlan 发表于 2017-4-4 19:10 | 显示全部楼层

Doctor 发表于 2017-4-4 18:56
一点一点的分析要好久啊

这个3.0都有源码的  其实只要分析源码就行了 源码分析完了  看反汇编代码就容易多了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
别管我了行 发表于 2022-4-21 02:19 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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