能力值:
( LV2,RANK:10 )
26 楼
最初由 q3 watcher 发布 我用的方法前面已经写了,不是什么正道的办法,更好的方法我也不知道,但肯定是要研究一下哪个调试用的子进程.
请教,如何调试子进程?您能不能给个相近的教程参考一下,当然如果能够劳您大驾给个教程最好,谢谢!学习中,期待回复。
我觉的您的方法比较适合我们这种菜鸟,真诚的想向您学习这个方法,希望获得指点,谢谢!
能力值:
( LV2,RANK:10 )
27 楼
由于知道OEP,先到OEP的位置DUMP一次.然后附加子进程,PATCH代码,只许往回写正常代码,不让写CC,运行,把功能都点一遍,DUMP,把第二次的代码段粘到第一个文件上,输入表没有加密,完了.
能力值:
( LV2,RANK:10 )
28 楼
最初由 q3 watcher 发布 由于知道OEP,先到OEP的位置DUMP一次.然后附加子进程,PATCH代码,只许往回写正常代码,不让写CC,运行,把功能都点一遍,DUMP,把第二次的代码段粘到第一个文件上,输入表没有加密,完了.
非常感谢您的指点,再请指点:
1、我用peid查看oep=000C6C6A是这个吗?如果不是怎么确定?
2、何时附加子进程,我这里在OD中调试CKI时好像创建的子进程CKIxxx.tmp同CKI.exe好像同步,如何在OD中切换到子进程?如果让CKI创建完子进程CKIxxx.tmp时就已经提示"There was an error starting the program.",如果直接运行CKI,再附加的话只能附加子进程,CKI.exe进程无法附加,如何解决DUMP的问题?请指点。
3、就是如何patch子进程?
4、不让写CC,如何实现?
谢谢您的指点!
能力值:
( LV4,RANK:50 )
29 楼
到底 怎么找到到的安装密码?
能力值:
( LV4,RANK:50 )
30 楼
最初由 davidqiu 发布 非常感谢您的指点,再请指点: 1、我用peid查看oep=000C6C6A是这个吗?如果不是怎么确定? 2、何时附加子进程,我这里在OD中调试CKI时好像创建的子进程CKIxxx.tmp同CKI.exe好像同步,如何在OD中切换到子进程?如果让CKI创建完子进程CKIxxx.tmp时就已经提示"There was an error starting the program.",如果直接运行CKI,再附加的话只能附加子进程,CKI.exe进程无法附加,如何解决DUMP的问题?请指点。 3、就是如何patch子进程? 4、不让写CC,如何实现?cc代表什么意思? ........
cc 是int3
我就知道这个!
能力值:
( LV2,RANK:10 )
31 楼
最初由 aaa2520 发布 cc 是int3 我就知道这个!
谢谢,我曾经在调试的时候改过ckiXXX.tmp的文件,看到写到cki进程的int3很多.但是不知道怎么让它不写.
能力值:
( LV4,RANK:50 )
32 楼
最初由 davidqiu 发布 谢谢,我曾经在调试的时候改过ckiXXX.tmp的文件,看到写到cki进程的int3很多.但是不知道怎么让它不写.
nop 掉可以吗 ?
能力值:
( LV2,RANK:10 )
33 楼
最初由 aaa2520 发布 nop 掉可以吗 ?
主要是我不知到ckiXXX.tmp在什么地方写,还有就是OD调试的时候,如何一边调试主进程,一边如何调试子进程.我还搞不定.
你怎么样?搞定了吗?
能力值:
( LV4,RANK:50 )
34 楼
最初由 davidqiu 发布 主要是我不知到ckiXXX.tmp在什么地方写,还有就是OD调试的时候,如何一边调试主进程,一边如何调试子进程.我还搞不定. 你怎么样?搞定了吗?
附加子进程ckiXXX.tmp 端点 写内存的api 函数
我 还没搞顶
能力值:
( LV2,RANK:10 )
35 楼
最初由 q3 watcher 发布 由于知道OEP,先到OEP的位置DUMP一次.然后附加子进程,PATCH代码,只许往回写正常代码,不让写CC,运行,把功能都点一遍,DUMP,把第二次的代码段粘到第一个文件上,输入表没有加密,完了.
再请您指点一下,谢谢!
能力值:
( LV4,RANK:50 )
36 楼
你的是怎么找到安装密码的?
能力值:
( LV4,RANK:50 )
37 楼
主程序 生成一个 10k左右的临时文件 cks*.tmp
这个文件的内容来自 CRP32001.NGN
然后 主程序 创建两个 匿名pipe
接着 主程序 把 自己进程的id 还有刚才创建的两个管道 还有 主程序自己的 一个内存地址,完整的文件名,都以参数的形式传给了刚才创建的cks*.tmp 并用createtprocess 启动这个临时文件,
主程序又开始读写管道/等待.
临时文件启动,先把参数 读入,然后DebugActiveProces 把主程序挂启,(这个函数害得 其他调试器没有办法 加载主程序),建立一各线程函数 (调用readfile 和writefile 管道,与主程序进行通信,但是不知道具体内容)
然后用WaitForDebugEvent和ContinueDebugEvent开始调试进入一个循环中,循环过程中 多次调用read
ReadProcessMemory和writeProcessMemory,好像是改写输入表 写入大量"cc",经过n次循环 好像就只剩下 线程函数工作了.
1)遇到这样的程序 怎么脱壳?
不脱壳 把他的反调试 去掉 也可以,有办法吗?
2)临时这样的线程函数怎么调试?,要保证调试线程函数的同时 下面的 程序还在执行.
3) 怎么监视管道内传输的内容?
对付这样的程序 还有别的办法吗?
能力值:
( LV2,RANK:10 )
38 楼
最初由 aaa2520 发布 主程序 生成一个 10k左右的临时文件 cks*.tmp 这个文件的内容来自 CRP32001.NGN 然后 主程序 创建两个 匿名pipe 接着 主程序 把 自己进程的id 还有刚才创建的两个管道 还有 主程序自己的 一个内存地址,完整的文件名,都以参数的形式传给了刚才创建的cks*.tmp 并用createtprocess 启动这个临时文件, 主程序又开始读写管道/等待. ........
分析的不错,应该是这样,请q3 watcher大侠给予支持; 本贴如有违规请版主删掉,我们只是非常想学习.还请大家支持.
能力值:
( LV2,RANK:10 )
39 楼
能力值:
( LV4,RANK:50 )
40 楼
to q3 watcher
那能说说 安装密码怎么找到的吗?
能力值:
( LV2,RANK:10 )
41 楼
能力值:
( LV2,RANK:10 )
42 楼
安装密码是别人给的,OEP直接标在程序里,OD不能直接调试,所以调试子进程.
能力值:
( LV4,RANK:50 )
43 楼
谁能说说怎么找到的安装密码?
能力值:
( LV2,RANK:10 )
44 楼
最初由 q3 watcher 发布 安装密码是别人给的,OEP直接标在程序里,OD不能直接调试,所以调试子进程.
子进程调试如何实现,如果直接启动cki的话,子进程就完全运行啦,此时可以用OD附加子进程,但是此时的子进程是不是已经完成了初始化的操作?是不是应该这样先用OD载入CKI等到OEP:000C6C6A处DUMP出程序,然后关闭OD中的CKI,直接从windows中启动CKI,用OD附加子进程CKIXXX.tmp,然后调试,但是这样的话,无法将子进程断在入口处,请指点一下应如何操作,谢谢。
能力值:
( LV2,RANK:10 )
45 楼
----------------------------------------------------------------------
至于它的脱壳,作弊的办法是先在到OEP处DUMP一下,然后运行,把所有功能狂点一遍,让程序把需要用到的代码都写回来,再DUMP一次,拿来替换原来的代码段.当然这样不够完美,要完美就去分析一下子进程,其他的资料可以参考一下旧版穿山甲的相关资料.
----------------------------------------------------------------------
这个方法不错,学习了
能力值:
( LV2,RANK:10 )
46 楼
苦学多日,无进展,可否请 q3 watcher大侠帮忙做个教程.非常感谢.非常非常想学习次种方法,怎奈功力有限,实在没有更好的方法,大侠可否出手相助?谢谢.