|
想写一个loader,完成如下功能,请问有没有可以参考的源码?
这样做麻烦一点,当然也是可以的,但是如果有特殊要求如运行后中断在入口点上就不行了. 另外FindWindow只能得到窗口句柄,要得到进程句柄还得用GetWindowThreadProcessId得到进程ID然后用OpenProcess函数打开进程得到进程句柄 |
|
写给软件开发者的几条思路
基本同意,不过对于第3点有些疑问,试想要是一个软件要是升级很快的话会让一些人觉得烦,也会给人一个"该软件问题太多,所以频繁升级"的误解. 另外对于第5点,大家可能各有各的看法 |
|
问个Win32编程的问题?
大有人在啊,用汇编的都有,还愁没有用C的? |
|
|
|
请教一个关于访问静态变量的问题
本人认为这样做是一种比较危险的做法 |
|
帮忙看看这段代码~~什么意思,
就你给出的来看,这基本上是两段代码,上面的一半(到jmp xxxx为止)中止一个线程,退出码为0,线程句柄存放在004B7DECh中.下面一半是恢复一个线程的运行.可能的语句形式为: if (xxxx) { //..... f(x); TermimateThread(hThread,0x0); } else { ResumeThread(hThread); g(y,z); //...... } 其余几个call的作用不明 |
|
想写一个loader,完成如下功能,请问有没有可以参考的源码?
这样做就是专门对付加壳程序的,否则直接修改磁盘文件就可以了 |
|
想写一个loader,完成如下功能,请问有没有可以参考的源码?
第2点非常简单, 首先使用CreateProcess创建被修改程序的进程并得到句柄,然后就可以用ReadProcessMemory和WriteProcessMemory来读写进程的地址空间了,注意权限 |
|
[求助]如何通过编程取得CMOS的密码?
修改IO许可位图还是要获得Ring0权限的-_-因为要调用几个ntoskrnl.exe中未公开的函数,这还不如直接在驱动中用IO指令方便. 一般是写一个驱动,在驱动中调用 Ke386QueryIoAccessMap Ke386SetIoAccessMap Ke386IoSetAccessProcess 这三个函数 另外10楼也提到了KmdTut,在这个教程的第2章有个giveio的例子,就是用这这种方法来实现Ring3直接读写CMOS来获取系统时间的 总之获得Ring0权限最容易也是最自然的方法是写驱动 |
|
[求助]如何通过编程取得CMOS的密码?
其实只要修改了IO许可位图,在Ring3下一样可以执行IN/OUT指令,就象在Win9x系统下一样 |
|
今年南大硕士研究生入学考试计算机专业课第一题
越说越怪异了 1.f( ) 和 g( ) 会改变 a 的值 2.重载了"+"号 这两个答案还算合理 3.重载了"()"的时候 钻牛角尖... 4.f(a),g(a)不满足交换律的时候 无语ing... 再看下面三个: 5.题目中的C++不是标准C++的时候 6.当你的电脑出了问题的时候 7.当你看花眼的时候 吐血ing...纯恶搞了 |
|
|
|
[求助]如何通过编程取得CMOS的密码?
方法1(常规方法):编写驱动程序就可以执行特权指令了 方法2:http://www.pcvc.net/category/content.asp?sendid=139 |
|
今年南大硕士研究生入学考试计算机专业课第一题
楼上的正解,还有一种情况是重载了"+"号的时候 |
|
[求助]如何通过编程取得CMOS的密码?
写一个驱动程序不就没事啦 |
|
在程序中生成exe文件(献给新手)
原理应该是使用自定义资源吧 在MASM或者是C++中可以这么弄: 在资源文件中: #define EXEFILE 10000 #define ID_MYRES 10 //两个数值随便,只要不和已经定义的冲突就可以了 ID_MYRES EXEFILE "oneexe.exe"//你的文件名 如果是MASM,在汇编代码中: EXEFILE EQU 10000 ID_MYRES EQU 10 ;...其他代码 invoke FindResource,hInstance,ID_MYRES,EXEFILE .if eax mov hRes,eax invoke SizeofResource,hInstance,eax;获得资源大小 mov dwSize,eax invoke LoadResource,hInstance,hRes .if eax invoke LockResource,eax .if eax mov lpRes,eax ;现在lpRes指向资源,dwSize是资源长度,然后只要 ;把资源内容写入文件就可以了 ;CreateFile+WriteFile+CloseHandle就可以搞定 .endif .endif .endif VC++也类似,各位自己去做吧 |
|
求助!到哪里能学到逆向分析方面的东西啊!
我觉得如果要学好破解,应当先学好以下东西: 1.计算机基本体系结构 2.在1的基础上学好一种汇编语言(主要是Intel x86 CPU的),以及一门高级语言(如C,C++) 3.在2的基础上学习一种平台的API编程(主要是指Windows平台上的API编程以及驱动程序编写) 4.在3的基础上深入学习一种平台(例如看看Undocumented Windows NT) 5.学习破解吧,逆向工程也可以,两者是密不可分的.汇编语言和平台的API是关键的关键,只有学习好这两个东西才能在破解的学习中少走弯路 |
|
|
|
[讨论]关于在控制台程序中WriteFile的两种调用格式引起的问题
汇编里的标号相当于C/C++里的标识符,回想一下在C/C++里,所有的标识符都是地址指针吗? MASM的标号分为数据标号(如a dd 5 中的a.和代码标号(如函数名以及程序中的地址标号等),对于程序中引用的数据标号,MASM默认转换为标号所在地址的内容,如 a dd 5 mov eax,a 会在eax中装入5,和 mov eax,[a] 的作用相同 另外, mov eax,a+1 等价于 mov eax,[a+1] 而对于程序中的代码标号,MASM则默认将其转换为地址 如 _Test: mov eax,_Test 会将_Test的地址传给eax 注意mov eax,[_Test]和 mov eax,_Test作用相同 实际上,所有的标号确实是地址,但是编译器在处理标号时针对不同类型的标号作了不同的处理 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值