我有一个Windows exe应用程序,用于以清除方式将数据包发送到服务器.这个应用程序(让我们称之为客户端应用程序)绝对是源代码,但一些聪明的黑客十六进制编辑二进制文件,并使其发送被扰乱的数据包.
现在,显然,这些数据包是以可解密的方式进行加扰(否则服务器将无法理解它),但我想要做的是编写一个模拟这个二进制应用程序的模拟器,将相同的数据包发送到服务器,并能够解密响应(如果它被扰乱).
十六进制客户端需要额外的dll才能运行,而旧客户端则没有.我假设以某种方式十六进制客户端设法加载该DLL(让我们称之为client.dll)和该DLL的功能是实现加扰/解扰,通过挂钩到一些窗口api重新路由从发送的所有数据包client.exe进程.
如果有人能指导我如何开始研究这一切是如何工作的,以及我如何对这些报道进行逆向工程,那将非常感激.
我不知道提供什么样的信息,但如果有任何缺陷,只需回复,我会发布更多细节,如果有人想要二进制文件,我很乐意提供它.
任何感兴趣的人的二进制下载:
http://dl.getdropbox.com/u/46623/client.dll
http://dl.getdropbox.com/u/46623/newClient.exe
http://dl.getdropbox.com/u/46623/originalClient.exe
这些不会运行,因为资源文件是必需的 - 它们大约是3演出,因此太大而无法上传到任何地方.名称已更改为保护guilty =),但这可能不保护DLL的名称...
我想使用一个SaveProp写在包中的Java文件user.类文件已放入WEBINF/classes.以下是导致问题的两行.
jsp:useBean id="user" class="user.SaveProp" scope="session"
jsp:setProperty name="user" property="*"
Run Code Online (Sandbox Code Playgroud)
它抛出:
The value for the useBean class attribute user.SaveProp is invalid
Run Code Online (Sandbox Code Playgroud)
我正在使用Tomcat 6.0.
我已经构建并成功部署了ClickOnce应用程序.
应用程序在需要时成功更新,一切正常.
但是,我不喜欢这样的事实,因为互联网上的每个人都可以自由访问这些文件(即使他不是我的客户之一)
由于我只有少量客户端(大公司),我使用.htaccess文件限制了对我的客户端IP的访问,如下所示:
AddType application/x-ms-application application
AddType application/x-ms-manifest manifest
AddType application/octet-stream deploy
<LIMIT GET POST>
order deny,allow
deny from all
allow from 1.2.3.4
allow from 5.6.7.8
....
....
</LIMIT>
Run Code Online (Sandbox Code Playgroud)
遗憾的是,此解决方案不是自动化的,并且不适合移动用户.
你是如何处理这种情况的?
如果没有插入查询,我想在javascript中捕获异常.
我写了下面的代码:
var adoConn = new ActiveXObject("ADODB.Connection");
var adoRS = new ActiveXObject("ADODB.Recordset");
var rec = new ActiveXObject("ADODB.Record");
adoConn.Open="DRIVER={MySQL ODBC 3.51 Driver};SERVER=172.25.37.145;" + "DATABASE=confluence;UID=root;PASSWORD=somePassword;OPTION=3";
//Connectionstring
alert('Database Connected');
adoConn.Execute("insert into `session` (SessionId,Timestamp) values ('"+SessionId+"','"+SessionCurrenttime+"')");
Run Code Online (Sandbox Code Playgroud)
如果我获得相同的会话ID,则查询未执行,因为它是数据库中的主键.
使用XML而不是RDMS有缺点吗?我问这个的原因是因为我的数据更自然地由XML结构代表,而不是RDBMS.我最初想过将数据存储在关系数据库中,但是关系数据库缺乏处理树状数据结构的灵活性让我感到兴奋.所以我在考虑将数据存储在XML中.
我担心的一件事是性能损失.虽然RDBMS可以处理大型数据集,但我不确定是否可以对XML进行相同的说明.此外,数据库查询非常完善,并且相当容易使用和构建,XML查询呢?我不知道.
我正在做.Net应用程序.
我遇到了一些问题,有一些非常先进的单元测试(使用PowerMock进行模拟和JUnit 4.5).在没有详细介绍的情况下,测试类的第一个测试用例将始终成功,但同一测试类中的任何后续测试用例都会失败.但是,如果我选择仅运行10中的测试用例5,它将通过.所以所有测试都在单独运行时通过.有没有办法强制JUnit一次运行一个测试用例?我从一个蚂蚁脚本中调用JUnit.
我知道依赖测试用例的问题,但我无法确定为什么会这样.测试用例中没有保存的变量,因此@Before注释无需执行任何操作.这就是为什么我正在寻找一种紧急解决方案,比如强制JUnit单独运行测试.
我需要使用一些本机代码,我想尝试使用elisp作为脚本语言.是否可以调用在动态库中实现的本机函数(在Windows中为dll)?或者唯一可能的做法是实现本机代码,用DEFUN(...)宏包装并重新编译emacs?
你成功使用过Sinatra吗?它是一个什么样的项目?在什么情况下你会建议使用Sinatra而不是Rails或Merb?
这之间有什么不同吗:
dataContext.People.Select(ø => new
{
Name = ø.Name,
});
Run Code Online (Sandbox Code Playgroud)
还有这个:
dataContext.People.Select(ø => new
{
ø.Name,
});
Run Code Online (Sandbox Code Playgroud)
?
在我读完这篇文章后,这个问题在我脑海中 浮现:"常见的REST错误:会话无关紧要"
如果在RESTful应用程序中确实不鼓励会话.您将如何处理此类申请中的许可证.我特指的是并发许可证模型,而不是命名许可证.即客户购买X许可证,这意味着应用程序可以允许最多X个用户同时登录.这意味着应用程序必须为当前登录的用户保持状态.
我知道我可以创建一个名为licenses的资源,它将设置一个cookie或生成一个唯一的ID,然后客户端必须在每次请求时发送它.但它与创建会话相同,对吧?
如果我采用无状态方法并要求客户端为每个请求创建一个身份验证令牌,应用程序将如何知道何时为该客户端使用和释放许可证?
还有其他选择吗?特别是一个更RESTful的替代品?