|
[原创]史上最强悍的加密狗检测工具来了,要下的赶快!!!
为什么我检测不出来呢? 软件还有更新吗后续 |
|
vc2005 seh新认识[原创]
使用SEH还能改变异常指令时候的环境变量(修复异常),然后通过返回值0继续运行。 用try catch 能不能实现继续运行的功能呢? 另外搂主的代码只有这个测试的__asm int 3能捕获。 换成程序里面写入0xCC,或者把数据段变成不可写。 运行程序,都不能捕获到异常。自己的代码不会处理, 系统直接提示后强行关闭了! 我的运行环境 vc2005下 64位2003系统 希望楼主还能看到这个回复吧 阿门! |
|
[求助]bt指令的奇特用法谁能解释一下?
[QUOTE=askmeasku;393881]居然我的第一次提问会是... mov cl, [esi+edx] //esi是一个字符串的首地址,edx每次加一做循环变量. and ecx, 0FFh bt dword_4A6A90, ecx ...[/QUOTE] 实际调试发现个很奇怪很奇怪的功能! 字母 数字 00 通过会跳转 而0x27单引号了 0x29右括号 0x3B分号 ..... 这些通过的时候不会跳转! 具体的过程谁能详细说清楚么 , //esi是一个字符串的首地址,edx每次加一做循环变量. dword_4A6A90 dd 1 // 经过bt执行 根据CF标志位跳转 .nsp0:004A6A54 sub_4A6A54 proc near ; CODE XREF: sub_4A9590+F8p .nsp0:004A6A54 .nsp0:004A6A54 var_1 = byte ptr -1 .nsp0:004A6A54 .nsp0:004A6A54 push esi .nsp0:004A6A55 push ecx .nsp0:004A6A56 mov [esp+1+var_1], 1 .nsp0:004A6A5A mov esi, eax .nsp0:004A6A5C mov eax, edx .nsp0:004A6A5E dec eax .nsp0:004A6A5F test eax, eax .nsp0:004A6A61 jl short loc_4A6A87 .nsp0:004A6A63 inc eax .nsp0:004A6A64 xor edx, edx .nsp0:004A6A66 .nsp0:004A6A66 loc_4A6A66: ; CODE XREF: sub_4A6A54+31j .nsp0:004A6A66 mov cl, [esi+edx] .nsp0:004A6A69 cmp cl, 7Fh .nsp0:004A6A6C ja short loc_4A6A7B .nsp0:004A6A6E and ecx, 0FFh .nsp0:004A6A74 bt dword_4A6A90, ecx .nsp0:004A6A7B .nsp0:004A6A7B loc_4A6A7B: ; CODE XREF: sub_4A6A54+18j .nsp0:004A6A7B jb short loc_4A6A83 .nsp0:004A6A7D mov [esp+1+var_1], 0 .nsp0:004A6A81 jmp short loc_4A6A87 .nsp0:004A6A83 ; --------------------------------------------------------------------------- .nsp0:004A6A83 .nsp0:004A6A83 loc_4A6A83: ; CODE XREF: sub_4A6A54:loc_4A6A7Bj .nsp0:004A6A83 inc edx .nsp0:004A6A84 dec eax .nsp0:004A6A85 jnz short loc_4A6A66 .nsp0:004A6A87 .nsp0:004A6A87 loc_4A6A87: ; CODE XREF: sub_4A6A54+Dj .nsp0:004A6A87 ; sub_4A6A54+2Dj .nsp0:004A6A87 mov al, [esp+1+var_1] .nsp0:004A6A8A pop edx .nsp0:004A6A8B pop esi .nsp0:004A6A8C retn .nsp0:004A6A8C sub_4A6A54 endp .nsp0:004A6A8C |
|
[求助]bt指令的奇特用法谁能解释一下?
[QUOTE=askmeasku;393881]居然我的第一次提问会是... mov cl, [esi+edx] //esi是一个字符串的首地址,edx每次加一做循环变量. and ecx, 0FFh bt dword_4A6A90, ecx ...[/QUOTE] mov cl, [esi+edx] //esi是一个字符串的首地址,edx每次加一做循环变量. and ecx, 0FFh bt dword_4A6A90, ecx // dword_4A6A90 dd 1 jb short loc_4A6A83 // 经过上面的bt执行 根据CF标志位跳转 ...... 反汇编了一断程序 发现了一个很奇怪的功能 cl中放不同的字符,经过BT指令加跳转居然把不同的字符分开了,也就是说过滤了 一些特殊的字符!! 这个功能是怎么实现的啊,那为大虾能解释下. 这个功能具体过滤了那些字符呢? |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值