小编Ben*_*eny的帖子

如何在Delphi EXE中隐藏或隐藏字符串?

我目前正在Delphi中开发一个应用程序,我必须在源代码中隐藏(混淆)一个字符串str := 'Example String'.
为什么?因为如果我在文本编辑器中打开EXE并搜索Example String我会在第二个中找到该字符串...

我尝试使用基本的HEX转录,#$65#$78#$61#$6d#$70#$6c#$65但它在编译时被清楚地重新转录.
我找了包装工,但这不是最好的解决方案(PECompact可以被检测为误报恶意软件,UPX太容易de-UPX,......).我希望在我的内部代码中有一个想法......

有人会让我走上正确的道路.

delphi string obfuscation

14
推荐指数
1
解决办法
6356
查看次数

禁用WKWebView上的双击滚动

我有一个自定义键盘,带有宽度和高度的WKWebView.我已经禁用了滚动浏览器wkWebView!.scrollView.scrollEnabled = false但是我仍然在WKWebView底部双击时有一个奇怪的滚动行为.这里是我尝试加载的简单网页的源代码:http://is.gd/gt8h2q(非常简单,只是带有背景绿色和一行文本的div全屏).下面是GIF的解释.以下是我创建WKWebView的方法:

class KeyboardViewController: UIInputViewController, WKScriptMessageHandler {
var wkWebView: WKWebView?

override func loadView() {
    super.loadView()

    let contentController = WKUserContentController()
    contentController.addScriptMessageHandler(self, name:"callbackTestOne")

    let config = WKWebViewConfiguration()
    config.userContentController = contentController

    self.wkWebView = WKWebView(frame:self.view.frame, configuration:config)
    self.view = self.wkWebView!
}

override func viewDidLoad() {
    super.viewDidLoad()

    (...)

    wkWebView!.scrollView.bounces = false
    wkWebView!.scrollView.scrollEnabled = false
    wkWebView!.scrollView.backgroundColor = UIColor(red:248, green:248, blue:248, alpha:1)
    wkWebView!.scrollView.opaque = true
    wkWebView!.scrollView.showsHorizontalScrollIndicator = false
    wkWebView!.scrollView.showsVerticalScrollIndicator = false
    wkWebView!.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal
}

(...)
Run Code Online (Sandbox Code Playgroud)

GIF解释

scroll double-click swift wkwebview wkwebviewconfiguration

8
推荐指数
3
解决办法
3176
查看次数

CodeSigning仅使用Windows的IPA文件

对于未来的项目,我需要了解Apple iOS IPA文件(iPhone/iPad)的协同处理过程是如何工作的.我的项目的目标是构建(在Delphi中)一个Windows工具来编码一个IPA文件(之前通过XCode 编译为" 不代码签名 ").

可以肯定的是,只能在Windows上对IPA文件进行编码; 就像Adobe使用AIR/Flash CS5一样.此外,Epic Games,Inc.使用第三方工具构建了UDK(虚幻开发工具包),用于协调IPA文件.

最后一个是用C#/ .NET编写的,所以我试着探索源代码来了解代码签名过程是如何工作的,但是,哇,代码是相当进化的,即使C#/ .NET和Delphi之间有很大的相似之处,我很快就模糊了......

UDK的iPhonePackager非常接近我想做的事情(功能较少).

根据我的研究:证书和密钥可以通过命令行中的OpenSSL"生成"; Apple使用X509证书对二进制文件进行编码(?); 像Bouncy Castle Crypto API 这样的组件可用于管理证书.

关于苹果的代码签名过程中的一个有趣的文章:http://developer.apple.com/library/mac/#technotes/tn2206/_index.html

我还要生成" CodeResources "; 来自Mobile Provisioning文件的" embedded.mobileprovision "; 和" CodeSignature/CodeResources "具有所有文件的层次结构,如:

<key>MainWindow.nib</key>
<data>GTBfZPINlJlD7HXjMRAKgfAztXU=</data>
Run Code Online (Sandbox Code Playgroud)

如果你读到目前为止,你肯定会头疼:)
所以,下面几个问题开始...

是否可以重新签名已编译并使用" 不代码签名 " 签名的二进制文件?
你认为我的项目真的很难......?
您认为雇用开发人员会更好吗?我可以为这个项目预算,但理想情况下我当然希望自己做...:D

非常感谢您提出建议和/或建议.

贝尼

delphi openssl code-signing x509 ios

7
推荐指数
1
解决办法
8162
查看次数

如何通过JavaScript/jQuery(或PHP)检测iPhone 6和6 Plus?

