来写一下学习PJ的心得 第一课
本帖最后由 a621460 于 2023-8-19 19:02 编辑首先 本人有一点点的基础
第一课关于壳和脱壳
首先壳如何去理解有人说 壳是衣服一个软件好比一个人像了解它你得先脱光它衣服
昂怎么说呢 我不会写壳 也看过很多课程都是白嫖的
壳 可以明确的说 壳 是一个针对特定 参数进入的一个门槛 当然也可以不脱去做破解 也是可以的这个得看你对壳和软件构造的了解程度
简单的说 软件是一个房子 你想看房子内部 你需要 钥匙才能打开门自己手动打开软件 就好像 是宗杰帮你打开你就只能按照宗杰给你介绍的规则 去看房子 你想自己看 要么自己买下来 要么自己去吧们给它弄了
笔记
关键1
走壳 走下不走上这个是手托的关键
关键2
可以不需要知道是什么壳 也可以不需要知道 是什么软件写的有一个很蠢但是很有用的办法
如果不知道是什么壳并且不知道是什么软件写的 就一直往下走一直走到 软件窗口跳出来(或者软件打开的特征之类的 比如右下角图标等) 那么你就距离入口很近了 (前提是这个软件得有窗口,如果是木马或者其他后台程序那种我还没弄过 没试过)
关键3
比如 走到call 跳完就弹窗 需要进入call内部继续关键1 走一遍
需要了解一点汇编 一定要在 call后的第一段代码或者跳转后的第一段代码 作为入口
比如
call400600进去走了 几句代码或者函数走了一小半那么 400600 则为入口
以上这3个 是脱壳第一课的 核心关键点
关键4
这个怎么说呢 就是 其他 各种壳的方式方法 这个是需要你对壳 有一定的背书 你知道这个是什么壳 可以用什么方法 快速脱壳 能很大节约你的时间也同样有用
我是一个新手我还是蛮喜欢 自己手托 然后到 软件弹出来的那种感觉
以上只是针对 新手 纯小白 说的这几个方法是理解很容易的如果是大佬其实可以看得出来这些其实有点不严谨 真托起来的时候 还是会有很多 问题 比如找到入口 或者 入口有一些偏移之类的 等等
总而言之 目的是脱壳其实就是找到 软件的真正入口 里面还是有很多细节方面的比如在在向上跳转的下面一句 是一个call需要在call 后面 继续运行 还有一些其他脱壳以后需要修复之类的问题我托壳后 入口呢 也可能多少存在一点 不对 但是可以打开有一个坏处 就是 查壳会有点混乱 比如你在 入口的前一句 比如是一个jmp 那边 设置为入口也可以托 也可以作为入口 只不过让系统多读一句代码 查克可能会显示没托干净或者吧C++ 语言 读成CVS 7 读成VS8 也可以在 jmp 跳转后的 地址后的一句代码选择入口 也可以打开 但是不知道会发生什么 不可预知的 一些软件bug 这个最好是自己多实验几次 手动走几次 在一个 如果身为小白 也不要怕 不一样也不要担心 做错做错了都会做错你试过错的 并且学会怎么处理那么你就比别人多一道经验比如今天是一个UPS 你错的多了 在将来 遇见一个未知壳 呢 在都是未知的情况 你就比别人多一个错误知识点的判断 在学习过程种有些弯路是可以尝试走一下的只有你能更全面的了解 你才能有更多的底气 来说明或者应用这些东西 宗杰 手托 看看
谢谢分享,楼主加油。 成功的那一刻,就很有成就感 感觉现在实际上脱壳用的情况比较少,反而带壳打补丁的情况运用的比较多 表哥一定要更新下去啊 哥一定要更新下去啊。教程有点看不懂。我有点迷茫, 受教,版主加油更新 谢谢分享,楼主加油。 感谢楼主分享
页:
[1]
2