赵庆明:X86软件逆向分析实战(一)
你将收获:
掌握软件安全分析基本工具的使用,掌握软件安全分析原理。
适用人群:
略懂C语言、C#语言、或易语言、或汇编语言。
介绍一些与课程相关的话题:
首先我们的课程性质属于灰产业的培训,首先不知道黑色的全是违法的,国家法律对其打击合法的,就是国家法律的一些知识,我们可能培训的结果是大家做的一个产品,那么有可能是违法的,那有可能是合法的,所以这种属于一种灰色产业,在某些情况下认为它是合法的,在某些情况下可以认为它是非法的,那么一旦归于黑色,其实你的软件就完蛋了,所以说灰黑产业它是见不得光的,首先我们开会产生特征也有可能违法,一旦违法国家会从法律层面进行制裁,你说这个东西一天是白费,不管你赚多少钱,最终全部交工,所以你最终百姓会上有可能还要蹲监狱,第2个就是封闭性,只有这个圈子中的人才会研究这个东西,这个东西是不对外公开的,那如果说你要找这个东西啊,你要去花很多时间,花很多渠道才能找到。但公开那这个东西也就很快就要遭灭顶之灾,第3一个快速获利性。
之前写过一些人的伙伴都有感觉你自己写一个软件写出来要卖掉是很难的,如果你是一道黑彩,赚钱是非常快的,比如说我们跟微信之间这些功能,微信公司到底有没有能力做?他是有能力,但是他不这样做,他不给你提供的服务,而我们要做的事情就是把它的功能给它挖掘出来,然后让相应的人去运用,到这是公众对一些销售人员管理人员来说,他非常需要,而微信不提供,所以他只有找相关软件,而这些软件都属于灰黑产业的软件,因为正规渠道不提供,所以它只有借助于灰色二件黑色二件,而这个软件我们通过我们的能力可以为它开发,所以回归软件的市场需求是非常大,但是因为它可能违法,可能会被打击滴软件都是悄悄运作,一旦规模做大,接下来就是被打击,虽然从国家法律层面来说不支持也不打击,但是如果这个软件涉及第三方,那第三方可以用法律武器对他的一种爱心保护你的,软件就没戏了,那这就是我们软件的特殊性,那接下来还有一个问题关于盗版,其实我作为一个老师来说对盗版并不重视,盗版这一块对我个人来说的话也没多大影响,无非是找几个人买我的课而已,也没多少钱,但是会遇到另外一个问题,很多人喜欢免费,免费往往是靠情怀做事,凡事靠勤快做事情都不会长久,其实我们也看到很多很多的免费软件,其实做得非常好,但是最终作者不再维护了,为什么?衡阳单靠情怀做事情都不会长久,无论做什么,当然我们也看到了不少的免费热线也做的非常好,但是你看到后面有个东西叫什么赞助,而且是巨头的赞助,比如CK的数据库,这个数据库网站上宣称已经超过1万亿个设备在用他的产品,而它是免费的,但涉及到谷歌公司给他持续的巨额的赞助,国内还有不少的大公司有这个软件做了巨额的赞助,你知道吗?如果你只是靠勤快做的事情都长久不了,包括我的一个学员也学得非常好,他自己学习完之后做的。
课程目录
001.课程概览
002.如何安装和确定当前软件版本
003.如何确定当前软件的基址
004.如何确定自己的重要信息存放的内存地址
005.用C++编写一个被注入的DLL
006.用易语言编写一个被注入的DLL
007.用C#语言编写一个被注入的DLL
008.用C++编写一个DLL注入器
009.用易语言编写一个DLL注入器
010.用C#语言编写一个DLL注入器
011.脚本多开:一看就想笑的方式
012.调试器多开:Hacker入门级操作
013.关掉Mutex:Hacker进阶操作
014.补丁多开:破解入门操作
015.使用C#读取其他进程内存中的数据
016.一级基址二级基址及其他
017.截图被遮盖、最小化的软件窗口
018.二维码截图与裁剪
019.二维码解码以及编码
020.从内存中读取二维码基址
021.从内存中导出二维码图片
022.从内存中读取PNG图片数据
023.编程关掉Mutex:Hacker高级操作
024.DLL劫持:一个被封印的超强注入技术
025.给软件添加一个可用“热键”“呼出”的“窗口”(C#&C)
026.IDA起步00:探秘WeTool
027.DLL被注入和被卸载(出坑必备)
028.用C#写一个WebServer
029.用C#写一个WebClient
030.寻找创建二维码字符串的汇编代码
031.根据“特征码”查找汇编代码的具体位置
032.C++调用被封装成COM组件的C#1
033.C++调用被封装成COM组件的C#2
034.发送消息CALL的汇编代码段
035.是谁在跟我聊天?
036.调试02:DebugView
037.调试03:对照源码输出调试日志
038.用易语言改变程序执行流程
039.定位创建图片的汇编代码段
040.用易语言改变程序执行流程2
041.调用CALL发送一个文本消息[C语言]
042.改变程序执行流程接收消息
043.如何成功卸载被远程线程注入的DLL
044.如何在C++源代码级别调试被远程线程注入的DLL
045.如何截获软件启动时加载的数据
046.可爱猫(AirCat):一个免费的扩展框架
047.用易语言调用一个CALL
048.IDA起步01:从零开始进行软件分析
049.IDA起步02:删除一个联系人
050.IDA起步03:退出一个聊天室
051.IDA起步04:跳转到登录页面
052.IDA起步05:判断用户是否已经登录
053.IDA起步06:给某人发个文本消息
054.IDA起步07:给某群发个文本消息
055.IDA起步08:给某群发个AT消息
056.IDA起步09:获取某群全部成员ID
057.IDA起步10:发送一个图片消息
058.IDA起步11:发送一个文件
059.IDA起步12:给某群发送一个群公告
060.IDA进阶13:使用IDA直接分析主要文件
061.在易语言中使用etcp(1)
062.在易语言中使用etcp(2)
063.如何编译etcp的c++源码
064.如何在C++中集成etcp
065.如何在C++中调用etcp.dll
066.在C#中调用etcp.dll
067.调试04:强制输出软件的调试信息
068.链表01:链表在内存中的存储形式
069.链表02:寻找链表头
070.链表03:使用C#遍历内存中的群链表
071.链表04:使用C#遍历群里的群成员链表
072.链表05:使用C#遍历内存中的联系人链表
073.链表06:使用C#遍历内存中的全球地区地址中英文对照表
074.链表07:使用C#遍历内存中的当前会话列表
075.查询“开关”设置的位置
076.课程相关话题
077.SQLite数据库01:如何编译SQLite数据库源码
078.SQLite数据库02:找到SQLite数据库句柄
079.SQLite数据库03:执行sqlite_exec、执行数据库回调函数
下载地址