软件汉化之对壳的解释

 软件汉化步骤:
1.察壳
2.脱壳
3.开始汉化
使用工具:
1.察壳-->peid v0.94绿色版
2.脱壳-->自动脱壳:aspack 2.12的脱壳
     手动脱壳:ollydbg 绿色版
3.汉化-->ResScope 绿色版
     GetVBRes v0.51破解版--->针对VB编写的程序进行汉化
     Language Localizator 6--->针对VC/delphi编写的程序进行汉化
4.修改其他资源。
    --->提取图标。
    
备注:
*什么是壳:壳类似于乌龟壳。用来保护乌龟肉体,如果我们要吃龟肉,就必须要把乌龟壳先脱掉,否则无法看到或
      得到乌龟肉体。  区别不同的,乌龟壳直接用硬东西砸就行,软件壳要通过动态跟踪工具ollydbg等工具
      进行手动跟踪。把壳的代码和软件肉体的代码分离,去掉壳的代码,剩下肉体代码。
*加壳工具:aspack 2.12 此软件为压缩壳工具。 既通过这个软件压缩过的应用程序会变小,
        原理是把程序中的0空间的字节
        
压缩壳原理:
软件的结构如下:
--软件头--->假如执行入口时4000偏移地址,在头部记录软件代码区的起始地址--->4200地址。 和程序结束地址4800。 
。。。。。中间有无数0代码相隔
--软件内容(软件代码区)--->假如这部分代码的开始是42aa地址,则42aa位eop既程序入口地址
。。。。。中间有无数0代码相隔
--软件尾--->假如这部分代码是4800地址
那么原本这个软件大小是800H。

加壳后(压缩壳):地址42aa的内容会被改变,编成一段壳代码,壳代码会把程序中的0减少
(假如程序中有100个0则经过加壳后程序里就剩下50个零) 。 0减少了程序字节就变少了。体积减少了。但原先的程序
入口地址也会被改变,假如改变到了4310处,但此信息将在程序的壳内记录,并不在文件头部记录。
另外加壳程序还要重新调整软件头信息。既软件结尾出为4750偏移。 
整个软件大小也就变为了750H 了。 

脱壳过程就是逆向工程。 找到程序的真正入口地址。然后把真正入口地址以后的代码抓出来,重新调整文件大小和程序
入口地址。既还原回未被加壳前的状态。 

为什么加壳后的程序不能被资源修改软件进行资源修改。
未被加壳的程序中, 资源(字符串/图标等信息)是记录在正常的文件偏移地址中,加壳后则因为代码地址全部被壳程序改变。
所以使用资源修改软件之后,查到的资源位置全部被改变,故无法修改资源。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值