《第2期-11 实战飘零4.0山寨》学习笔记

从这集视频中,学到了以下两点:
一、在内存中搜索字符串
1、为什么要在内存中搜索字符串呢?


DIE查壳结果

因为这个程序被UPX加壳了,而我们暂时不想脱壳,所以直接载入OD运行起来后,搜索出来的字符串是这样的:


智能搜索字符串

智能搜索的结果

2、方法
载入OD后运行,在工具栏中选择带 “m" 的图标。点击最上面那一行地址,随后输入要查找的字符串 .asp
001.png

第一个找到的不是需要的,因为前面看飘零的源码得到的经验:网址都是以 .asp结尾的,且地址前面是密钥。在窗口中右键选择“下一个”,会继续寻找,直到找到的结果的地址位于程序的地址空间。

二、登录按钮变灰,不可用的解决方法
1、 使用OD的API断点工具,在“限制程序功能”标签页中,把这3个API全选上。


下断点

2、还是看飘零的源码,知道了这个登录按钮是在程序刚运行就被禁用变灰的,所以第一次断下来,就是在禁用登录按钮


断下来

我们看堆栈窗口中,断下来的是EnableWindow这个API。在下面有两个参数,第一个是hWnd不管它;第2个是Enable = FALSE, 对应的值是0。
那么我们来到调用这个API的地方,只需让第一个push 变为push 1就可以了。
修改push

总结一下,上面这两点中都用到了前面对于飘零源代码研究的结果。如果,没有前面的研究,那这里根本不知道连接服务器的地址的格式,是无从下手的。先从使用了这项技术的简单的东西开始研究,总结出这个技术的模式或套路来;然后才能用到复杂的东西上去。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,088评论 2 59
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,138评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,169评论 19 139
  • 小路的尽头, 会有蔚蓝的大海吧! 小河里的鱼儿虾儿, 我们走这条小路吧! 小路的尽头, 会有芬芳馥郁的花园吧! 勤...
    童心慢读阅读 2,483评论 4 26
  • 11月25日。 一,写字还是挺有意思的,同时写字还是比较有价值的一件事,但我要对它有较为深刻的一种认识。 二,趁一...
    好点九阅读 505评论 0 2