首页
社区
课程
招聘
[旧帖] [求助]反汇编中几个指令如何解释呢 0.00雪花
发表于: 2010-6-28 10:43 1729

[旧帖] [求助]反汇编中几个指令如何解释呢 0.00雪花

2010-6-28 10:43
1729
偶之前做上位机软件的,由于公司要求破解一款软件,硬着头皮上了,买了论坛的《加密与解密》,用了各种爆破啊等其他方法,均感觉不能奏效。只能读汇编代码了。碰到了如下很多这样的指令,不知该如何解释?

Var_88 = byte ptr - 88h        //这个是宏吗,表示地址吗?和下面这个有啥区别呢 88h这个值需要关心吗
Var_80 = dword ptr - 80h

因为之后有许多像    mov ecx , [Var_88+edi]
之类的语句

mov eax, offset loc_88CD48   //这个offset是求从当前到loc_88CD48之间的偏移吗,loc_88CD48里面的内容需要执行吗

看汇编好痛苦啊,

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 80
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我觉得非常难以区分哪些call应该看进去哪些不用看,经常有下面这条指令:

call    __EH_prolog3

跳到函数所在处,函数是:
text:007A87C5 __EH_prolog3    proc near               ; CODE XREF: sub_401000+7p
.text:007A87C5                                         ; .text:00401083p ...
.text:007A87C5
.text:007A87C5 arg_0           = byte ptr  4
.text:007A87C5
.text:007A87C5                 push    eax
.text:007A87C6                 push    large dword ptr fs:0
.text:007A87CD                 lea     eax, [esp+8+arg_0]
.text:007A87D1                 sub     esp, [esp+0Ch]
.text:007A87D5                 push    ebx
.text:007A87D6                 push    esi
.text:007A87D7                 push    edi
.text:007A87D8                 mov     [eax], ebp
.text:007A87DA                 mov     ebp, eax
.text:007A87DC                 mov     eax, dword_A489D0
.text:007A87E1                 xor     eax, ebp
.text:007A87E3                 push    eax
.text:007A87E4                 push    dword ptr [ebp-4]
.text:007A87E7                 mov     dword ptr [ebp-4], 0FFFFFFFFh
.text:007A87EE                 lea     eax, [ebp-0Ch]
.text:007A87F1                 mov     large fs:0, eax
.text:007A87F7                 retn

按F5键翻译成C语言:
int *__usercall _EH_prolog3<eax>(int a1<ebp>, char a2)
{
  signed int  r; // [sp+0h] [bp+0h]@1
  int v4; // [sp-8h] [bp-8h]@1

  *(_DWORD *)&a2 = a1;
   r = -1;
  return &v4;
}

看不明白做了些什么事情,似乎翻译的C语言很难看懂,困惑啊
2010-6-28 10:58
0
游客
登录 | 注册 方可回帖
返回
//