首页
社区
课程
招聘
[成果6.2]软件保护壳技术专题 - 加密引入表
发表于: 2008-6-23 05:18 35006

[成果6.2]软件保护壳技术专题 - 加密引入表

2008-6-23 05:18
35006
收藏
免费 8
支持
分享
最新回复 (63)
雪    币: 350
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
太好了.学习中.
这个专题用ASM讲解很合适啊,又简单又直观.
2008-6-24 13:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
我是菜鸟,学得太辛苦了
2008-6-24 15:30
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
一定顶  .....
    要好好学习了   好东西   
            谢了      多看几遍......   好文
2008-6-24 17:35
0
雪    币: 213
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
29
高深,只有膜拜的份了。
2008-6-24 19:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
支持玩命,强悍啊
2008-6-25 08:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
看得云哦拉
~
2008-6-25 16:52
0
雪    币: 204
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
顶起,  太勤快了!
2008-6-26 15:58
0
雪    币: 204
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
哈哈 学习学习
2008-6-26 16:06
0
雪    币: 193
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
看的头晕啊,牛人啊!
2008-6-27 16:15
0
雪    币: 332
活跃值: (30)
能力值: ( LV12,RANK:460 )
在线值:
发帖
回帖
粉丝
35
学习
2008-6-27 22:26
0
雪    币: 193
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
晕啊,加密怎么老出错啊,把新节好像加到头部了,把MZ头覆盖了,汗,不回是我搞错了吧!
还是看源码吧,头晕啊!
上传的附件:
2008-6-28 11:13
0
雪    币: 7115
活跃值: (639)
能力值: (RANK:1290 )
在线值:
发帖
回帖
粉丝
37
你用附件的代码测试下。应该是没有问题的。你可以把你的测试代码帖出来 可以一起研究一下,如果代码出现问题,希望可以提出来,我可以尽快的解决。。。  谢谢。。。
2008-6-28 13:00
0
雪    币: 193
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
是用附件测试的!在命令行方式下:
加密程序 要加密的程序
有参数吗?我源码看的晕,决定回去仔细学习了!
2008-6-28 14:06
0
雪    币: 65
活跃值: (811)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
39
应该顶一下的,也是必须顶的!!!
学习了`~
2008-6-28 14:10
0
雪    币: 193
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
代码好像有问题:
        invoke CreateFile, pFilename,\
                           GENERIC_WRITE + GENERIC_READ,\
                           FILE_SHARE_WRITE + FILE_SHARE_READ,\
                           NULL,\
                           OPEN_EXISTING,\
                           FILE_ATTRIBUTE_NORMAL,\
                           0
    .IF eax == INVALID_HANDLE_VALUE
        jmp OpenFileFailed
    .ENDIF
如果CreateFile失败则跳向OpenFileFailed,看OpenFileFailed
OpenFileFailed:
    lea eax, g_szOpenFileFailed
    jmp ShowErr
继续:
ShowErr:
    invoke PrintLine, offset g_szOutFormat, eax
    mov al, 1
    mov g_bError, al
    jmp LogicShellExit
继续:
LogicShellExit:
    ;; close handle & write it
    invoke UnmapViewOfFile, pMem  ;还没映射,没有地址
    invoke CloseHandle, hMap          ;此时内存映射文件对象还没创立,这样好像会出错!
    invoke CloseHandle, hFile
    .IF g_bError == 0
        ;; show success message  
        invoke PrintLine, offset g_szOutFormat, offset g_szDone
    .ENDIF
    assume eax : nothing
    assume esi : nothing
    assume edi : nothing
    ret
不知道对不对,偶是菜鸟,在看雪老是怀疑自己的智商!像这样的程序,不知怎么反汇编才看的比较清楚?慢慢琢磨源码吧!
2008-6-28 20:18
0
雪    币: 7115
活跃值: (639)
能力值: (RANK:1290 )
在线值:
发帖
回帖
粉丝
41
不好意思。。。 这里是错误了。
    ;; close handle & write it
    invoke UnmapViewOfFile, pMem
    invoke CloseHandle, hMap
    invoke CloseHandle, hFile
 
LogicShellExit:
改成这样就OK了。。。
谢谢cham...

附件代码BUG 已修改。。。
2008-6-28 23:51
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
太强了,时滞今日还有人用asm写这么多
2008-8-1 15:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
十分强悍啊,顶!!!!!!
2008-8-4 08:46
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
上面提供的代码是YC壳的代码哈
我想请教一下,如何实现DLL重定位.
请大侠指点一下.
2008-8-19 19:03
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
利用这个方法来达到隐藏病毒的密密
2008-9-14 13:49
0
雪    币: 217
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
46
一个字‘好’
2008-9-17 21:51
0
雪    币: 112
活跃值: (48)
能力值: ( LV9,RANK:320 )
在线值:
发帖
回帖
粉丝
47
invoke GetFileSize, eax, NULL
;    .IF eax == 0
;        jmp GetFileSizeFailed        
;    .ENDIF
    mov eax, dwAppendSize
    xchg eax, ecx
    ;; create memory map
    xor ebx, ebx

这里的注释掉的东西貌似不该去掉
2009-8-19 01:09
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
48
顶一下!!!
2009-8-19 09:55
0
雪    币: 243
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
49
想问一下各位:
IID_Private_Data    db (MAX_IID_NUM * sizeof IID_PRIVATE_DATA) dup (0)
这个结构定义在了代码段里面,没采取什么措施程序能跑起来吗?

我修改了附件,把命令行输出部分去掉了(绝大部分代码未改),然后编译。运行之后,会出现“该内存区域不能执行write操作”这类错误。

用OD载入后,发现错误出现在这里:
    ;; 将IID_PRIVATE_DATA结构清0
    mov edi, pCurrentIID
    mov eax, sizeof IID_PRVATE_DATA
    mov ecx, MAX_IID_NUM
    imul ecx
    xchg eax, ecx
    xor eax, eax
    cld
    rep stosb
上述代码的作用应该是将用来保存原始IID结构的变量清零

这里错误也就说明,定义在代码段的变量是不能执行写操作的,楼主编译运行程序没碰到这个错误吗?貌似要用VirtualProtect函数修改保护项吧??
2009-8-22 13:00
0
雪    币: 243
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
50
没人响应?
2009-8-24 11:48
0
游客
登录 | 注册 方可回帖
返回
//