学破解论坛-软件逆向分析工程师的摇篮-懂进攻知防守!

 ★找回密码★
 ★立即注册★

QQ登录

只需一步,快速开始

查看: 10696|回复: 409

[原创逆向图文] 深夜来一发——易游WebAPi的简单分析+大白异常中断补丁修改eax值

  [复制链接] |关注本帖

  离线 

签到天数: 3

该用户今日未签到

马上注册,深入学习!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
大半夜了。来一发睡觉。希望大家多多支持。多多评分
      前景提要:朋友写的一个易游WebApi(以下简称易游Web)CM。没有多大难度,无壳无花,但是有核心数据跟变量,按照官方的例子弄了好久,才找到关键,并成功爆破了他,所以借这个机会,跟大家一起来分析易游Web验证的特点及爆破处。再这里,要感谢我的那位朋友@天上飞的鱼,还有感谢冰怜师傅的指点@冰怜泯灭。
     那个,上个成功的图。
    QQ截图20160715225213.png
     废话不多说,我们照着官方源码来分析这个CM

     首先我们直接看官方的注册码模版。我直接到登录按钮这,代码如下:
     PS:这。。。复制下来这鸟样。。。各位看官莫介意,我尽量拍下格式


       //首先进来就是读取C盘windows目录下的config.ini文件,看看我们之前是否登录过,状态码就是我们登录的时候,服务器返回的数据。
     配置值_状态码 = 读配置项 (“config.ini”, “root”, “code”, “”)                                
     配置值_上次登录用户名 = 读配置项 (“config.ini”, “root”, “upname”, “”)      

    .如果真 (取文本长度 (配置值_状态码) = 32)        //如果存在,也就是说我们之前登录成功过。并且服务器返回的数据要是32位长度的。就退出登录
       调用地址 = “https://w.eydata.net/0bee5ab963ef3b4c”          //这里就是退出登录的调用地址。
       调用参数 = “StatusCode=” + 配置值_状态码 + “&UserName=” + 配置值_上次登录用户名
       调用接口 (调用地址, 到字节集 (调用参数))       //就是通过这个函数来实现与服务器通信
   .如果真结束
    //如果我们是第一次打开这个软件,第一次登录这个软件,直接向服务器验证
   调用地址 = “http://w.eydata.net/0fde5c0e3e89715f”    //这里就是登录的地址了。
   调用参数 = “UserName=” + 编辑框_登录用户名.内容 + “&UserPwd=” + 编辑框_登录用户密码.内容 + “&Version=3.0&Mac=”  
   返回值 = 调用接口 (调用地址, 到字节集 (调用参数))   //跟上面一样,整个易游Web与服务器通信,都是通过这个函数。

  .如果 (取文本长度 (返回值) = 32)    //这里就是判断服务器返回的数据长度要是32位。不然就会跳到登录失败
       //接下来的操作就是把登录信息写到配置文件,也就是C盘windows目录下的config.ini,方便下次退出登录。窗口载入也是写在这里。
       状态码 = 返回值
       用户名 = 编辑框_登录用户名.内容
      .如果 (选择框_记住我.选中)
        写配置项 (“config.ini”, “root”, “name”, 编辑框_登录用户名.内容)
        写配置项 (“config.ini”, “root”, “pwd”, 编辑框_登录用户密码.内容)
     .否则
        写配置项 (“config.ini”, “root”, “name”, “”)
        写配置项 (“config.ini”, “root”, “pwd”, “”)
    .如果结束


         写配置项 (“config.ini”, “root”, “upname”, 编辑框_登录用户名.内容)
         写配置项 (“config.ini”, “root”, “code”, 状态码)
       _启动窗口.可视 = 假
       载入 (主窗口, , 真)
  .否则


    .如果 (取文本长度 (返回值) = 0)
        信息框 (“网络异常,获取信息失败”, 0, )
    .否则
        信息框 (“登录失败,错误代码:” + 返回值, 0, )
    .如果结束

