吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4504|回复: 16
收起左侧

[会员申请] 申请ID:52碍人【冒充他人作品申请】

[复制链接]
吾爱游客  发表于 2017-2-16 07:13
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[1];            //指出要输入的函数的函数名
} 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
(出处: 吾爱破解论坛)

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
siuhoapdou + 1 + 1 我很赞同!
酒醒黄昏 + 1 + 1 果然是冒充他人 哈哈哈
xizevip + 1 + 1 666

查看全部评分

KaQqi 发表于 2017-2-16 10:37
三个连环抄袭。。。不过抄袭也得把图放上。问下楼主这upx什么版本,我记得upx的iat修复没必要完全手动吧吧。2010年的时候(鳄)难道没有importrec么(鳄,那时候好像还不知道逆向是啥)
酒醒黄昏 发表于 2017-2-16 10:40
ghvmy12 发表于 2017-2-16 10:52
笑死我了
开膛手杰客 发表于 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
我就路过看一下~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 17:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表