吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 638|回复: 3

[易语言] 【鲨鱼002课图文知识点梳理】

[复制链接]
书香 发表于 2024-2-10 12:39 | 显示全部楼层 |阅读模式

本帖最后由 书香 于 2024-2-10 12:45 编辑
逆向图文资料链接:Shark恒零基础逆向教程之图文版(共28课)

总系列链接:【书香编程系列教程】从零开始学编程语言

本系列上一级链接: 【易语言od联动学习系列简介】不是从上一级来的先返回上一级链接看大纲

在002课中【S01E02】Shark恒 零基础逆向教程之图文版【获得注册码】中,shark恒站长为我们演示了一个获取注册码的功能

关于这一课,shark恒老师的文章很多人可能还没有领会到精髓甚至有点懵,看一下就划走了,shark恒老师的这一课实际上是对几乎所有本地验证+网络验证进行逆向操作的一个基础框架设计


这个教程实际上是shark恒老师少讲了一个操作步骤,应该是怕大家听不懂,毕竟很多人不懂开发,引入这个参数很多人可能直接就蒙了,但是大家已经跟我学过编程了,所以接下来我来为大家还原这种类型程序的全部操作流程
fakename.png
大家可以看到的就是name(用户名)code(作者给你的授权码)这2个输入框,实际上少了一个参数,那就是机器码,这个软件全是英文的有些朋友可能看不懂,书香给大家写了一个

fakename.png

使用方法:
①:首先点击获取机器码,然后把用户名(随便写的)机器码发给程序作者
机器码的意思是机器特征码,这个是自定义的,就是提取设备的硬件信息(cpu序列号、内存条序列号、硬盘序列号等等)进行混合运算后得出的结果,下面是我的取机器码的算法
  
子程序名返回值类型公开备 注
获取机器码文本型 
变量名类 型静态数组备 注
cpu序列号文本型  
机器码文本型  
cpu序列号 = 系统_取CPU序列号 ()
机器码 = 文本_加密 (cpu序列号, “key”)  ' key是加密密码
返回 (机器码)


②:程序作者写了一个注册机,可以将用户名和机器码进行混合运算,得出的结果叫授权码(code),下面是我的取授权码的算法
注册机源码下载: 注册机.rar (265.85 KB, 下载次数: 0)
精易模块下载: 精易模块[v11.1.5].rar (780.28 KB, 下载次数: 0) (这个模块大家应该很熟悉了)

这是我写的一个自定义混合运算,文本_加密是精易模块的命令

  
子程序名返回值类型公开备 注
计算授权码文本型 
参数名类 型参考可空数组备 注
机器码文本型   
用户名文本型   
变量名类 型静态数组备 注
返回值文本型  
返回值 = 文本_加密 (机器码, 用户名)
返回 (返回值)



③:作者会把授权码发给你,你填写到软件上(授权码、code),然后点击登录


④:软件里也会有一个计算授权码的功能,算法和注册机一致
测试程序源码下载: 002课件.rar (231.12 KB, 下载次数: 0)

  
子程序名返回值类型公开备 注
_按钮_登录_被单击  
变量名类 型静态数组备 注
计算出的授权码文本型  
输入的授权码文本型  
机器码文本型  
机器码 = 获取机器码 ()
计算出的授权码 = 计算授权码 (机器码, 编辑框_用户名.内容)
子程序名返回值类型公开备 注
计算授权码文本型 
参数名类 型参考可空数组备 注
机器码文本型   
用户名文本型   
变量名类 型静态数组备 注
返回值文本型  
返回值 = 文本_加密 (机器码, 用户名)
返回 (返回值)


⑤:将计算得到的授权码和作者发给你的授权码去对比,如果一致这说明验证成功
fakename.png


这便是本地验证系列使用的全部过程

————————————————————————————


接下来我讲解一下shark恒老师的思路,大家有没有用过那种修改器的,比如玩个单机小游戏,我们可以去修改自己攻击、防御等,说的专业点就是内存操作
fakename.png
这个变量的数据是存储在内存的,shark恒老师相当于直接通过内存访问,读了这个变量存储在内存中的数据(授权码结果存储在里面),是不是突然有种充满智慧豁然开朗的感觉?

拓展难点:
这也是很多人在逆向中最常用的手段之一,我先等你计算完了,然后下个断点,然后内存修改计算的地方,然后下一句判断代码调用的就是修改后的数据了,这种手法就叫(叫什么呢,我也忘了,哈哈哈哈哈,我主要搞开发框架的,现在也不知道当前流行的行话叫什么,打补丁还是什么,我就叫他内存修改吧.......不要在意这些细节),所以我为什么说大家没理解shark恒老师这一课图文的精髓之处,别管什么数据加密,反正你最终要解密,我在你最终解密的地方下断点,然后内存写入我修改的数据(数据和你后台一样的,一般通过抓包等方式拦截获取的),这方法几乎可以通杀大多数程序,还是继续讲理论吧

——————————————————————————————

问题1:什么是CALL
CALL就是子程序,易语言里面带括号的,红色的代码,什么是关键CALL,这是人为命名的,你觉得他关键他就关键

问题2:为什么还要搜索“验证成功”等字符?
实际上就是为了找到判断的地方
fakename.png

问题3:判断(跳转,汇编代码叫je,其实je只是其中一个)上方找CALL的含义
对于本地验证而言,一般情况判断上面肯定是计算授权码的子程序功能

问题4:找到call以后呢
我知道肯定有人要怎么问的,其实文章上面有答案了,找到以后就下断点,od会帮我们读取内存数据
fakename.png


————————————————————————————

补充:把下面的课程好好再复习一下,060实在看不懂就算了
058:【CE工具的下载】                059:【CE修改内存】                  060:【代码实现内存修改】      

061:【程序的虚拟内存空间】  

本系列上一级链接: 【易语言od联动学习系列简介】

评分

参与人数 2HB +2 THX +2 收起 理由
爱编 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
美好映像 + 2 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
lies 发表于 2024-2-10 14:36 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
初心半夏丿 发表于 2024-2-10 17:08 | 显示全部楼层

感谢楼主热心分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
爱编 发表于 2024-2-22 20:35 | 显示全部楼层

不错,还是很有必要来刷一遍书香的分享,都能加深或有其他的感悟
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

1层
2层
3层
4层

免责声明

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

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


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

Powered by Discuz!

吾爱汇编 www.52hb.com

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