加壳学习

Posted 歇马

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加壳学习相关的知识,希望对你有一定的参考价值。

2017.12.2 加壳工具编写

大作业,努力学习,努力前进。

壳根据作用,一般分为两种:压缩壳、加密壳。无论哪种他们的原理大致是相同的。我们给自身软件加壳后就会产生新的软件,新的软件是由壳和原软件组成,在执行的时候,先执行壳,由壳对原程序进行解密并还原到内存中去,接着执行原来的程序。

  • 尽量不要使用Unicode编码

C语言fseek()函数:移动文件流的读写位置
头文件:

1
#include <stdio.h>

 

int fseek(FILE * stream, long offset, int whence);

 

函数说明:
fseek()用来移动文件流的读写位置.

1、参数stream 为已打开的文件指针,
2、参数offset 为根据参数whence 来移动读写位置的位移数。参数 whence 为下列其中一种:
    SEEK_SET 从距文件开头offset 位移量为新的读写位置. SEEK_CUR 以目前的读写位置往后增加offset 个位移量.
    SEEK_END 将读写位置指向文件尾后再增加offset 个位移量. 当whence 值为SEEK_CUR 或
    SEEK_END 时, 参数offset 允许负值的出现.

下列是较特别的使用方式:
1) 欲将读写位置移动到文件开头时:fseek(FILE *stream, 0, SEEK_SET);
2) 欲将读写位置移动到文件尾时:fseek(FILE *stream, 0, 0,SEEK_END);

返回值:当调用成功时则返回0, 若有错误则返回-1, errno 会存放错误代码.

附加说明:fseek()不像lseek()会返回读写位置, 因此必须使用ftell()来取得目前读写的位置.

 

以上是关于加壳学习的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向加壳技术识别 ( 函数抽取 与 Native 化加壳的区分 | VMP 加壳与 Dex2C 加壳的区分 )

加壳学习笔记-汇编基础

关于易语言采用加壳软件加壳的疑问

易语言程序加壳软件哪个好

木马UPX压缩加壳和ASpack加密加壳算法简单讲解

逆向基础:软件手动脱壳技术入门