|
求如下代码的密码)____在线等
已解决。。。 |
|
求如下代码的密码)____在线等
smash the stack 游戏 |
|
求如下代码的密码)____在线等
发了就不用找密码了... |
|
[原创]C库字符串反汇编分析
源码在 vs中都有,但是vc6.0中的C库好像和它有所不同,主要目的是熟悉IA32的常见汇编指令及一些简单的算法.....最大的道理往往就在小的事情当中... |
|
[原创][2011.01 更新SDI版本]2010的留念 [开源] 发个最近写的Pe工具~
太棒了,思路很好,再加上点功能,可以做个相当棒的,支持国产,,, |
|
[求助]exe加载问题
有虚拟内存,每一个程序都有相应的虚拟内存,不会加载失败的,exe是不会重定位的,不信,你可以改一下某个程序的基址,直接提示错误... |
|
对于CPL,RPL,DPL的新疑惑
1:RPL是PE加载程序时完成的 DPL是系统内核加载时初始化完成的 2:CPL在CS寄存器中,当选择子成功装入CS寄存器后,相应的选择子中的RPL就变成了CPL 3:RPL在段选择子的低两位,你看一下CS DS FS 段寄存器的低两位总是3 4:比较的时候即比较CPL也比较RPL |
|
[求助]如何去掉花指令?
VirtualAlloc |
|
[求助大牛脱Zprotect壳]ESP定律跑飞,
zp壳用ESP定律.......... |
|
一个源码函数看不懂,请高手指点
你们两个人都流油了,还要.......... |
|
一个源码函数看不懂,请高手指点
不知道如何关闭帖子,问题解决了,谢谢楼上 |
|
[求助]为什么File mapping比普通文件读写效率高
要是单纯的操作某一部分,我觉得用那I/O操作快一些,如果要写入大量的东西,比如添加一个节,用FILEMAP快点吧 |
|
一个子函数没看懂
[QUOTE=oldn;817106]谢谢二位的回答。 还有两个问题没明白 第一是前面栈开了块空间,这个空间没有用吧? 第二是 通过this找偏移的这个过程. 003910C6 |. 0FB640 30 movzx eax, byte ptr [eax+30] ;零扩展this指针+0x30的数据成员(应该是一...[/QUOTE] 第一个问题没明白你要问什么? 第二个问题,还是对this指针的理解,它始终指向当前对象的第一个数据成员,比如如下代码 class fuck { int a; int b; int c; }; fuck test ;//则此时this指针指向变量a的内存地址,当要操作数据时直接使用this+offset即可定位其它数据成员 movzx eax, byte ptr [eax+30] //执行完后eax中将是对象的数据成员内容,而不在this指针了 |
|
Dll基址的疑问
DLL的内存地址空间是共享的,其实就是一种 C/S模式,在同一个机器上,user32.dll kernel32.dll ntdll.dll hal.dll都是相同的地址吧,只有hal.dll在0x80000000后 |
|
一个子函数没看懂
//注释说明 003910A0 /> \55 push ebp ;保存前一个栈帧的基地址 003910A1 |. 8BEC mov ebp, esp ;开辟一个新的栈帧 003910A3 |. 81EC CC000000 sub esp, 0CC ;给新栈帧分配0xcc的栈空间 003910A9 |. 53 push ebx ;ebx入栈 003910AA |. 56 push esi ;esi入栈 003910AB |. 57 push edi ;edi入栈 003910AC |. 51 push ecx ;保存ecx,我想应该是面向对象中的this指针,因为下面要使用ecx作为计数器初始化栈帧空间,所以ecx内容必须先保存起来 003910AD |. 8DBD 34FFFFFF lea edi, dword ptr [ebp-CC] ;指向栈帧最上的地址 003910B3 |. B9 33000000 mov ecx, 33 ;因为分配了0xcc的栈空间/4=0x33次初始化 003910B8 |. B8 CCCCCCCC mov eax, CCCCCCCC ;初始化的内容为0xcccccccc即int3断点 003910BD |. F3:AB rep stos dword ptr es:[edi];初始化栈帧空间 003910BF |. 59 pop ecx ;this指针出栈 003910C0 |. 894D F8 mov dword ptr [ebp-8], ecx;保存this指针 003910C3 |. 8B45 F8 mov eax, dword ptr [ebp-8] ;eax=this指针 003910C6 |. 0FB640 30 movzx eax, byte ptr [eax+30] ;零扩展this指针+0x30的数据成员(应该是一个char类型类似的数据),反正占一个字节,并且是movzx,所以应该是无符号数的 003910CA |. 6BC0 18 imul eax, eax, 18 ;this指针+0x30的数据成员*0x18,将结果保存到eax中 003910CD |. 0345 F8 add eax, dword ptr [ebp-8] ;将this指针保存到eax中作为函数返回值。 003910D0 |. 5F pop edi 003910D1 |. 5E pop esi 003910D2 |. 5B pop ebx 003910D3 |. 8BE5 mov esp, ebp 003910D5 |. 5D pop ebp ;恢复栈空间 003910D6 \. C3 retn ;返回到调用函数的位置 通过分析得出此函数操作的是一个对象,同时此函数并无对对象的栈空间进行操作,所以此函数的返回值一定不是自定义对象,但是同时却修改了对象的0x30位置处的内容 因此,此函数多半是一个构造函数。 |
|
[求助]如何实现手工加载PE文件
在伟大看雪,有一篇文章——极度防真的PE加载器 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值