|
|
|
[求助]Winlicense2.03脱壳后的修复问题
非常讨厌用网盘的。经常下不了,要下还要注册。。。还要下载个什么下载机器人 |
|
|
|
[解决]谁帮我看看这个脱壳后不能运行的问题
我也脱出来了。 好像是LTT的扭曲变换吧,单步跟进,遇到CALL就F7,一步一步地走,最后看到VB的入口处。 用OD自带的插件,不用修复输入表,直接DUMP就可以运行了。 |
|
[求助]这个算法谁能帮我分析一下
额。。。。。就是是那个XXXX加密算法,选择明文攻击也要有8个明文,而且是已经算法的前提下分析。。。。。LZ这个就很囧了。。。。。。 |
|
[求助]i++和++i的反汇编
[QUOTE=unnamed;-1] 这样,当全局声明const变量时,我们企图将一个DWORD值写入一个0CCCCCCCCh指向的未分配的内存中,所以遭遇到访问禁止!! 而局部声明const变量时,是将一个DWORD值写入一个00000012h指向的内存中,这是可以的!! [/QUOTE] 特别是这句,完全就是本着不懂装懂的精神来的。 |
|
[求助]i++和++i的反汇编
强烈同意,写那文章的淫完全是瓜的 |
|
[求助]i++和++i的反汇编
00401250 push ebp 00401251 mov ebp,esp//这两步用的着解释吗 00401253 sub esp,48h//分配0x48字节,一共0x12=18个DWORD 00401256 push ebx 00401257 push esi 00401258 push edi//这三句也不用解释 00401259 lea edi,[ebp-48h] 0040125C mov ecx,12h 00401261 mov eax,0CCCCCCCCh 00401266 rep stos dword ptr [edi]//数据填充0xcc int3 00401268 mov dword ptr [ebp-4], 2710h//不解释 0040126F mov dword ptr [ebp-8],0 00401276 lea eax,[ebp-4] 00401279 mov dword ptr [ebp-8],eax//给指针赋值 0040127C mov ecx,dword ptr [ebp-8] 0040127F mov dword ptr [ecx],0Ah//不解释 00401285 push 2710h 0040128A push offset string "%d\n" (0042f01c) 0040128F call printf (004082f0) 00401294 add esp,8//不解释 00401297 mov edx,dword ptr [ebp-8] 0040129A mov eax,dword ptr [edx] 0040129C push eax 0040129D push offset string "%d\n" (0042f01c) 004012A2 call printf (004082f0) 004012A7 add esp,8//不解释,自己看源码 004012AA xor eax,eax//eax=0 004012AC pop edi 004012AD pop esi 004012AE pop ebx//用不着解释 004012AF add esp,48h//不解释 004012B2 cmp ebp,esp 004012B4 call __chkesp (00408190)//不解释 004012B9 mov esp,ebp//恢复esp 004012BB pop ebp//恢复ebp 004012BC ret//返回 |
|
[求助]i++和++i的反汇编
[QUOTE=君君寒;571097]http://www.chinaaspx.com/archive/vc/8703.htm 对const声明变量的奇异行为的探讨 \\ 第六步,给段寄存器预先赋值: 0040125C mov ecx,12h \\ ECX寄存器是段寄存器的一种,为计数器 SS 堆栈段。设为12h。 00401261 mov eax,0CCCCCCCCh \\ EAX寄存器是段寄存器的一种,为累加器 CS 代码段;设为0CCCCCCCCh。 00401266 rep stos dword ptr [edi] \\ 这句话是干吗的? [/QUOTE] 我来给你解释,这段代码是把刚在堆栈中分配的空间填充为0xcc,也就是int3的。 eax=要填充的字节 ecx=循环的次数 rep stos [edi] 完成这个填充。 由此可见,此处ECX仅仅作为循环的计数用,和LZ说的ECX完全不是一回事。。。。 君君寒转帖要看贴啊,不要乱转 |
|
[求助]i++和++i的反汇编
[QUOTE=君君寒;571097]http://www.chinaaspx.com/archive/vc/8703.htm 对const声明变量的奇异行为的探讨 发表时间:2004-8-10 作者:未知[获得此文档时候没有作者记录,深感抱歉,本文档全为转载] 对const声明变量的奇异行为的探讨 Ar...[/QUOTE] 大哥,此ECX非彼ECX。 此ECX被当作循环计数用,LZ的ECX只是当作一个基本的变量用。。。 很明显不同。。。。。。 转君君寒转帖的时候得看看情况吧 |
|
[求助]i++和++i的反汇编
为了实现源码级调试,那么VS应该是不做两条语句间的优化。比如 x=i; i++; 应该就编译成上面的样子。 问题是现在是x=i++;那就没有道理了。 在源码上步过一句是步过x=i++;而不是x=i;吧? 也许理解有误,大侠指教 |
|
|
|
[招生]科锐逆向工程师培训(2024年06月28日实地,远程教学同时开班, 第50期)
木有VC6.0,只有VS2K3,所以。。。。 #include <stdio.h> unsigned long AddEx(unsigned long first,...){ unsigned long res=first,*next=(&first)+1; while(res&&*next){//Break if first==0 or res is overflow res+=*(next++); } return res; } int main(){ printf("%lu\n",AddEx(1,2,3,0)); printf("%lu\n",AddEx(1,2,0)); printf("%lu\n",AddEx(1,0)); printf("%lu\n",AddEx(0)); } |
|
[分享]Overlay 最终版
非安全的人。。。。呵呵,非安全的。。。。 |
|
|
|
[招生]科锐逆向工程师培训(2024年06月28日实地,远程教学同时开班, 第50期)
偶来凑下热闹 1.*((int *)(((unsigned long)&t)+0xc))=t; 这样应该对了吧? 2.因为name[10]的内存和i的内存在栈里面分配一起去了 且(DWORD)(&name[10])==(DWORD)(&i); 3.arglist |
|
[招生]科锐逆向工程师培训(2024年06月28日实地,远程教学同时开班, 第50期)
题目有点小儿了。。。。 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值