有没有办法通过JavaScript或PHP检测iPhone 6和6 Plus?我需要一个if elsejQuery 条件的布尔值.它适用于Safari(或UIWebView)中的Web应用程序.我试图检测屏幕分辨率,但由于元视口或像素比例(我真的不知道),iPhone 5,iPhone 6和6 Plus的输出值相同.提前致谢 !

javascript iphone jquery viewport ios

5
推荐指数
1
解决办法
5101
查看次数

如何从列表框中快速删除重复项?

我希望从大型TListBox中删除重复的项目.为此,我使用了一种经典的简单方法.它有效,但需要19分钟.我读了很多,显然我应该使用TFileStream(?).但我不知道怎么做.

我的经典方法是这样的:

procedure NoDup(AListBox : TListBox);
var
  i : integer;
begin
  with AListBox do
  for i := Items.Count - 1 downto 0 do
  begin
    if Items.IndexOf(Items[i]) < i then
    Items.Delete(i);
    Application.ProcessMessages;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

我怎样才能提高速度?

delphi listbox duplicates

4
推荐指数
1
解决办法
3504
查看次数

iPhone应用程序中不同声音之间的延迟

我正在尝试制作一个带有一些按钮的小型iPhone应用程序来播放WAV声音.我的按钮工作,但我有一个小延迟(~0.5秒).

这是我的.m文件:

#import "buttonSoundViewController.h"

@implementation buttonSoundViewController
//@synthesize player;

-(IBAction) playSoundA:(id)sender{
    NSString *path = [[NSBundle mainBundle] pathForResource:@"a" ofType:@"wav"];
    AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];
}

-(IBAction) playSoundB:(id)sender{
    NSString *path = [[NSBundle mainBundle] pathForResource:@"b" ofType:@"wav"];
    AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];
}

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag {
    [player release];
}

-(void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error {
}

-(void)audioPlayerBeginInterruption:(AVAudioPlayer *)player {
}

-(void)audioPlayerEndInterruption:(AVAudioPlayer *)player {
}

- (void)didReceiveMemoryWarning {
    [super …
Run Code Online (Sandbox Code Playgroud)

iphone audio cocoa-touch latency objective-c

3
推荐指数
1
解决办法
2693
查看次数

停止Delphi Indy线程而不必等待超时Timeout

这是我第一次使用Delphi处理多线程应用程序,所以对我来说仍然很好,但我读了很多.

我的线程很简单,简而言之我只是使用Indy(IdHTTP)来获取网页的内容,然后我验证内容是否包含字符串.这里没问题.

现在,为了终止线程,我使用带有WHILE DO的布尔值.它似乎有效但问题就在于:就像我在Indy中使用Timeout一样,有时我必须等待线程结束前的超时时间结束(例如服务器没有响应时)...

这很烦人,特别是当我使用+200线程时.使用其他软件使用多线程和类似的程序,当我点击"停止"时,所有都在几秒钟内停止,这就是我需要的.

我读到我应该使用AntiFreeze,以允许IdHTTP"阅读我的指示"......

所以,我在这里有点迷失.我不认为这是非常必要的,但这是我的代码:http://pastebin.com/G7De8bgb

在此先感谢灯光:)

贝尼

delphi multithreading indy

3
推荐指数
1
解决办法
4391
查看次数

谁能帮我把这个小PHP代码转换成Delphi?

大家好,

我在PHP中有一个小代码,我想在Delphi中转换,我有一些麻烦......
这是PHP代码:

$from = "121.198.0.0";
$to = "121.198.255.255";
$arry1 = explode(".", $from);
$arry2 = explode(".", $to);
$a1    = $arry1[0];
$b1    = $arry1[1];
$c1    = $arry1[2];
$d1    = $arry1[3];
$a2    = $arry2[0];
$b2    = $arry2[1];
$c2    = $arry2[2];
$d2    = $arry2[3];
while ($d2 >= $d1 || $c2 > $c1 || $b2 > $b1 || $a2 > $a1) {
    if ($d1 > 255) {
        $d1 = 1;
        $c1++;
    }
    if ($c1 > 255) {
        $c1 = 1;
        $b1++;
    }
    if ($b1 …
Run Code Online (Sandbox Code Playgroud)

php delphi

2
推荐指数
1
解决办法
800
查看次数

如何在Delphi中将一个StringList拆分为两个字符串列表?

我正在尝试将一个StringList内容分成多个部分(在Delphi中)...
听起来很简单,但我被愚蠢地阻止:o

例如,StringList包含1001行,我想将内容拆分为2个StringLists.因此,一个将有500行,另一个将有501行.
无论第一个是501还是第二个500,反之亦然.

如果有人能以正确的方式推动我......
提前致谢!

贝尼

delphi split listbox

2
推荐指数
1
解决办法
918
查看次数