|
软件加密技术内幕中的疑问!!
。。。。。。。。。。。。。。 |
|
INT3执行后EIP的变化规律[求助]
最初由 xIkUg 发布 软件加密技术内幕中说9X下INT3执行后EIP为其下一条指令地址 我迷糊了~~~ |
|
INT3执行后EIP的变化规律[求助]
那WIN9X系统呢? |
|
INT3执行后EIP的变化规律[求助]
可能是我逻辑表达的不是太清楚,再加上大家都有些忙的原因,问题迟迟未解决,我把我的主要疑问补充一下: 我想弄清某一线程中INT3指令执行后EIP的值会怎么变,是等于原先INT3指令的地址还是INT3指令的下一条指令地址? 非常感谢了 |
|
C初级理解问题,请帮忙.
/* 感觉这个题问题还蛮多的, #include"stdio.h" main() {int *z,i,p,t,a[10],min,max,x,y; for(z=a;a<a+10;z++) //这里a<a+10始终成立,是一死循环 scanf("%d",z[i]);//这里的z[i]不是合法地址,不能这样用scanf函数,i也没赋值 min=z[0],max=z[0]; for(z=a;z<z+10;z++) { if(min>z[i]) min=z[i],x=i; //i没有赋值就去给别的变量赋值 //再者如果最小值就是第一个元素a[0],那么x也将是一个随机的数 if(max<z[i]) max=z[i],y=i; //如果最大值就是第一个元素a[0],那么y也将是一个随机的数,那么下面的z[x]=t;z[y]=p;都会出现访问异常 } //下面的交换也将出现问题 //当最大值就是第一个元素a[0]时,下面的语句将导致它与最小值交换, t=z[0];z[0]=min;z[x]=t; //当最大值就是第一个元素a[0]时,上面的交换错误也将导致下面的交换出现错误,最大值将重复出现在数组中 p=z[9];z[9]=max;z[y]=p; for(z=a;z<z+10;z++) printf("%d\n",*(z+i)); } */ //程序改为 #include"stdio.h" main() {int *z,i,p,t,a[10],min,max,x=0,y=0; for(i=0,z=a;i<10;i++) scanf("%d",z+i); min=z[0],max=z[0]; z=a; for(i=0;i<10;i++) { if(min>z[i]) min=z[i],x=i; if(max<z[i]) max=z[i],y=i; } if(y==0) y=x; //如果最大值在a[0]处,则记录最小值交换后最大值的真实位置 t=z[0];z[0]=min;z[x]=t; p=z[9];z[9]=max;z[y]=p; for(z=a,i=0;i<10;i++) printf("%4d",*(z+i)); printf("\n"); } |
|
INT3执行后EIP的变化规律[求助]
我把所需程序打包发上来,大家帮着看看 |
|
软件加密技术内幕中的疑问!!
怎么没人顶啊, |
|
|
|
一个关于DEBUG API的问题
最初由 xIkUg 发布 谢谢xIkUg,果真如你所说,必须将第一个int3忽略,我在怀疑我的书是不是看PP里去了, |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值