• 破解之对壳的补充


    无壳程序:方便修改,可以DIY

    ollydbg

    软件界面中字母快捷键的含义:

    t是线程(一般都是单线程)w是窗口 h是句柄的信息 c是反汇编窗口

    还有一些快捷键 + -      p是修改代码 可以看到自己修改的信息 可还原可恢复   b是断点

    vc6的特征:

    ollydbg和exeinfo都可以看区段信息

    exeinfo界面中下方第二行就可以直观的看到编译信息及有无加壳

    区段有名称  第一行是代码段 第二行是....NAME中可以看出来’

    而在OD中可以看到入口特征:压栈之后有两个PUSH的值,有api

    还有一个信息是区段信息:

    入口被虚拟化以后如何修复?停在第一个CALL里,看堆栈窗口找修复的值(9503帧)

    VC6比较老,这几年用VS

    VS特征:

    入口特征:第一句是call,第二句是Jump   然后第一个call进去以后这些API也是相同的

    jump进去以后也是相同的

    区段:相对于VC6多了一个重定位。(在区段信息最后一行.rebc)

    e语言:

    一般都是个人开发者使用比较多,大厂商用VS多

    分独立编译和非独立编译

    非独立编译意味着:带一个独立运行库krnln.fnr

    拖入OD中,从入口特征中可以看出是e语言,在压栈之后会Load一些它的运行库

    特征入截图,很容易看到   F9是运行 (在e模块窗口中)  运行以后可以看到,它加载了这样一个Krnln.fnr

    独立编译:

    (e语言的在exeinfo中会被识别为VC,因为编译使用微软编译器进行编译,特征与VC6基本一样)

    连入口和区段也一样,唯一区别:(经验)1.搜索字符串,会有一些e语言编译完自带的一些

    CTrl+a 能看到字符串或右键analysis,代码在data段,设断点

    再就是代码:(11522帧)以及一些调用的库和接口

    随便在开头下面找一个call进去,都会调用一些东西核心库

    还有一个方法:看代码的结构,一般都是压一堆堆栈之后调接口,

    Delphi

    区段特征也非常明显,一大坨 BSS  

    入口特征,第一个call里面有api

    代码特征也有,一会后会熟悉

    冷门的

    BC++

    入口是一个非常大的jump

    汇编写的东西都非常小,都是系统一些API

    一加载就运行了一堆.net运行库

    加了壳的:

    查壳软件 都是基于一个数据库,但很多年没人维护了,

    脱库以后对比特征。。回到上一步

    Themida: 

    带授权与不带授权的加壳

    以前老入口:

    现在加了随机的代码,解码之后才显示

    区段信息: 前面区段是空的,后面两个是任意的

    VMP特征看区段比较明显

    aspack壳:

    入口压栈,之后pushad,然后call,jump 

    看区段,多了aspack.adata区段,

    UPX:

    区段信息:UPX0,UPX1,(也都可以随便改)  但是他只有三个区段---->特征

    前面一大堆跳转

    VMP:

    入口特征乱七八糟,f8一下就飞了

    识别看区段,原来的代码段数据段保留,但是资源,重定向都添加了,放在后面。0,1不变,前边随便变,

    SE:

    代码段与idata一般都不会变,sedata ,

    入口加了两个跳转,

    要分析一下,hex数据会显示。

    (逆向资源区有)

    虚拟化的,.net的,等等。

    可以找个记事本,去加壳,这样能看到每种程序加壳以后的特征。

    参考ximo的教程和小生的教程

  • 相关阅读:
    saltstack高效运维
    python与RPC服务
    01-08-01【Nhibernate (版本3.3.1.4000) 出入江湖】NHibernate中的一级缓存
    01-08-01【Nhibernate (版本3.3.1.4000) 出入江湖】NHibernate中的三种状态
    01-07-01【Nhibernate (版本3.3.1.4000) 出入江湖】并发控制
    01-06-01【Nhibernate (版本3.3.1.4000) 出入江湖】事务
    01-05-01-2【Nhibernate (版本3.3.1.4000) 出入江湖】立即加载实现--NHibernateUtil.Initialize()和添加fetch关键字的HQL查询
    01-05-01-1【Nhibernate (版本3.3.1.4000) 出入江湖】延迟加载及其class和集合(set、bag等)的Lazy属性配置组合对Get和Load方法的影响
    01-01-01【Nhibernate (版本3.3.1.4000) 出入江湖】配置文件
    【log4net】配置文件
  • 原文地址:https://www.cnblogs.com/blazarstar/p/12892587.html
Copyright © 2020-2023  润新知