Hello. 发表于 2020-7-29 18:11:22

【动画+图文】再看 TraceMe 动态分析

本帖最后由 Hello. 于 2020-8-14 10:38 编辑


前言
可通过点击上方目录,切换你感兴趣的内容 {:10_297:}
不要先急着看动画,先看图文效果更好~
(PS:图片过多,可能加载较慢,可尝试点击目录刷新或进行等待)
static/image/hrline/1.gif
闲着无事,重看了佳宇老师的 TraceMe 动态分析
老师只讲了一种简单方法,把函数的方法留下了
那我就自己做一遍,顺便写个小教程哈~{:10_297:}
static/image/hrline/1.gif

早就料到你们不爱看了,赶紧把小姐姐拿出来 {:10_250:}
http://pic.netbian.com/uploads/allimg/200718/123551-15950469513fe8.jpg
http://pic.netbian.com/uploads/allimg/200707/230750-1594134470f475.jpg
http://pic.netbian.com/uploads/allimg/200701/201124-1593605484976e.jpg
{:10_256:} 回复拿小姐姐 {:10_256:}**** Hidden Message *****
我不介意先 “评分、收藏、顶、回复、订阅” 再继续看 {:10_250:}



图文教程

(PS:图片过多,可能加载较慢,可尝试点击目录刷新或进行等待)
https://fishc.com.cn/static/image/hrline/1.gif

一、观察程序
1、如果我们输入错误的用户名和序列号(不可能正确),点击 “Check” 按钮会提示错误。
https://s1.ax1x.com/2020/07/29/aZGE0H.pnghttps://s1.ax1x.com/2020/07/29/aZGV7d.png
2、画流程图(手画的,有点丑{:10_250:})
如下图所示,输入正确的用户名和序列号才能显示正确对话框。https://s1.ax1x.com/2020/07/29/aZGa90.png
3、用 OD 打开它,分析一下https://s1.ax1x.com/2020/07/29/aZGcNR.png
4、按 F9 运行程序https://s1.ax1x.com/2020/07/29/aZGmtI.png
5、找对话框输入值的函数,我这里直接用插件下断点,和老师上课方法不同点击 “ API断点设置工具 ” --- “ 常用断点设置 ”
勾选“ GetWindowTextA ”和“ GetDlgItemTextA ”,给这两个函数下断点
https://s1.ax1x.com/2020/07/29/aZGQc8.pnghttps://s1.ax1x.com/2020/07/29/aZGljS.png
6、输入用户名和序列号并点击“ Check ”按钮此时程序显示调用“ GetDlgItemTextA ”函数https://s1.ax1x.com/2020/07/29/aZG8BQ.png
7、按下 Ctrl+F9 执行到返回https://s1.ax1x.com/2020/07/29/aZGR9x.png
8、按下 F8 键来到“ GetDlgItemTexeA ”函数执行的位置,它返回的是函数的下一行代码
https://s1.ax1x.com/2020/07/29/aZGeAA.png
9、继续按 F8 往下走获取完两个值,进行计算序列,再进行判断是否正确
https://s1.ax1x.com/2020/07/29/aZGfgK.png
10、继续 F8 往下走可以看到右上角 EDX 和 EAX 的值就是我们输入的“ Hello. ”和“ ilovefishc ”同时,右下角显示两个值已经压栈https://s1.ax1x.com/2020/07/29/aZG6E9.png
11、进函数我猜这个函数是判断,进去瞧瞧吧按下 F7 进入该程序,再按 F8 走,发现有个循环:判断输入的值是否与原始的值一致
https://s1.ax1x.com/2020/07/29/aZGwcT.png12、循环完之后继续执行可以看到,最终它会返回一个值放到 EAX 中,该值等于 0
然后继续执行返回该值
https://s1.ax1x.com/2020/07/29/aZvXWT.pnghttps://s1.ax1x.com/2020/07/29/aZz9gS.png返回值就是0,然后继续执行。https://s1.ax1x.com/2020/07/29/aZGtNn.png
13、分析跳转函数如果这个函数就是判断函数的话,下面这个跳转很可能是关键跳转下断点https://s1.ax1x.com/2020/07/29/aZGNhq.png
14、接着按 F8 继续走发现跳转了很远,然后提示“序列号错误,再来一次!”https://s1.ax1x.com/2020/07/29/aZGsHJ.png
15、按下 F9 运行,弹出错误对话框,确定上面为关键跳转
https://s1.ax1x.com/2020/07/29/aZGW36.png
16、Ctrl+F2 重新载入程序接着按 F9 运行程序,在弹出的对话框中输入内容,点击“check”
继续按下 F9 运行程序跳转到我们刚刚下断点的“关键跳转”位置
https://s1.ax1x.com/2020/07/29/aZGYAs.png
17、修改汇编代码,JE 是实现跳转,修改为 JNZ不跳转按下 F9 ,此处应该有掌声{:10_298:}
https://s1.ax1x.com/2020/07/29/aZGd3V.pnghttps://s1.ax1x.com/2020/07/29/aZGM1f.png18、保存爆 破点击“复制到可执行文件”,选择修改,备份https://s1.ax1x.com/2020/07/29/aZGnht.pnghttps://s1.ax1x.com/2020/07/29/aZGK9P.png
19、保存成功后,随便输入用户名和序列号,都提示成功!https://s1.ax1x.com/2020/07/29/aZG3ng.png
20、爆 破成功的附件请自己动手操作!
**** Hidden Message *****图文已结束,请点击顶部目录切换内容 ^_^https://fishc.com.cn/forum.php?mod=image&aid=130498&size=300x300&key=8c1ceecc294ed8c2&nocache=yes&type=fixnone



