发表于 2017-2-16 07:13

申请ID:52碍人【冒充他人作品申请】

ID:52碍人
邮箱:97575775@qq.com
特长:喜欢逆向,破解分析
案例:
我对Dump文件的认识
首先我们用od加载upx壳来到oep处,用LordPE dump一下吧
双击我们dump下的文件,程序报错
到底是什么原因啊
首先 用lordPe看一下他的入口点 还是原来的
那么我们修改一下 ,发现还是不行 ,那好我们看一下他的输入表,
还是发一段输入表结构吧
typedef struct _IMAGE_IMPORT_DESCRIPTOR {
    union {
         DWORD Characteristics;    // 0 for terminating null import descriptor
         DWORD OriginalFirstThunk; // RVA to original unbound IAT (PIMAGE_THUNK_DATA)
    };
    DWORD TimeDateStamp;          // 0 if not bound,
                                 // -1 if bound, and real date\time stamp
                                 //   in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND)
                                 // O.W. date/time stamp of DLL bound to (Old BIND)

    DWORD ForwarderChain;      // -1 if no forwarders
    DWORD Name;
    DWORD FirstThunk;             // RVA to IAT (if bound this IAT has actual addresses)
} IMAGE_IMPORT_DESCRIPTOR;

typedef struct _IMAGE_THUNK_DATA32 {
    union {
         PBYTE   ForwarderString;
         PDWORD Function;
         DWORD Ordinal;
         PIMAGE_IMPORT_BY_NAME   AddressOfData;
    } u1;
} IMAGE_THUNK_DATA32;

typedef struct _IMAGE_IMPORT_BY_NAME {
    WORD    Hint;               //指出函数在所在的dll的输出表中的序号
    BYTE    Name;            //指出要输入的函数的函数名
} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;
发现dump下的输入表只有二个字段有值 一个是Name 一个是 FristThunk
看看FristThunk 他指向的是内存中函数地址
用od加载脱壳前的程序 和脱壳后的程序 发现调用的函数地址是一样的,但是脱壳前的程序显示函数名称,而脱壳后的程序不显示函数名称
个人猜测程序报错,可能是在读取输入表的时候 读到的是内存中函数的地址,但是加载exe程序的程序想到这个地址去找api的名字,但是又没有这个名字,造成的错误提示
虽然脱壳后的程序的api没有显示,但是我在函数上按enter还是可以进入函数里面的
取值也是对的
现在回到我们的主题 dump,为什么会出现这种情况啊
Dump是把内存中所有的数据全部dump下了,当然为了保证解密完成我们才到oep处的
其实 我们完全可以双击程序,再dump这样没有任何关系的
那么一些牛人为什么要先到oep,因为他们想知道oep是多少
那么为什么dump后输入表里面FirstThunk是一些函数地址
是因为加载程序的程序给一些要用的API加载内存中,再给地址写进FirstThunk里面
当我们dump下后 看到FristThunk里面就是内存中的地址
那么我们怎么修补啊
首先我们要确认输入表的IAT的位置,用od加载脱壳前的程序定位就可以了
再修复脱壳后的程序
手动修复当然首先该一下oep,再定位到输入表位置,重新构造输入表
一些工具就是重新建立一个节,接着再构造
但是有一点要注意:原来IAT的位置一定不能移动
要保存
如果想动这里,那你就不得了啊

Hmily 发表于 2017-2-16 10:27

你这脸租都租不到了,抄也找个过的抄啊?

申请会员ID:江少【冒充他人作品申请】
http://www.52pojie.cn/thread-464162-1-1.html
(出处: 吾爱破解论坛)

KaQqi 发表于 2017-2-16 10:37

三个连环抄袭。。。不过抄袭也得把图放上。问下楼主这upx什么版本,我记得upx的iat修复没必要完全手动吧吧。2010年的时候(鳄)难道没有importrec么(鳄,那时候好像还不知道逆向是啥)

酒醒黄昏 发表于 2017-2-16 10:40

哈哈哈哈   就是笑笑哈哈哈

ghvmy12 发表于 2017-2-16 10:52

笑死我了{:301_986:}

开膛手杰客 发表于 2017-2-16 10:53

醉了!!

lin8980428 发表于 2017-2-16 11:00

……连环抄袭

最后我孤独 发表于 2017-2-16 11:02



回复一下顺便升级      鄙视之还不如不发帖

韦海峰 发表于 2017-2-16 11:05

这是小学抄作文的节奏吗。

didi科学家 发表于 2017-2-16 11:09

{:301_996:}我就路过看一下~
页: [1] 2
查看完整版本: 申请ID:52碍人【冒充他人作品申请】