能力值:
( LV2,RANK:10 )
|
-
-
26 楼
太好了.学习中.
这个专题用ASM讲解很合适啊,又简单又直观.
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
我是菜鸟,学得太辛苦了
|
能力值:
( LV2,RANK:10 )
|
-
-
28 楼
一定顶 .....
要好好学习了 好东西
谢了 多看几遍...... 好文
|
能力值:
( LV4,RANK:50 )
|
-
-
29 楼
高深,只有膜拜的份了。
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
支持玩命,强悍啊
|
能力值:
( LV2,RANK:10 )
|
-
-
31 楼
看得云哦拉
~
|
能力值:
( LV2,RANK:10 )
|
-
-
32 楼
顶起, 太勤快了!
|
能力值:
( LV2,RANK:10 )
|
-
-
33 楼
哈哈 学习学习
|
能力值:
( LV2,RANK:10 )
|
-
-
34 楼
看的头晕啊,牛人啊!
|
能力值:
( LV12,RANK:460 )
|
-
-
35 楼
学习
|
能力值:
( LV2,RANK:10 )
|
-
-
36 楼
晕啊,加密怎么老出错啊,把新节好像加到头部了,把MZ头覆盖了,汗,不回是我搞错了吧!
还是看源码吧,头晕啊!
|
能力值:
(RANK:1290 )
|
-
-
37 楼
你用附件的代码测试下。应该是没有问题的。你可以把你的测试代码帖出来 可以一起研究一下,如果代码出现问题,希望可以提出来,我可以尽快的解决。。。 谢谢。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
38 楼
是用附件测试的!在命令行方式下:
加密程序 要加密的程序
有参数吗?我源码看的晕,决定回去仔细学习了!
|
能力值:
( LV12,RANK:210 )
|
-
-
39 楼
应该顶一下的,也是必须顶的!!!
学习了`~
|
能力值:
( 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
不知道对不对,偶是菜鸟,在看雪老是怀疑自己的智商!像这样的程序,不知怎么反汇编才看的比较清楚?慢慢琢磨源码吧!
|
能力值:
(RANK:1290 )
|
-
-
41 楼
不好意思。。。 这里是错误了。
;; close handle & write it
invoke UnmapViewOfFile, pMem
invoke CloseHandle, hMap
invoke CloseHandle, hFile
LogicShellExit:
改成这样就OK了。。。
谢谢cham...
附件代码BUG 已修改。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
42 楼
太强了,时滞今日还有人用asm写这么多
|
能力值:
( LV2,RANK:10 )
|
-
-
43 楼
十分强悍啊,顶!!!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
44 楼
上面提供的代码是YC壳的代码哈
我想请教一下,如何实现DLL重定位.
请大侠指点一下.
|
能力值:
( LV2,RANK:10 )
|
-
-
45 楼
利用这个方法来达到隐藏病毒的密密
|
能力值:
( LV2,RANK:10 )
|
-
-
46 楼
一个字‘好’
|
能力值:
( 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
这里的注释掉的东西貌似不该去掉
|
能力值:
( LV2,RANK:10 )
|
-
-
48 楼
顶一下!!!
|
能力值:
( 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函数修改保护项吧??
|
能力值:
( LV3,RANK:20 )
|
-
-
50 楼
没人响应?
|
|
|