吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 870|回复: 3

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

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

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

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

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

在001课中【S01E01】Shark恒 零基础逆向教程之图文版【逆向原理】中,shark恒站长为我们演示了一个强行跳转验证的功能



为了方便大家理解,我写的程序在shark恒老师的课件上做了修改
源码+编译后的程序:
001课件.rar (297.43 KB, 下载次数: 0)


①:我改成了卡密登录(大家可能更熟悉这种卡密界面)
1.png

②:我将弹出验证成功改为了载入一个新窗口(更加符合实际情况方便大家理解),但是我也保留了弹出验证成功的代码尽可能贴近shark恒老师的课件,否则od里显示会有一点差异影响学习效率)
2.png

③:我设置的是卡密输入123就载入功能窗口

接下来大家打开下载我的课件,使用shark恒老师的教学来操作我的这个课件程序,成功后我们来进行讲解,成功不了多测试几次
接下来我们来讲解源码组成与shark恒老师在本节中涉及到的的知识点

打开你的易语言加载我上传的测试程序的源码


先看易语言代码截图
fakename.png

shark恒老师课程内容简述

shark恒老师这篇文章讲的意思就是找到下方这句代码,然后屏蔽掉,nop的意思就是我直接把这句代码删了(表达的意思不完全对,但是效果大概就是这样)
fakename.png
那我这句代码没有了会怎么样?那我们就只会执行下面的两句了
  
_启动窗口.可视 = 假
载入 (功能窗口, , )


为什么不是3句?加上信息框 (“验证失败”, 0, , )这一句
因为他们不是一个领域,(我下面有讲解领域问题),不理解判断的说明你在上一级的链接中并没有按照要求先看易语言基础课程,如果看了就再复习一次014:【认识选择结构】   (易语言dz插件渲染效果不明显,复制到易语言里看

接下来我们来提取并拓展shark老师这篇文章中的知识点
知识点1:ASCALL码解释
fakename.png

008:【ASCALL编码】                  009:【UTF-8和GBK】           017:【Unicode(UTF-16)】
先阅读上方的3篇文章

编程语言在将源码编译成exe的时候,文本型数据(比如验证成功、验证失败,只要你眼睛看到的字符基本都属于文本型数据)会以指定编码(GBK、Unicode等)形式存储在硬盘,准确来说是2进制,不过考虑到本节对很多人难度已经很大了,2进制和ascall这个关系分支就先不讲了,后面补充


其实shark恒老师搜索Ascall这一步是有前提条件的那就是shark恒老师的测试课件是基于GBK编码来编译的,例如易语言程序的底层框架设计就是基于GBK编码
在GBK编码里一个汉字占用2个字节,也就是使用2个ASCALL码来表达,比如验证成功的ASCALL码集合就是:{209,233,214,164,179,201,185,166},od搜索ascall码实际就是搜索这一段ascall码,这段代码可以通过下方代码得出:
  
调试输出 (到字节集 (“验证成功”))

但是对于其他语言可能就不是基于GBK编码了,比如火山是基于Unicode(UTF-16,,不是UTF-8),一个汉字要使用4个ascall码(4个字节)来表示,所以你要选择搜索Unicode,这是一个隐藏知识点


搜索ascall码实际上相当于搜索GBK编码,我这里上传了一个用火山编写的程序给大家测试使用,因为火山底层框架采用的是Unicode编码所以搜索“登录成功”4个字需要使用搜索Unicode,我这个火山程序(MFC)只写了“登录成功”,所以大家搜索成了“登录失败”
32位被搜索程序.rar (1.38 MB, 下载次数: 0)

fakename.png
至于shark老师的这张图就好理解了,我们使用搜索ascall码功能的时候实际上od已经帮我们搜索除了所有的符合要求的字符串并列举出来,这张图的功能就是在列举的所有数据中去寻找我们需要的

知识点2:寻找判断(选择结构)
shark恒老师说找跳转,哪个跳转又跳过了谁谁谁

fakename.png

你就对着下面这张代码图看,是不是豁然开朗?
forum.jpg

je(跳转)在汇编语言中的意思是判断条件成立就进入下方领域1


fakename.png

这一步shark老师的目的就是为了找到信息框 (“验证成功”, 0, , )这句代码是否执行到底是由哪个判断来决定的,要找出这个判断

知识点3:nop
fakename.png
你就理解成把判断那句代码给删了,这个好像上面讲过了

知识点4:保存
fakename.png
这个可简单可复杂,保存的底层逻辑以后讲吧,这里面大有学问,这节课大家记得修改好要记得保存就可以了



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

评分

参与人数 3HB +3 THX +2 收起 理由
爱编 + 1
美好映像 + 2 + 1
小才不才 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
小才不才 发表于 2024-2-10 11:24 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
lies 发表于 2024-2-10 14:35 | 显示全部楼层

谢谢,新年快乐~!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
爱编 发表于 2024-2-22 20:28 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!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

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