|
[求助]请教各位一段汇编程序
0.在执行当前指令时EIP指向下条指令。 1.0xe9后面是4个字节(不是5个)的偏移量,是目的地址相对于EIP的差值,为有符号数。 2.如果在-128~+127范围之内跳转,使用short jmp指令(0xeb)更好,其后跟一个字节的偏移量。 |
|
|
|
[求助]这个CM怎么破
这个很简单的,不需要穷举。 h%=) 提示(画个图帮助理解。我提示前两个字符,后面的自己想): 'h' =0x68 '%' = 0x8d - 0x68 '=' = ?? - ?? ')' = ?? - ?? |
|
|
|
|
|
|
|
[求助]求教汇编的问题
所以我说所谓“优化”,绝对不要相信任何经验,当然更不可想当然。 按我的理解,and eax,0xFF这条指令使它前面对eax的读和后面对al的写的指令依赖关系打破,所以CPU的乱序执行和指令调度可以最大限度地发挥作用 而不如果不加and eax,0xff,CPU的流水线控制单元认为上下两条两条指令存在相关(实际上读-写相关属于流水线伪相关,但它同样影响流水调度),从而拒绝重新调度指令,因此执行反面慢了。 |
|
|
|
VC托盘问题
以“MsgTaskbarRestart”为参数调用 UINT RegisterWindowMessage( LPCTSTR lpString // address of message string ); 如果成功,返回值非0,是一个Shell注册的消息。 当Explorer.exe重启时,会广播这个消息,对它进行处理即可。 |
|
[原创]汇编实现 类strrchr 函数功能,遇到迷惑
如果你全部程序就只有人贴出来那些的话,可能是在MessageBoxA发生的异常。 因为你整个过程只调用了两个系统API,但lstrlenA是在kernel32.dll中直接计算的,不进入ntdll.dll,所以检查一下是不是MessageBoxA内部发生的异常。 只需要F8步过 00401218 |. E8 B1000000 call <jmp.&USER32.MessageBoxA> ; \MessageBoxA 看是不发生异常。 |
|
[求助]求教汇编的问题
测试执行时间只是为了对比不同的指令组合的相对执行时间的差别。 我不是反对优化。需要分情况。如果优化后只能提高20%的性能,我宁可不要这10%了。 除非有证据证明,优化后的程序执行性能有了明显的提高,比如说有50%,我才可能会考虑去做这种底层优化。 To mik: 我的手册是2005版的,呵呵,有点旧了 其中 Assembly/Compiler Coding Rule 47.(M impack, M generality)的原文是: Try to use zero extension or operate on 32-bit operands instead of using moves with sign extension, 2-77 我查了一下,你书中的RULE 47在我书上的编号是18。 唉,看来我这书有点落伍了。 |
|
|
|
[求助]关于脱壳后追出注册码的问题!
变相求破解也不行。 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值