能力值:
( LV2,RANK:10 )
|
-
-
2 楼
我有尝试了下 用OD附加进程 有的能保存 有的保存不了。。。。。
还有就是我这个子进程附加到OD时候 提示 32位可执行文件的格式错误或者未知 但是载入后 还能继续运行的 就是修改的代码 保存说是定位不了数据
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
他的主进程 创建了子进程后 自己就关闭了
我能给子进程做loader吗?
主进程和子进程名字是一样的 但是进程pid不一样
给主进程做loader 运行一下 就关了 没啥用
|
能力值:
( LV9,RANK:680 )
|
-
-
4 楼
对b.exe做个“外挂” 用文件偏移来定位关键点 patch 呵呵 馊主意一个 也可以尝试用16进制编辑器搜索修改B文件本身
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
下bp CreateProcessW断点 F9. 被断下后看下堆栈里的信息
用OD加载参数
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
bp CreateProcessA 可以断下来 但是 你说的 OD加载参数 我不明白 我新手 多谢指教
|
能力值:
( LV4,RANK:50 )
|
-
-
7 楼
关注CreateProcessW的第一个和第2个参数
就能找到程序路径和启动参数
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
0012FB58 003DE37B /CALL 到 CreateProcessA 来自 FileCDPr.003DE376
0012FB5C 00000000 |ModuleFileName = NULL
0012FB60 00C80250 |CommandLine = "C:\Documents and
Settings\Administrator\桌面\新建文件夹1\新建文件夹\测试.exe"
0012FB64 00000000 |pProcessSecurity = NULL
0012FB68 00000000 |pThreadSecurity = NULL
0012FB6C 00000000 |InheritHandles = FALSE
0012FB70 00000004 |CreationFlags = CREATE_SUSPENDED
0012FB74 00000000 |pEnvironment = NULL
0012FB78 00000000 |CurrentDir = NULL
0012FB7C 0012FBC8 |pStartupInfo = 0012FBC8
0012FB80 0012FBB8 \pProcessInfo = 0012FBB8
0012FB84 0012FC30 指向下一个 SEH 记录的指针
0012FB88 003DE421 SE处理程序
这个就是参数吗 我看参数大部分都是空啊
运行的还是它自己 只是调用了自己程序里的FileCDPr 去创建 进程
我用这个参数 能用OD 加载吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
子进程创建后是挂起的,可再往下跟一下到ResumeThread,看激活前是否修改了什么
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
把exe的文件名称和需要补丁的代码字节告诉我,写一个loader给你。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
ResumeThread 调用到这个函数时候 子进程已经运行起来了 不受OD控制了
exe 文件 我用keymaker 做了一个loader 不好使。。。。 他主进程名字 和子进程名字一样 都是运行的一个exe 我不会给子进程做loader
能大概指点下吗?
|
能力值:
( LV4,RANK:50 )
|
-
-
12 楼
虽然是同一个程序
但程序内部肯定是走的2条不同的路子
|
能力值:
( LV3,RANK:20 )
|
-
-
13 楼
9楼的正解。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
恩 我也想过 估计是走的 不同的路子 我有可能对子进程做loader 或者 直接加载这个子进程吗
|
能力值:
( LV3,RANK:20 )
|
-
-
15 楼
在调用CreateProcess和ResumeThread之间,一定存在WriteProcess,另外还有CreateProcess创建的时候是否带参数,把所有的WriteProcess全记录下来,写了些什么
|
能力值:
( LV3,RANK:20 )
|
-
-
16 楼
然后 手工对b.exe进行补丁
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
WriteProcess 这东西有 我找找参数
CreateProcess的参数 在8楼 (是不是参数 我不太懂。。)
|
能力值:
( LV3,RANK:20 )
|
-
-
18 楼
我指的参数,比如命令行 ipconfig/all 这个/all就是参数
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
这个 不是b.exe 是和a.exe 一个名字的 同一个exe文件
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
0012FB58 003DE37B /CALL 到 CreateProcessA 来自 FileCDPr.003DE376
0012FB5C 00000000 |ModuleFileName = NULL
0012FB60 00C80250 |CommandLine = "C:\Documents and
Settings\Administrator\桌面\新建文件夹1\新建文件夹\测试.exe"
这个后边 没参数啊 直接exe
|
能力值:
( LV3,RANK:20 )
|
-
-
21 楼
嗯,我看到了,你就记录所有的WriteProcess就行了
|
能力值:
( LV3,RANK:20 )
|
-
-
22 楼
想要秒杀它,就学着写插件吧,哈哈
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
一共2个 wait的 下边 就 setThreadContext 和 Resum这个了
0012FC18 003DE564 /CALL 到 WriteProcessMemory 来自 FileCDPr.003DE55F
0012FC1C 00000080 |hProcess = 00000080 (window)
0012FC20 7FFDC008 |Address = 7FFDC008
0012FC24 0012FD14 |Buffer = 0012FD14
0012FC28 00000004 |BytesToWrite = 4
0012FC2C 0012FD18 \pBytesWritten = 0012FD18
0012FC30 0012FD44 指向下一个 SEH 记录的指针
0012FC34 003DE633 SE处理程序
0012FC38 0012FD30
0012FC3C 00BB2044 ASCII "MZP"
0012FC18 003DE580 /CALL 到 WriteProcessMemory 来自 FileCDPr.003DE57B
0012FC1C 00000080 |hProcess = 00000080 (window)
0012FC20 00400000 |Address = 400000
0012FC24 011C0000 |Buffer = 011C0000
0012FC28 000D4000 |BytesToWrite = D4000 (868352.)
0012FC2C 0012FD18 \pBytesWritten = 0012FD18
0012FC30 0012FD44 指向下一个 SEH 记录的指针
0012FC34 003DE633 SE处理程序
0012FC38 0012FD30
0012FC3C 00BB2044 ASCII "MZP"
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
插件 是OD的 还是什么啊 指点下方向 我就研究写插件了 呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
本来很好破解的 一个东西 居然弄个 子进程 来运行程序 估计子进程 还带壳还是怎么的 修改的数据没办法保存
对子进程做loader 我看keymaker 也没提供这功能啊、。。。。
|
|
|