开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5895|回复: 6
收起左侧

[图文资料] 简单逆向分析:高级选择夹子夹的显示和隐藏

[复制链接]
结帖率:100% (86/86)
发表于 2017-9-24 12:44:56 | 显示全部楼层 |阅读模式   北京市北京市
本帖最后由 taizhong 于 2017-9-24 12:53 编辑

帖子地址:https://bbs.125.la/forum.php?mod=viewthread&tid=14071769&page=1#pid12112511
要求显示出高级选择夹已经隐藏的的子夹
1.png

现在开始分析

第一步,分析易语言代码
============
写了个界面,一个高级选择夹中有三个子夹,隐藏和显示索引2的子夹
界面.BMP

显示和隐藏子夹的代码是这样的

代码.BMP

为了方便手机党,我把代码写出来,
高级选择夹1.隐藏子夹(2,真) --用来隐藏子夹
高级选择夹1.隐藏子夹(2,假) --用来显示子夹
注意,方法都是隐藏子夹(),"真"是隐藏,"假"是显示


第二步,分析汇编代码
============
隐藏子夹的汇编代码截图:
隐藏子夹.BMP

0040108D   $  55            push ebp
0040108E   .  8BEC          mov ebp,esp
00401090  |?  68 02000080   push 0x80000002
00401095  |?  6A 00         push 0x0
00401097  |?  68 01000000   push 0x1  '注释 注意本行
0040109C  |.  68 01030080   push 0x80000301
004010A1  |.  6A 00         push 0x0
004010A3  |?  68 02000000   push 0x2
004010A8  |?  68 02000200   push 0x20002
004010AD  |?  68 04000116   push 0x16010004
004010B2  |?  68 03000152   push 0x52010003
004010B7  |?  68 03000000   push 0x3
004010BC  |?  B8 01000000   mov eax,0x1
004010C1   ?  BB 50574400   mov ebx,隐藏和显.00445750
004010C6   $  E8 46000000   call 隐藏和显.00401111
004010CB   ?  83C4 28       add esp,0x28
004010CE   ?  8BE5          mov esp,ebp
004010D0   ?  5D            pop ebp                                  ;  隐藏和显.00416950
004010D1   ?  C3            retn


显示子夹的汇编代码
显示子夹.BMP

00401048  /.  55            push ebp
00401049  |.  8BEC          mov ebp,esp
0040104B  |.  68 02000080   push 0x80000002
00401050  |.  6A 00         push 0x0
00401052  |.  68 00000000   push 0x0 '注释 注意本行
00401057  |.  68 01030080   push 0x80000301
0040105C  |.  6A 00         push 0x0
0040105E  |.  68 02000000   push 0x2
00401063  |.  68 02000200   push 0x20002
00401068  |.  68 04000116   push 0x16010004
0040106D  |.  68 03000152   push 0x52010003
00401072  |.  68 03000000   push 0x3
00401077  |.  B8 01000000   mov eax,0x1
0040107C  |.  BB 50574400   mov ebx,隐藏和显.00445750
00401081  |.  E8 8B000000   call 隐藏和显.00401111
00401086  |.  83C4 28       add esp,0x28
00401089  |.  8BE5          mov esp,ebp
0040108B  |.  5D            pop ebp                                  ;  user32.774078D7
0040108C  \.  C3            retn


对比后,两者只有一行不同
隐藏的代码
00401097  |?  68 01000000   push 0x1  '注释 注意本行
显示的代码
00401052  |.  68 00000000   push 0x0 '注释 注意本行

总结
============
这里就明白了,子夹的显示和隐藏事件,调用了同一个call,
只是传入的参数不同,相同的参数位置,隐藏传入的是1,而显示的却是0

分析结束剩下的事情就简单了,不说了


好评走一走,bug不再有!!















捕捉事件.BMP

评分

参与人数 1好评 +1 精币 +1 收起 理由
待删用户 + 1 + 1 虽然看不懂,但肯定很厉害

查看全部评分


结帖率:100% (11/11)
发表于 2019-3-8 18:20:46 | 显示全部楼层   河南省郑州市
牛鼻人啦!
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)
发表于 2017-9-24 14:41:04 | 显示全部楼层   香港特别行政区*
bole5155 发表于 2017-9-24 12:50
怎么就找到这段代码了啊

你在E写一段那个代码,放子程序或者按钮下,然后取这个子程序的地址就可以得到了。
回复 支持 反对

使用道具 举报

结帖率:100% (86/86)
 楼主| 发表于 2017-9-24 12:54:58 | 显示全部楼层   北京市北京市
bole5155 发表于 2017-9-24 12:50
怎么就找到这段代码了啊

看最后的那张截图,,

好评走一走,bug不再有,,,
回复 支持 反对

使用道具 举报

结帖率:100% (86/86)
 楼主| 发表于 2017-9-24 12:51:05 | 显示全部楼层   北京市北京市
hk530944 发表于 2017-9-24 12:46
此处应该有掌声~

哥们,你们都开挂了吧??
回复 支持 反对

使用道具 举报

结帖率:100% (30/30)
发表于 2017-9-24 12:50:29 | 显示全部楼层   河南省郑州市
怎么就找到这段代码了啊
回复 支持 反对

使用道具 举报

结帖率:94% (34/36)

签到天数: 1 天

发表于 2017-9-24 12:46:46 | 显示全部楼层   山东省德州市
此处应该有掌声~
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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