首页
社区
课程
招聘
[求助]如何模拟 imul 。。计算方法。。求教
2011-10-16 23:36 5647

[求助]如何模拟 imul 。。计算方法。。求教

2011-10-16 23:36
5647
汇编

mov     eax,0x93516     
mov     esi, 0x181702E1 ;      
imul    esi;   
     

C#

int eax,0x93516   ;
int esi,0x181702E1;

怎么用 C# 计算得到   imul 指令的  eax   和  edx  结果呀。。

大家能给个具体例子吗,谢谢大家了?

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (9)
雪    币: 2105
活跃值: (349)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
exile 1 2011-10-17 09:20
2
0
int64 a = 0x93516 *0x181702E1

结果高32位在EDX中,低32位在EAX中
雪    币: 227
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kissxrl 2011-10-17 17:07
3
0
不知道在 C# 中怎么取  高 32位  和低 32位呢

谢谢指教了。
雪    币: 645
活跃值: (247)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wixi 2011-10-17 17:15
4
0
高 32位=a>>32 & 0xFFFFFFFF   
         低 32位=a & 0xFFFFFFFF
雪    币: 227
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kissxrl 2011-10-17 17:20
5
0
不行呀。我测试了

eax = 14F8B589
esi  = 00093516
imul esi 后

eax = ACC5F6C6
edx = C117


我的C#代码:
long ll = 0x00093516 * 0x14F8B589;
string s = Convert.ToString(ll, 2);
Console.WriteLine("int64:{0}  \n高32位:{1}    \n低32位:{2}", Utils.x16(ll) , s.Substring(0, 32) , s.Substring(32)); return;

输出结果:
int64:FFFFFFFFACC5F6C6
高32位:11111111111111111111111111111111         高32位是错误的
低32位:10101100110001011111011011000110


为什么我的 测试  输出的高  32位结果是  0xFFFFFFFF  呢。
雪    币: 2105
活跃值: (349)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
exile 1 2011-10-17 17:32
6
0
你这long ll是64位么。。。。。
雪    币: 227
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kissxrl 2011-10-17 17:39
7
0
long 在C#里面是64位有符号整数        

我用 Int64 ll = 0x00093516 * 0x14F8B589;

结果也是一样。。不知道怎么回事 。。郁闷
雪    币: 2105
活跃值: (349)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
exile 1 2011-10-17 17:47
8
0
那是你的写法有问题,你用计算器calc.exe算下看看,肯定是对的
雪    币: 227
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kissxrl 2011-10-17 17:54
9
0
。。行了。谢谢楼上了。。让我明白  imul 的运算呢。

我都用  long 就好了。

                long ll = ((long)0x00093516 * (long)0x14F8B589);
雪    币: 227
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kissxrl 2011-10-17 17:57
10
0
在百科看介绍   imul 指令的技术文章。。。一堆堆的文字。。

其实用计算器。算一次就明白呢。呵呵
游客
登录 | 注册 方可回帖
返回