首页
社区
课程
招聘
[求助]求一个地址倒序方法
发表于: 2009-5-19 22:43 3617

[求助]求一个地址倒序方法

2009-5-19 22:43
3617
通过hook函数抵制-eip地址-5得到jmp要跳转的地址(0x0045236a)
如何把 0x0045236a转换为0x6a234500

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
2
mov eax,0x0045236a
BSWAP eax  ; eax == 0x6a234500

PS:不过我觉得Hook代码并不用使用倒转。
2009-5-19 22:50
0
雪    币: 219
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我试试看
Thanks xiaoxia
2009-5-19 22:52
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
4
一般不用倒序的,那只是数据的存储形式(如果你在endian不同的平台处理,那是需要的)
直接读取jmp后的2/4字节的内容(SHORT/LONG),然后加上JMP指令自身的地址,并加上jmp的指令长度.

PROC WINAPI MemIOLocal::GetOpEntry(LPVOID pfnSrc)
{
        if (NULL == pfnSrc)        return NULL;

        if ((*(LPBYTE) pfnSrc)==0xe8 || (*(LPBYTE) pfnSrc)==0xe9)
                return (PROC) (*(LONG *) ((LPBYTE) pfnSrc + 1) + (LONG) pfnSrc + SIZE_OF_JUMP);
        else if ((*(LPBYTE) pfnSrc)==0xeb)
                return (PROC) (*(SHORT *) ((LPBYTE) pfnSrc + 1) + (LONG) pfnSrc + SIZE_OF_JUMP16);
       
        return NULL;
}
2009-5-24 10:35
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
5
楼主基础没学好,呵呵~~
你看到的倒序其实是正常的,0xAABBCCDD在内存中的实际存储顺序是 DD CC BB AA
原则是:高位在高内存,低位在低内存,即“高高低低”原则~~
2009-5-24 10:44
0
游客
登录 | 注册 方可回帖
返回
//