好了,这个注册码模版的关键部分分析完了,接下来我们看看Web模块。我们只看   调用接口()这个函数,我只保留我们需要的部分,其余的请自己查看。代码如下:

       局_访问方式 = 多项选择 (2, “GET”, “POST”, “HEAD”)     //这里选择通信方式。
                  (………………)
      HttpSendRequestA_字节集 (局_HTTP请求句柄, 附加协议头, 取文本长度 (附加协议头), 字节集提交, 取字节集长度 (字节集提交))  //通过这个API函数来实现跟服务器的通信
                  (………………)
     .循环判断首 ()
                (………………)
    .循环判断尾 (局_计次 ≠ 0)
   返回 (到文本 (编码转换 (局_页面内容, #编码_UTF_8, #编码_GB2312, )))

既然是通过HttpSendRequestA这个APi函数来访问服务器的。那么我们就可以直接在这个API下断。接下来。OD操作。。。


因为这个API所在的dll是在点登录之后释放的。所以我们需要先点一次登录,然后再Ctrl+G到达HttpSendRequestA 这个函数处


QQ截图20160715231327.png    


看,这就是运行起来后,没有点登陆。定位不到这个函数。我们点下登录,再定位,就可以了


来到这里,下断后,点登录。
QQ截图20160715231533.png


断下来后,我们到堆栈里找调用Call。


QQ截图20160715231644.png


右键,反汇编窗口跟随。然后在调用call的下面下个断
QQ截图20160715231741.png


运行起来。然后我们F8单步,这里调用过HttpSendRequestA之后,按照模块源码应该是下面这些内容,我们可以不用管
QQ截图20160715231923.png
慢慢的往下跟。直到下图所在位置
QQ截图20160715232052.png
我们发现,在单步完这个call后,寄存器 eax的值变了, -114,登录数据不存在。也就是说,服务器上没有我们的数据。那么我们可以猜测,这个应该是那个退出的时候调用的。不管他。但是这个call要记住。因为我们现在所处的位置,就是易游Web模块中调用接口()函数的位置。我们在call的下面下个断,然后直接跑起来吧。


发现又断在了HttpSendRequestA 这个APi了。我们直接运行


已经在我们下的断点处断下了,然后我们右击eax寄存器,数据窗口跟随。


QQ截图20160715232731.png


-102的意识就是用户不存在。我们上面也看了源码。服务器是返回的长度为32的字符。那么我们把这个eax的值改成32位长度的字符不就可以了?
QQ截图20160715233005.png
记得后面要加00。
然后我们单步到调用这个call的地方。因为这个验证,登录也是调用那个Call,取各种数据也是调用那个call,所以,我们只能到调用这个call的下一行下断,打补丁。
QQ截图20160715233124.png

游客,以下内容已经设置隐藏,如果您要查看本帖隐藏内容请回复本主题(记得评分谢谢楼主呦,评分不扣你的分)


@Shark恒  恒大,求精。深夜发帖不容易啊。


PS:
喜欢你就评分呗。又不浪费你的HB。或许评分只是你的一次举手之劳,但是对于我们出教程的人来说,却是一种最大的支持跟鼓励还有认可。么么哒。

点评

谁又挖坟?  发表于 2017-7-19 20:19
谁挖的坟  发表于 2016-8-11 00:41
HTTP的直接本地 HTTPS的爆破 山寨- -  发表于 2016-7-17 13:29

评分

参与人数 44威望 +1 HB +107 THX +34 收起 理由
小陈 + 1 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
千里冰封 + 1 + 1 [快捷评语] - 2017,让我们17学破解!
jiqigouer + 2 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
风含笑 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
devilmilk + 1 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
jiaokai123 + 1 [快捷评语] - 2017,让我们17学破解!
lx211823654 + 3 + 1 不评分感觉对不起我自己的良心
tsphx + 1 [快捷评语] - 2017,让我们17学破解!
雅蝴蝶 + 1 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
暴力的狂风 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
ddd2017 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
耶稣 + 5 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
peter_king88 + 1 分享精神,是最值得尊敬的!
小强 + 3 + 1 评分=感恩!简单却充满爱!感谢您的作品!
逍遥枷锁 + 2 + 1 分享精神,是最值得尊敬的!
a1186494930 + 1 + 1 吃水不忘打井人,给个评分懂感恩!
happylyc + 1 评分=感恩!简单却充满爱!感谢您的作品!
nightyice + 1 分享精神,是最值得尊敬的!
奋斗 + 1 + 1 分享精神,是最值得尊敬的!
Niuer + 6 + 1 评分=感恩!简单却充满爱!感谢您的作品!
kwp666666 + 1 + 1 分享精神,是最值得尊敬的!
zby03772015 + 5 + 1 分享精神,是最值得尊敬的!
地球孤鹰 + 1 分享精神,是最值得尊敬的!
守护神艾丽莎 + 1 + 1 吃水不忘打井人,给个评分懂感恩!
abcde654321 + 1 + 1 吃水不忘打井人,给个评分懂感恩!
hpoon + 1 + 1 分享精神,是最值得尊敬的!
Zixue + 6 + 1 分享精神,是最值得尊敬的!
heiwen + 1 + 1 分享精神,是最值得尊敬的!
1906 + 1 + 1 分享精神,是最值得尊敬的!
723853985 + 6 + 1 分享精神,是最值得尊敬的!
追梦 + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!
lixjiy + 1 + 1 分享精神,是最值得尊敬的!
xubai123 + 1 分享精神,是最值得尊敬的!
xuenii + 1 + 1 叼炸天的操作~
ss2442376977 + 2 + 1 吃水不忘打井人,给个评分懂感恩!
微若清风 + 1 + 1 吃水不忘打井人,给个评分懂感恩!
笔尖下的日子 + 1 分享精神,是最值得尊敬的!
【By】岁月无痕 + 6 + 1 前来支持bu弃师傅,么么哒
wswwj + 1 + 1 吃水不忘打井人,给个评分懂感恩!
d550072252 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
330190725 + 1 又一个WEBAPI教程,感谢大牛
一个good而已 + 2 + 1 分享精神,是最值得尊敬的!
_BaZzi + 1 我只是来膜拜冰冷泯灭师傅的
Shark恒 + 1 + 30 + 1 评分=感恩!简单却充满爱!感谢您的作品!

还有更多人参与评分,点击查看全部!

学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  离线 

签到天数: 3

该用户今日未签到

 楼主| 发表于 2016-7-16 00:09 | 显示全部楼层 |取消关注该作者的回复
按照GG表哥的国际惯例。自己的沙发自己座。
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  在线 

签到天数: 314

今日第158个签到

精华与深夜制作无关,主要是讲解的确实很细致,代表大家感谢你,么么哒!
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

该用户从未签到

看看这个精华帖如何
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 9

该用户今日未签到

多谢楼主的教程。
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 9

该用户今日未签到

楼主大牛。可不可以翻录一下视频教程?》图文表示看不明白,中间有断层
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 21

该用户今日未签到

被加密的也可以吗?
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 4

该用户今日未签到

多谢楼主的教程
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

该用户从未签到

我来膜拜一发、
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 1

该用户今日未签到

我只是来膜拜冰冷泯灭师傅的
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明

本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识,所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者其他任何非法用途!否则,一切后果请用户自负!


站长微信号:SharkHeng|联系Email|鲨鱼逆向|手机版|小黑屋|FAQ|Vip破解教程|学破解论坛 ( 京公网安备 11011502002737号 | 京ICP备14042738号 ) 

GMT+8, 2017-12-13 20:45

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