动画
static/image/hrline/1.gif

你们最期待的动画来了~一定要看完图文教程再看动画哦 {:10_268:}
我录了 10 次,还是这么烂,凑合看吧。。
精彩展示:


**** Hidden Message *****


算法static/image/hrline/1.gif

#include "stdafx.h"
#include <string.h>

//char name = "abcdexxxx";
char name;
char table = { 0xC ,0xA ,0x13 ,0x09 ,0x0C ,0x0B ,0x0A ,0x08 };
int main()
{
      printf(" 输入key:\n ");
      scanf_s("%s",name,65);

      //会用到一个固定地址的值
      //会用到姓名里的后两位
      //eax = i
      int user_len = strlen(name);
      int key_code= 0; //esi
      


      int count_ecx = 3;//esi
      int eax = 0;      //eax
    for (; count_ecx<user_len;)
      {
                if (eax>7)
                        eax = 0;

                int ebx = 0;
                int edx = 0;

                edx = name;
                ebx = table;
                ebx = edx * ebx;

                key_code += ebx;
                count_ecx++;
                eax++;

      }
      printf("key_code: %d", key_code);
    return 0;
}





尾声https://fishc.com.cn/static/image/hrline/1.gif
希望大家也能勤动手、勤动脑不断研究,把所有东西都弄明白 {:10_311:}相信这样做会使你的技术飞速增长哦!
static/image/hrline/1.gif

声明:原创作品,如有侵权,请联系删除;如有雷同,纯属巧合;

转载请注明出处及作者

统计:

准备时间:3 天

动画制作时间:2 小时
写作时间:0.2 天

整理时间:0.4 天

字数:13887 字节

作者:Hello.


特别鸣谢:

所有支持【安全时刻】&【工欲善其事】系列以及支持【彩虹之路】的朋友们!

如果有收获,别忘了“五连”(收藏、顶、回复、评分、订阅){:10_281:}






Hello. 发表于 2020-7-29 18:11:23

赠人鱼币~手有鱼香
不评个分再走嘛~{:10_297:}

支持一下淘帖:

【善事利器】:传送门
【安全时刻】:传送门
【彩虹之路】:传送门

招募一起进步的伙伴以及志同道合的大牛~

Twilight6 发表于 2020-7-29 18:17:43

@小甲鱼 帮楼主艾特~

Twilight6 发表于 2020-7-29 20:06:54

冲~~~{:7_146:}{:7_146:}{:7_146:}

_2_ 发表于 2020-7-29 21:25:27

来啦
支持一下

不二如是 发表于 2020-7-30 07:59:29

阅读量不够哦

悠悠2264 发表于 2020-7-30 12:42:03

支持哦{:7_146:}

JohnEric 发表于 2020-8-1 14:16:44

小姐姐有b站号不,没有见建一个,做你粉丝。视频讲解更直观

不一样の烟火 发表于 2020-8-2 14:16:43

支持!

Mike_福利 发表于 2020-8-2 14:19:04

给爷小姐姐{:10_256:}

Mike_福利 发表于 2020-8-2 14:21:56

我想知道这是干什么的

Esiper 发表于 2020-8-3 11:25:40

楼主威武,谢谢

wening 发表于 2020-8-3 11:43:06

哈哈哈

wuqramy 发表于 2020-8-4 16:48:33

哇哇哇凑热闹

UncleMonster 发表于 2020-8-4 19:01:39

我不是为了小姐姐来的{:10_285:}

okkboss 发表于 2020-8-5 10:48:54

{:10_256:}

昨非 发表于 2020-8-5 11:01:19

老拿小姐姐骗我

Hello. 发表于 2020-8-5 11:01:53

昨非 发表于 2020-8-5 11:01
老拿小姐姐骗我

难道不香么{:10_256:}

昨非 发表于 2020-8-5 11:04:52

Hello. 发表于 2020-8-5 11:01
难道不香么

香是香...

122Ml 发表于 2020-8-5 11:07:48

{:10_256:}
页: [1] 2 3 4 5 6
查看完整版本: 【动画+图文】再看 TraceMe 动态分析