|
[求助]大家看看这是加的什么壳
楼上,我上网搜了下,还真的是ZP的壳. |
|
找了个很简单的Crackme给大家练练手
mike, ADCM3-36353533. 明码比较. |
|
[调查]有浙江的朋友吗?大家一起来交流交流
看来在杭州的朋友还比较多,完全有必须整个群. |
|
[求助]硬件断点跟cpu有关系的吗
你这个问题好大。我说不全,这里抛块砖。 我想楼主在问硬件断点,想必对软件断点有所了解。这里用对比法来解释一下。 断点,其实就是程序运行到某个指定的位置的时候,我们希望程序停下来,让我们看一下程序运行成什么状态了。从这个意义上说,硬件断点和软件断点的作用是相同的。比如我们想程序运行到地址为0x00401111的地方停下来,在0x00401111这个地方按f2(软件断点)和下硬件断点是一样的。 当然它们的实现方式是不同的。比如, 0x00401111这个地方本来的指令是 mov ebx, eax. 软件断点的实现是,直接把0x00401111的指令改成 cc ... cc其实就是一条指令,这条指令的意思就是"我是断点,马上停下来"。 因为这条指令已经在0x00401111这个地方,所以一旦执行到这里,程序就给中断了。 硬件断点的实现跟上面不一样。假如你在0x00401111这个地方下,CPU就把这个地址记下来,放到一个专用的寄存器里面,并打个记号说“有人要中断哟”。 然后每次运行指令的时候就检查一下,首先一看,“有人要中断”,然后就到账本上看一下,当前的地址是不是要中断的地址,如果是就断下来,不是就放过去。 这样比较的结果就是,软件断点比较主动,脑门上就贴着“我要中断”。而硬件断点就比较被动,非要CPU来检查,检查到了才中断。 |
|
[求助]这个壳好难脱我用ESP定律也不行
楼上是怎么跟到这里的,我一步步跟,刚开始就给搞晕了.只看到里面一个异常处理函数修改了出错处的代码后,修改后的代码又不能正常运行,是个什么jmp,但是又是超过了+-128,后面再也跟不下去了. 大家给提示下,遇到这种情况该怎么办? |
|
[求助]第二章消息断点的例子中讲“反复这个过程,在几次中断后到达处理按钮的事件代码,很快就能发现check按钮时间的代码了”。。。
我试了下,这个方法确实好用.这里有个心得,不知道对不对,说出来大家指正一下: 这里之所以要"反复这个过程",是因为我们是对程序段下的访问断点,那么有两种情况: 第一种情况,是系统调用用户断中的程序(有可能是事件响应程序,也有可能不是,但是我觉得这里如果是对LBUTTON_UP下断的话,如果调用的是程序,基本上也就是事件响应函数了) 第二种情况,是访问程序段中的数据,比如去查表,查什么表呢,就是查控件itemId与事件响应函数地址对应的表.通常来讲查表的过程会在调用函数之前. 根据以上分析,第一次或者前几次断下的地方一般是访问代码段中的数据,之后才是真正跳到某个地址执行事件响应函数.所以这个过程有几次. |
|
[求助]关于PE格式文件中的一些问题
参与一下讨论哈 1。编程者编写的程序(包括代码、数据)只是PE格式文件中的section部分的代码和数据呢? 我想程序数据和代码应该都是在段里面。不过具体在哪个段,还有段名是怎么样的,这些都是由编译器决定的,比如有的编译器将常量放在.rdata中,将已初使化的全局变量放在.data中,将未初使化的数据放.bss中,有些干脆就只有一个数据段,而且段名还不同,比如用.idata,DATA的。 再有,数据段有时也可以放代码,比如溢出用到的ShellCode就放在数据段中,当然这是程序员自己的事。 2、所有PE头(包括MS DOS 头、DOS STUB、PE 文件标志、PE 文件头、PE 可选项头以及section[节]头)都是编译器根据运行平台加入的? 每个段都或多或少的与平台有关,就拿MagicNumber来说,基本上就是用来标识平台的,有的段也有特殊的位用来表明代码的目标平台。 3、PE 格式文件按上述的顺序连续存放,特别是节头前的部分,为什么PE 文件标志的偏移只能由DOS 头结构中的域e_lfanew 才能指定,是不是由于DOS STUB 部分的字节大小不确定引起的? 好像对于32位的PE文件,DOS STUB部分的大小都是100个字节。但为什么要通过e_lfanew来定位。我想这可能与灵活性和可扩展性有关吧。比如64位的PE文件我不知道怎么样的,或者到以后会不会叫NT STUB也不好说,因为DOS STUB的出现原因就是windows当时要兼容DOS2,所以在dos下运行32位程序总是会出现"this program needs windows NT"这样的提示. 关于4,5两个问题,我不甚了解,等待高手解答. |
|
[原创]win32 汇编入门中应准确掌握的知识(一)
基础扎实才是王道,赶紧学习 |
|
[求助]请教一个关于编码习惯的问题
通常如果写底层库时,在强调性能的情况下,是不对输入参数做合法性检查的,比如STL中的很多要做循环操作的,就没有做边界检查之类的操作。但是如果要求稳定性,建议还在在函数内部查看指针是否为空,数组是否越界等检查 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值