美文网首页
《吾爱破解培训第一课:破解基础知识之介绍常见工具和壳的特征》讲师

《吾爱破解培训第一课:破解基础知识之介绍常见工具和壳的特征》讲师

作者: 魔人健太郎 | 来源:发表于2020-02-14 17:41 被阅读0次

前言:本系列为吾爱破解论坛上培训课程的视频记录为文章,将讲师所讲授到的任何细节都记录下来


本课(2015年4月)课件预习 https://www.52pojie.cn/thread-234739-1-1.html

疑问:一个程序加了什么壳?怎么知道这是什么壳。

工具:吾爱OD,学习环境一致

52论坛介绍:

LCG 区,由论坛核心小组成员发布原创软件

LSG,搞安全的,一些木马病毒相关

原创区,发布成品,如图,汉化绿化等等

脱壳破解区,这里一般讨论技术,可以交流问题,也有原创技术文章

移动安全区,搞各种移动安全相关的,主流还是android

软件调试,主要是跟系统相关的东西,系统内核,游戏安全,跟脱壳破解区区分就是软件和系统

编程语言区,开源的一些代码,也讨论一些编程问题

动画区,动画区是很早的一个板块,里面是大家分享的一些实战视频,更直观。动画就是视频

逆向资源区,经常用的逆向工具都有

精品软件区,转载的,非原创的软件

悬赏区,悬赏吾爱币问问题

病毒分析区,通过逆向分析做一些病毒分析的文章,再下面都是一些老区了。

招聘区(略)

Tip:手动选择按照发帖时间排序,看最新的帖子


新手学习: 脱壳破解区上方版主总结的零基础学习教程。版主总结了各种工具,爱盘虚拟机,以此No.学习。新手学习有什么问题先搜索,比如upx怎么脱壳,直接搜索upx。一般你遇到的问题别人都问过了。

课程正文:

现在(15年)比较多的编译工具:VS Delphi 易语言 .NET

最近两年少有新的加壳软件,绝大部分都转入移动安全。

如何识别加壳程序?一般同一编译器编译的程序 入口区段和入口特征都是相同的。入口特征由入口点代码,程序区段,加载模块等信息确认。

从爱盘下载OD,解压后先运行路径修复工具,每次更改路径也要运行,主要是配合一些插件的使用。

一些PE工具,建议新手不用PEiD,用EXEinfoPE取代。

拖入无壳VC6

反汇编窗口,寄存器,数据窗口,堆栈窗口

快捷键:F7 单步调试, F8 单步调试不步入

窗口上方小按钮,选择某个窗口后,程序标题栏会给出该窗口名字信息

L 按钮(log):

程序运行的日志相关信息。插件加载信息。

e 按钮(executable module):

启动的模组,双击可以跳转到基地址

m (内存memeory map):

每个模块加载到内存的基地址都有,可以在PE 代码段上做一些内存写入访问断一下之类的

OD目录下ini可以更改白底黑字

t (线程thread):

应该都是些单线程

w (windows):

h (handle):

一些句柄的信息。

c 反汇编窗口:

回车,随意进入某个call,再点c返回,或者双击EIP

减号,或者shift + 加号,可以回到之前位置或之后位置,即后退和前进

P (Pathes):

比如你把某一段nop掉了

在P里可以还原修复,比如你改了很多,不知哪儿可以看到,就在P里。可以是调用的堆栈

b是断点,这些后面遇到再讲。


OD内存窗口也可以看区段信息

下面可以直观的看到是否加壳,如果你不知道什么意思,就复制去搜索

可得知区段名称,第一个是代码段,数据,资源,这几个代码段是VC6一下就能看出来。

载入到OD

明显看到几个API

几个push的值

这算是它的入口特征。

主要说一下这几个特征对比着看,VC6入口代码固定,api也是相同的(指上面那几个call),唯一可能不同的就是push的那个地址,每个程序push的值不一样。


VS,入口代码第一个是call,第二个是jump。

call进去后下面几个api也永远一样的(建议自己动手od尝试)

第二个jump进去也是一样的

区段比vc6多了一个重定向段 .reloc,因为它多了很多功能就新设了一个段存放。


易语言

有非独立编译和独立编译,非独立编译会带名叫krnln的运行库

载入od,会看到很多带有krnln字眼的明显的信息

点e, F9 run起来,会看到了它加载krnln这个表

非独立编译,如果看不到字符串,尝试按一下ctrl+a(右键分析中的分析代码)

在data段下个断点,运行,进到一个call的地方继续断,运行,enter进入就能看到一堆jump,此时搜索字符串应该能搜索到

独立编译,易语言都会被info识别成vc6,因为它用的是vc6的链接库。

拖入od,代码入口也和vc6一样,可以看module和非独立编译里的一样都有

在getmodulehandle下,有main函数入口。

把代码托到最上,随便找一些call,都会跳到一堆jump的地方。


delphi

区段特征很明显

入口一个getmodulehandle,入口和vc完全不一样


冷门的bc++ 入口很大的jump,后也有getmodulehandle。区段差不多

汇编程序很小

相关文章

网友评论

      本文标题:《吾爱破解培训第一课:破解基础知识之介绍常见工具和壳的特征》讲师

      本文链接:https://www.haomeiwen.com/subject/ezttgftx.html