|
|
|
masmv32编译的时候怎么才能不生成类似JMP DWORD PTR DS:[<&USER32.MessageBoxA>] 的东西
azul, I uploaded kernel32.inc and user32.inc Please include windows.inc ahead of all other inc files. I hope it will work. EvalKnight, I think you might misunderstand the question. The question is, in MASM, for example, we want to call MessageBox at 00401000, but MSAM generates a call to 00401066, then from 00401066 jump to real MessageBox address. This call-jmp thunk wastes 6 bytes for each API. If you disasm C++ application (release version), you won't observe this, because C++ compiler is highly optimized. There are two ways to remove this thunk in MASM, one is to modify lib file, which is difficult. The other is to modify the inc file, which is simple. Sorry I can't type Chinese on this machine. I hope you can read English |
|
masmv32编译的时候怎么才能不生成类似JMP DWORD PTR DS:[<&USER32.MessageBoxA>] 的东西
use modified include files I will post modified user32.inc tomorrow, if I don't forget it |
|
[注意]WPA2 vulnerability found
Elcomsoft Wireless Security Auditor 这个软件据说可以破解WPA/WPA2 利用GPU加速的,需要有超强的GPU 貌似现在除了穷举没有别的办法 这个软件网上好像有破解版的 |
|
[求助]求已知算法的逆算法
设变量X Y=0xACA4 B=0x6907 解同余方程 Y + 0x10001 * X ≡ 0 (mod B) 解出X之后, A = (Y + 0x10001 * X)/B 找到一个算法,可以求解同余方程 http://hi.baidu.com/find_chees/blog/item/d0461d3f566ad23770cf6cdb.html |
|
[转帖]Hiren’s BootCD 11.0
Wow, such a huge collection |
|
代码优化方面的一个问题
在Pentium 4中,BTB只能保存16个最近的跳转.如果你的循环体有太多条件跳转,分支预测就不行了 可以用0x2E,0x3E前缀来帮助CPU进行分支预测 参见:http://software.intel.com/en-us/articles/branch-and-loop-reorganization-to-prevent-mispredicts/ |
|
|
|
谈主动防御及实时监控
rootkit |
|
求批 win32asm 代码 ZwOpenSection相关问题
you didn't get handle of section? try CreateFile() to get a handle of that section before open it |
|
|
|
|
|
|
|
代码优化方面的一个问题
就这段代码来说,分支是不可预测的,因为每次x的值都不一样 fusion不代表没有penalty intel的manual也说道:
fusion是在无法消除branch时最后的办法 不过比起这个,cache miss的penalty更多 x的值最好在内存中连续分布,并且size尽量不要超过L1/L2/L3 PS: cmp x, 0 jnb lable 这个不可以fusion
MEM-IMM是不支持的 [/LEFT] |
|
如何win32asm 下调用 RtlInitUnicodeString
ntoskernel is in R0 mode ntdll is r3 r3 code cannot call r0 code directly |
|
[转帖]35年CPU时间证实解魔方“神的步数”为20
我只能还原2面 |
|
代码优化方面的一个问题
5楼的有个误区 if(x < 0) x += 100; 反而是不优化的 跳转指令导致指令预取流水线效率低下 1楼和4楼已经是不用SIMD的情况下C/C++最优化的结果了 用asm的话,还可以优化一点 __asm { mov eax, x cdq ; edx = x >= 0 ? 0 : 0xFFFFFFFF and edx, 0x64 ; edx = x >= 0 ? 0 : 100 add x, edx } 这样就避免了判断和跳转 想要进一步优化,把数据对齐,然后用MMX/SSE2/SSE3/SSE4...... PS:想让编译器最大限度优化,尽量多用 ? : 少用 if 不过代码可读性会变差,自己权衡吧 |
|
[求助]64位反汇编工具
ida64 is a 32-bit application, but support disasembling 64-bit problem. There is a 64-bit open source debugger, fdbg, available at: http://fdbg.x86asm.net/. |
|
|
|
|
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值